[Bug tree-optimization/19917] [4.0 regression] Weak const function mishandled inside loop

pinskia at gcc dot gnu dot org gcc-bugzilla@gcc.gnu.org
Sat Feb 12 15:35:00 GMT 2005


------- Additional Comments From pinskia at gcc dot gnu dot org  2005-02-12 00:53 -------
This is related to PR 19828 but note constant functions are are required not to read memory.  We are 
getting to a point where we have to defined what it means to be both const and weak which seems like 
a werid combination.  Really const means that I can pull the function out of the loop but weak means 
that it might not be defined, now what is this function. Really in my mind this is undefined and glibc 
should be fixed in that way as __pthread_internal_tsd_address is not really const because it reads 
memory.

Note at -O3 we get it "right" because we unswitch the loop.

Now using pure instead of const gets us into PR 19828.

-- 


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



More information about the Gcc-bugs mailing list