Author: johannes Date: Wed Jan 23 18:34:12 2008 New Revision: 46293 URL: http://llvm.org/viewvc/llvm-project?rev=46293&view=rev Log: Make sure initializers for OBJC_PROTOCOLs don't get lost at -O0.
Modified: llvm-gcc-4.2/trunk/gcc/objc/objc-act.c Modified: llvm-gcc-4.2/trunk/gcc/objc/objc-act.c URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/objc/objc-act.c?rev=46293&r1=46292&r2=46293&view=diff ============================================================================== --- llvm-gcc-4.2/trunk/gcc/objc/objc-act.c (original) +++ llvm-gcc-4.2/trunk/gcc/objc/objc-act.c Wed Jan 23 18:34:12 2008 @@ -9342,8 +9342,11 @@ /* Force 4 byte alignment for protocols */ DECL_ALIGN(decl) = 32; DECL_USER_ALIGN(decl) = 1; - /* LLVM LOCAL end */ finish_var_decl (decl, initlist); + /* At -O0, we may have emitted references to the decl earlier. */ + if (!optimize) + reset_initializer_llvm(decl); + /* LLVM LOCAL end */ } } @@ -13638,6 +13641,11 @@ proto_name = synth_id_with_class_suffix ("_OBJC_PROTOCOL", p); decl = start_var_decl (objc_protocol_template, proto_name); + /* LLVM LOCAL begin */ + /* Force 4 byte alignment for protocols */ + DECL_ALIGN(decl) = 32; + DECL_USER_ALIGN(decl) = 1; + /* LLVM LOCAL end */ PROTOCOL_FORWARD_DECL (p) = decl; } _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits