This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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)


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]