From bacb3196677c7fea8c9fd6763661bf2f1e24196a Mon Sep 17 00:00:00 2001 From: geoffk Date: Tue, 15 May 2001 19:54:53 +0000 Subject: [PATCH] * objc/objc-act.c (handle_class_ref): Use rest_of_decl_compilation so that CHOOSE_SECTION gets used. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@42114 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 3 +++ gcc/objc/objc-act.c | 20 ++++++++------------ 2 files changed, 11 insertions(+), 12 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 0189949..0ac1f3d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,8 @@ 2001-05-15 Geoffrey Keating + * objc/objc-act.c (handle_class_ref): Use rest_of_decl_compilation + so that CHOOSE_SECTION gets used. + * config/rs6000/sysv4.h (ASM_PREFERRED_EH_DATA_FORMAT): Treat TARGET_RELOCATABLE like flag_pic for now. diff --git a/gcc/objc/objc-act.c b/gcc/objc/objc-act.c index 5936e2e..b6ea821 100644 --- a/gcc/objc/objc-act.c +++ b/gcc/objc/objc-act.c @@ -8438,20 +8438,16 @@ handle_class_ref (chain) pushdecl (decl); rest_of_decl_compilation (decl, 0, 0, 0); - /* Make following constant read-only, but only for GNU runtime. */ - if (!flag_next_runtime) - readonly_data_section (); - + /* Make a decl for the address. */ + sprintf (string, "%sobjc_class_ref_%s", + (flag_next_runtime ? "." : "__"), name); exp = build1 (ADDR_EXPR, string_type_node, decl); + decl = build_decl (VAR_DECL, get_identifier (string), string_type_node); + DECL_INITIAL (decl) = exp; + TREE_STATIC (decl) = 1; - /* Align the section properly. */ - assemble_constant_align (exp); - - /* Inform the assembler about this new external thing. */ - assemble_external (decl); - - /* Output a constant to reference this address. */ - output_constant (exp, int_size_in_bytes (string_type_node)); + pushdecl (decl); + rest_of_decl_compilation (decl, 0, 0, 0); } static void -- 2.7.4