Author: void Date: Thu Jan 3 13:31:37 2008 New Revision: 45544 URL: http://llvm.org/viewvc/llvm-project?rev=45544&view=rev Log: We need to set the decl assembler name for this newly created variable, or else it will be treated as a local and then bad things will happen.
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=45544&r1=45543&r2=45544&view=diff ============================================================================== --- llvm-gcc-4.2/trunk/gcc/objc/objc-act.c (original) +++ llvm-gcc-4.2/trunk/gcc/objc/objc-act.c Thu Jan 3 13:31:37 2008 @@ -6089,15 +6089,25 @@ decl = build_objc_string_decl (section); type = build_array_type - (char_type_node, - build_index_type - (build_int_cst (NULL_TREE, - IDENTIFIER_LENGTH (ident)))); + (char_type_node, + build_index_type + (build_int_cst (NULL_TREE, + IDENTIFIER_LENGTH (ident)))); decl = start_var_decl (type, IDENTIFIER_POINTER (DECL_NAME (decl))); string_expr = my_build_string (IDENTIFIER_LENGTH (ident) + 1, - IDENTIFIER_POINTER (ident)); + IDENTIFIER_POINTER (ident)); finish_var_decl (decl, string_expr); + /* LLVM LOCAL begin */ +#ifdef ENABLE_LLVM + /* This decl's name is special, it uses 'L' as a prefix. Ask llvm to not + add leading underscore by setting it as a user supplied asm name. */ + set_user_assembler_name (decl, IDENTIFIER_POINTER (DECL_NAME (decl))); + /* Let optimizer know that this decl is not removable. */ + DECL_PRESERVE_P (decl) = 1; +#endif + /* LLVM LOCAL end */ + hsh = hash_ident_enter (hash_table, ident); hash_add_attr (hsh, decl); *chain = tree_cons (decl, ident, *chain); _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits