This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [patch] Allocate identifier node for user-specified assembler
- From: "John David Anglin" <dave at hiauly1 dot hia dot nrc dot ca>
- To: geoffk at geoffk dot org (Geoffrey Keating)
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Tue, 1 Mar 2005 15:33:43 -0500 (EST)
- Subject: Re: [patch] Allocate identifier node for user-specified assembler
> > In debugging the problems associated with Bug c++/19797, I found that
> > we fail to create an identifier node for the real, unstarred, name of
> > a user-specified assembler name. As a result, a call to assemble_name
> > doesn't mark the real name as referenced. The HP linker is very picky
> > in requiring that all external functions be imported (typed). We need
> > all external references marked when used to fix the above PR correctly.
> >
> > I'm not quite sure if this is the best place to create the identifier
> > node but it's where the node for the starred name is created.
> >
> > Tested on i686-pc-linux-gnu, hppa2.0w-hp-hpux11.11, hppa64-hp-hpux11.11
> > and hppa-unknown-linux-gnu with no regressions.
> >
> > Ok for 4.0 and 4.1 branches?
>
> It would be better if you could instead avoid relying on this kind of
> use of identifiers. These uses are a significant performance impact
> on GCC and the ability to do them will go away in the future.
Are you suggesting that it would be better to do any necessary
tracking of referenced symbols in the backend? In the PA case, we only
need to do this for externals and the number usually isn't that large.
Dave
--
J. David Anglin dave.anglin@nrc-cnrc.gc.ca
National Research Council of Canada (613) 990-0752 (FAX: 952-6602)