This is the mail archive of the gcc@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: glibc broken with 3.4...


> On Sun, Sep 07, 2003 at 10:38:21PM +0200, Jan Hubicka wrote:
> > This is what is done in glibc.  This would be acceptable, but __typeof
> > (__isinf) counts as used so error fires.
> 
> Ug.  I've no idea what to do about this, except to somehow note that
> sizeof, typeof, alignof doesn't actually use the assembler level symbol
> at all.  That's pretty sketchy though, cause I'm sure that folks will
> say the same thinga bout __builtin_constant_p or anything else that
> doesn't really depend on some bits of metadata associated with a symbol.

One can do test whether cgraph node has been already created.  That
notion of use is extremly lazy and will avoid the problem with updating
hashtables, however it is very implementation specific and will likely
change in future so I am not sure it is good choice.

It also still haves problem with difining body of extern inline function
being an "use" (or use in different extern inline function) and that is
precisely what glibc does.

Perhaps we can go with updating the hashtables and allowing the renaming
after all, but that is nasty as well... (tought I think I got it working
right on hammer branch)

Honza
> 
> For C++ I'm sure that it still needs to be a "use" of some sort, since
> it'll require templates to be instantiated, etc.
> 
> 
> r~


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