Author: void Date: Tue Jan 8 00:08:04 2008 New Revision: 45741 URL: http://llvm.org/viewvc/llvm-project?rev=45741&view=rev Log: Make the metaclass and some other metadata variables local instead of global.
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=45741&r1=45740&r2=45741&view=diff ============================================================================== --- llvm-gcc-4.2/trunk/gcc/objc/objc-act.c (original) +++ llvm-gcc-4.2/trunk/gcc/objc/objc-act.c Tue Jan 8 00:08:04 2008 @@ -9925,12 +9925,24 @@ /* struct class_t OBJC_CLASS_$_<my_name>; */ UOBJC_V2_CLASS_decl = build_metadata_decl ("OBJC_CLASS_$", /* APPLE LOCAL radar 5202926 */ + /* APPLE LOCAL begin radar 5658734 */ +#ifndef ENABLE_LLVM objc_v2_class_template, true); +#else + objc_v2_class_template, false); +#endif + /* APPLE LOCAL end radar 5658734 */ /* struct class_t OBJC_METACLASS_$_<my_name>; */ UOBJC_V2_METACLASS_decl = build_metadata_decl ("OBJC_METACLASS_$", /* APPLE LOCAL radar 5202926 */ + /* APPLE LOCAL begin radar 5658734 */ +#ifndef ENABLE_LLVM objc_v2_class_template, true); +#else + objc_v2_class_template, false); +#endif + /* APPLE LOCAL end radar 5658734 */ } static void @@ -12034,7 +12046,16 @@ sav = objc_implementation_context; objc_implementation_context = my_root_int; /* APPLE LOCAL radar 5202926 */ - root_expr = build_metadata_decl ("OBJC_METACLASS_$", objc_v2_class_template, true); + /* APPLE LOCAL begin radar 5658734 */ +#ifndef ENABLE_LLVM + root_expr = build_metadata_decl ("OBJC_METACLASS_$", objc_v2_class_template, + true); +#else + root_expr = build_metadata_decl ("OBJC_METACLASS_$", objc_v2_class_template, + false); +#endif + root_expr = update_var_decl (root_expr); + /* APPLE LOCAL end radar 5658734 */ root_expr = build_fold_addr_expr (root_expr); /* Install class `isa' and `super' pointers at runtime. */ @@ -12045,10 +12066,32 @@ back-end, recognizes '_OBJC_' prefix and prepends an 'L' in front of this. Darwin assembler treats names starting with 'L_' as local symbols. */ /* APPLE LOCAL radar 5202926 */ - class_superclass_expr = build_metadata_decl ("OBJC_CLASS_$", objc_v2_class_template, true); + /* APPLE LOCAL begin radar 5658734 */ +#ifndef ENABLE_LLVM + class_superclass_expr = build_metadata_decl ("OBJC_CLASS_$", + objc_v2_class_template, + true); +#else + class_superclass_expr = build_metadata_decl ("OBJC_CLASS_$", + objc_v2_class_template, + false); +#endif + class_superclass_expr = update_var_decl (class_superclass_expr); + /* APPLE LOCAL end radar 5658734 */ class_superclass_expr = build_fold_addr_expr (class_superclass_expr); /* APPLE LOCAL radar 5202926 */ - metaclass_superclass_expr = build_metadata_decl ("OBJC_METACLASS_$", objc_v2_class_template, true); + /* APPLE LOCAL begin radar 5658734 */ +#ifndef ENABLE_LLVM + metaclass_superclass_expr = build_metadata_decl ("OBJC_METACLASS_$", + objc_v2_class_template, + true); +#else + metaclass_superclass_expr = build_metadata_decl ("OBJC_METACLASS_$", + objc_v2_class_template, + false); +#endif + metaclass_superclass_expr = update_var_decl (metaclass_superclass_expr); + /* APPLE LOCAL end radar 5658734 */ metaclass_superclass_expr = build_fold_addr_expr (metaclass_superclass_expr); objc_implementation_context = sav; } _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits