diff options
author | Doug Evans <dje@gnu.org> | 1996-05-24 16:27:46 +0000 |
---|---|---|
committer | Doug Evans <dje@gnu.org> | 1996-05-24 16:27:46 +0000 |
commit | 91fddd7c9f3c7faaac55caa3ea329bfde10b225e (patch) | |
tree | dc9270d29bd798b757f05bc03303ac956f9989c3 | |
parent | 88306d12bb3131654511eb2e369626dd2e9d1a70 (diff) | |
download | gcc-91fddd7c9f3c7faaac55caa3ea329bfde10b225e.zip gcc-91fddd7c9f3c7faaac55caa3ea329bfde10b225e.tar.gz gcc-91fddd7c9f3c7faaac55caa3ea329bfde10b225e.tar.bz2 |
varasm.c (asm_output_bss): New argument DECL.
* varasm.c (asm_output_bss): New argument DECL.
Use ASM_DECLARE_OBJECT_NAME if defined.
(asm_output_aligned_bss): Likewise.
(assemble_variable): Pass DECL to ASM_OUTPUT{,_ALIGNED}_BSS.
From-SVN: r12087
-rw-r--r-- | gcc/varasm.c | 24 |
1 files changed, 19 insertions, 5 deletions
diff --git a/gcc/varasm.c b/gcc/varasm.c index 11bab79..5702646 100644 --- a/gcc/varasm.c +++ b/gcc/varasm.c @@ -305,14 +305,21 @@ bss_section (decl, name) support is localized here. */ static void -asm_output_bss (file, name, size, rounded) +asm_output_bss (file, decl, name, size, rounded) FILE *file; + tree decl; char *name; int size, rounded; { ASM_GLOBALIZE_LABEL (file, name); bss_section (); +#ifdef ASM_DECLARE_OBJECT_NAME + last_assemble_variable_decl = decl; + ASM_DECLARE_OBJECT_NAME (file, name, decl); +#else + /* Standard thing is just output label for the object. */ ASM_OUTPUT_LABEL (file, name); +#endif /* ASM_DECLARE_OBJECT_NAME */ ASM_OUTPUT_SKIP (file, rounded); } @@ -326,15 +333,22 @@ asm_output_bss (file, name, size, rounded) support is localized here. */ static void -asm_output_aligned_bss (file, name, size, align) +asm_output_aligned_bss (file, decl, name, size, align) FILE *file; + tree decl; char *name; int size, align; { ASM_GLOBALIZE_LABEL (file, name); bss_section (); ASM_OUTPUT_ALIGN (file, floor_log2 (align / BITS_PER_UNIT)); +#ifdef ASM_DECLARE_OBJECT_NAME + last_assemble_variable_decl = decl; + ASM_DECLARE_OBJECT_NAME (file, name, decl); +#else + /* Standard thing is just output label for the object. */ ASM_OUTPUT_LABEL (file, name); +#endif /* ASM_DECLARE_OBJECT_NAME */ ASM_OUTPUT_SKIP (file, size); } @@ -1304,7 +1318,7 @@ assemble_variable (decl, top_level, at_end, dont_output_data) { #ifdef ASM_OUTPUT_SHARED_BSS if (flag_shared_data) - ASM_OUTPUT_SHARED_BSS (asm_out_file, name, size, rounded); + ASM_OUTPUT_SHARED_BSS (asm_out_file, decl, name, size, rounded); else #endif if (output_bytecode) @@ -1314,10 +1328,10 @@ assemble_variable (decl, top_level, at_end, dont_output_data) else { #ifdef ASM_OUTPUT_ALIGNED_BSS - ASM_OUTPUT_ALIGNED_BSS (asm_out_file, name, size, + ASM_OUTPUT_ALIGNED_BSS (asm_out_file, decl, name, size, DECL_ALIGN (decl)); #else - ASM_OUTPUT_BSS (asm_out_file, name, size, rounded); + ASM_OUTPUT_BSS (asm_out_file, decl, name, size, rounded); #endif } } |