public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
From: "steven at gcc dot gnu dot org" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug middle-end/17982] stop calling assemble_external before final assembly output time
Date: Mon, 09 Aug 2010 21:13:00 -0000	[thread overview]
Message-ID: <20100809211310.13816.qmail@sourceware.org> (raw)
In-Reply-To: <bug-17982-50@http.gcc.gnu.org/bugzilla/>



------- Comment #34 from steven at gcc dot gnu dot org  2010-08-09 21:13 -------
The FIXME here is this one in varasm.c:

-------------------------------
/* We delay assemble_external processing until
   the compilation unit is finalized.  This is the best we can do for
   right now (i.e. stage 3 of GCC 4.0) - the right thing is to delay
   it all the way to final.  See PR 17982 for further discussion.  */
static GTY(()) tree pending_assemble_externals;
-------------------------------

According to http://gcc.gnu.org/ml/gcc-patches/2004-12/msg00491.html:

The *proper* solution to this problem is to remove all calls to
assemble_external from the front ends and even the RTL expander; it
should only be done from final.c and varasm.c as we are emitting
assembly. 

$ grep assemble_external c* */*.[ch] ada/gcc-interface/*.[ch]
calls.c:          assemble_external (fndecl);
calls.c:  assemble_external_libcall (fun);
cp/cp-tree.h:   so that assemble_external will work properly.  So we have this
flag to
objc/objc-act.c:      assemble_external (objc_get_class_decl);
objc/objc-act.c:  assemble_external (func);
objc/objc-act.c:  assemble_external (objc_assign_global_decl);
objc/objc-act.c:  assemble_external (objc_assign_strong_cast_decl);
objc/objc-act.c:              assemble_external (super_class);

I think the ones in calls.c are OK.  So only ObjC still calls
assemble_external. Iain?


-- 

steven at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |iains at gcc dot gnu dot org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17982


  parent reply	other threads:[~2010-08-09 21:13 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <bug-17982-50@http.gcc.gnu.org/bugzilla/>
2006-12-12  3:59 ` hjl at gcc dot gnu dot org
2006-12-16  2:47 ` kazu at gcc dot gnu dot org
2008-11-24  4:33 ` hackbunny at reactos dot com
2008-11-24  4:34 ` hackbunny at reactos dot com
2008-11-24  6:42 ` dannysmith at users dot sourceforge dot net
2010-08-09 21:13 ` steven at gcc dot gnu dot org [this message]
2010-08-10 13:02 ` iains at gcc dot gnu dot org
2004-10-13 22:05 [Bug target/17982] New: [4.0 regression] asm declaration ignored due to conflict with previous rename schwab at suse dot de
2004-12-08 22:04 ` [Bug middle-end/17982] stop calling assemble_external before final assembly output time zack at gcc dot gnu dot org
2004-12-08 22:05 ` zack at gcc dot gnu dot org
2005-04-05  1:54 ` pinskia at gcc dot gnu dot org
2005-07-05  2:10 ` pinskia at gcc dot gnu dot org

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20100809211310.13816.qmail@sourceware.org \
    --to=gcc-bugzilla@gcc.gnu.org \
    --cc=gcc-bugs@gcc.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).