re PR middle-end/17982 (stop calling assemble_external before final assembly output...
authorZack Weinberg <zack@gcc.gnu.org>
Wed, 8 Dec 2004 19:13:35 +0000 (19:13 +0000)
committerZack Weinberg <zack@gcc.gnu.org>
Wed, 8 Dec 2004 19:13:35 +0000 (19:13 +0000)
commit857e7259c4c62c4ac7ccace2e44fdd73286bf194
treed6fa6db393ca0978490c8abd03a55eb4749830d9
parentb057216dba84bd26eeb749d876fde5b871e01e15
re PR middle-end/17982 (stop calling assemble_external before final assembly output time)

PR 17982
* varasm.c (pending_assemble_externals): New static.
(assemble_external_real): Meat of assemble_external split out
to this new function.
(process_pending_assemble_externals): New function.
(assemble_external): Use gcc_assert.  If flag_unit_at_a_time
is true and the basic test passes, merely cons the decl onto
the pending list to be handled later.
* tree.h: Declare process_pending_assemble_externals.
* cgraphunit.c (cgraph_optimize): Call it.

* config/h8300/h8300.h: Do not define ASM_OUTPUT_EXTERNAL.

From-SVN: r91914
gcc/ChangeLog
gcc/cgraphunit.c
gcc/config/h8300/h8300.h
gcc/tree.h
gcc/varasm.c