diff options
author | H.J. Lu <hongjiu.lu@intel.com> | 2006-12-12 03:58:52 +0000 |
---|---|---|
committer | H.J. Lu <hjl@gcc.gnu.org> | 2006-12-11 19:58:52 -0800 |
commit | c47c29c8964d7c80329574f4a3b9c70f2fa533b4 (patch) | |
tree | 39fa7bd559e89365079d4e0441db0929ccb97dd5 /gcc/output.h | |
parent | 864abd46caa11641fe0588e31d1e19135c29f476 (diff) | |
download | gcc-c47c29c8964d7c80329574f4a3b9c70f2fa533b4.zip gcc-c47c29c8964d7c80329574f4a3b9c70f2fa533b4.tar.gz gcc-c47c29c8964d7c80329574f4a3b9c70f2fa533b4.tar.bz2 |
re PR middle-end/17982 (stop calling assemble_external before final assembly output time)
2006-12-11 H.J. Lu <hongjiu.lu@intel.com>
PR middle-end/17982
PR middle-end/20218
* cgraphunit.c (cgraph_optimize): Remove call to
process_pending_assemble_externals.
* config/elfos.h (ASM_OUTPUT_EXTERNAL): New.
* config/ia64/hpux.h (TARGET_ASM_FILE_END): Removed.
* config/ia64/ia64.c (ia64_asm_output_external): Rewritten.
(ia64_hpux_add_extern_decl): Removed.
(ia64_hpux_file_end): Likewise.
(extern_func_list): Likewise.
(extern_func_head): Likewise.
* output.h (assemble_external): Update comments.
(default_elf_asm_output_external): New.
(maybe_assemble_visibility): New.
* toplev.c (compile_file): Update comment.
* varasm.c (assemble_external): Always put it on
pending_assemble_externals.
(maybe_assemble_visibility): Make it extern and return int.
(default_elf_asm_output_external): New.
From-SVN: r119764
Diffstat (limited to 'gcc/output.h')
-rw-r--r-- | gcc/output.h | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/gcc/output.h b/gcc/output.h index 3cfe32c..5f87cff 100644 --- a/gcc/output.h +++ b/gcc/output.h @@ -204,9 +204,9 @@ extern void assemble_variable (tree, int, int, int); DONT_OUTPUT_DATA is from assemble_variable. */ extern void align_variable (tree decl, bool dont_output_data); -/* Output something to declare an external symbol to the assembler. - (Most assemblers don't need this, so we normally output nothing.) - Do nothing if DECL is not external. */ +/* Queue for outputing something to declare an external symbol to the + assembler. (Most assemblers don't need this, so we normally output + nothing.) Do nothing if DECL is not external. */ extern void assemble_external (tree); /* Assemble code to leave SIZE bytes of zeros. */ @@ -619,6 +619,10 @@ extern void default_file_start (void); extern void file_end_indicate_exec_stack (void); extern bool default_valid_pointer_mode (enum machine_mode); +extern void default_elf_asm_output_external (FILE *file, tree, + const char *); +extern int maybe_assemble_visibility (tree); + extern int default_address_cost (rtx); /* dbxout helper functions */ |