[Bug preprocessor/59782] libcpp does not avoid bug #48326 when compiled by older GCC

2022-04-09 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=59782

Andrew Pinski  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |WONTFIX

--- Comment #8 from Andrew Pinski  ---
This is a won't fix as GCC 12+ requires GCC 4.8.0+ to build which has the fix.

[Bug preprocessor/59782] libcpp does not avoid bug #48326 when compiled by older GCC

2021-09-01 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=59782

--- Comment #7 from Andrew Pinski  ---
#if (GCC_VERSION >= 4005) && (__GNUC__ >= 5 || !defined(__PIC__)) &&
(defined(__i386__) || defined(__x86_64__)) && !(defined(__sun__) &&
defined(__svr4__))

I don't know if this is not that important with the requirement of C++11
compiler  now.

[Bug preprocessor/59782] libcpp does not avoid bug #48326 when compiled by older GCC

2014-01-15 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59782

--- Comment #6 from Jakub Jelinek jakub at gcc dot gnu.org ---
Perhaps, but that is not sufficient, if you don't bootstrap the compiler, then
it will still be likely optimized build by the (system?) compiler.


[Bug preprocessor/59782] libcpp does not avoid bug #48326 when compiled by older GCC

2014-01-14 Thread pinskia at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59782

--- Comment #5 from Andrew Pinski pinskia at gcc dot gnu.org ---
Isn't it better to disable this code when not optimizing so that stage 1 is
never miscompiled?


[Bug preprocessor/59782] libcpp does not avoid bug #48326 when compiled by older GCC

2014-01-13 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59782

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Keywords||build
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2014-01-13
 Ever confirmed|0   |1

--- Comment #1 from Richard Biener rguenth at gcc dot gnu.org ---
Confirmed.


[Bug preprocessor/59782] libcpp does not avoid bug #48326 when compiled by older GCC

2014-01-13 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59782

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 CC||jakub at gcc dot gnu.org

--- Comment #2 from Jakub Jelinek jakub at gcc dot gnu.org ---
I'd say for GCC 4.8 we should just replace the conditional with GCC_VERSION =
4008 and for 4.9 with = 4009, better trust only the latest version for target
attribute.  libcpp is bootstrapped and thus for bootstraps it will DTRT.

Note, rs6000 now supports the target attribute, so I'd say that lex.c should
start to use it on ppc*.


[Bug preprocessor/59782] libcpp does not avoid bug #48326 when compiled by older GCC

2014-01-13 Thread ubizjak at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59782

--- Comment #3 from Uroš Bizjak ubizjak at gmail dot com ---
(In reply to Jakub Jelinek from comment #2)
 I'd say for GCC 4.8 we should just replace the conditional with GCC_VERSION
 = 4008 and for 4.9 with = 4009, better trust only the latest version for
 target attribute.  libcpp is bootstrapped and thus for bootstraps it will
 DTRT.

According to [1], 4.7.1 is already OK, so  4007 should be enough.

[1] http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48326#c3

[Bug preprocessor/59782] libcpp does not avoid bug #48326 when compiled by older GCC

2014-01-13 Thread michael at talosis dot ca
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59782

--- Comment #4 from Michael Deutschmann michael at talosis dot ca ---
 According to [1], 4.7.1 is already OK, so  4007 should be enough.

But 4.7.0 isn't OK, so = 4007 isn't enough.  ( 4007 is functionally
equivalent to = 4008.)

Note that this does make fixing 4.7.4 (which I suggest should be done otherwise
a person starting with 4.7.0, no C++, and a cmov-less processor will face a
circuitous route up to the current version.) a little more complicated. 
GCC_VERSION = 4007 isn't good enough, but GCC_VERSION = 4008 would mean that
4.7.4 would never include the MMX code when compiled with itself.  Some would
call that a regression.

It's a simple matter of preprocessor programming to check the patchlevel too,
but it will be an ugly #if statement

If only there was a NOT_STAGE_1 macro... (is there?).