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



--- Comment #2 from michael at talamasca dot ocis.net <michael at talamasca dot 
ocis.net> 2013-03-30 00:26:53 UTC ---

The bug itself seems to have been silently fixed in 4.7.2 or earlier, maybe. 

My testcase no longer causes cmov to be emitted, although this could be an

accidental side effect of other changes.



However, there is a related bug that is definitely still present.  I noticed

the first bug because GCC itself is also an example of code that triggers it. 

This means that modern versions of GCC may fail to bootstrap themselves from

older GCCs that have the original bug.



Fixing this second bug is fairly simple, changing the ifdef that controls SSE

use in libcpp/lex.c to require GCC_VERSION >= 4008 instead of 4005.  (The exact

value is not certain, but it must at least be 4007 since 4.6.0 is known to have

the bug.)



It would be a good idea to fix this in 4.7.3.  As the last version compilable

from C alone, it will be a likely intermediate stop for anyone trying to

bootstrap up from an ancient GCC installation.

Reply via email to