------- Additional Comments From austern at apple dot com  2005-01-28 20:17 
-------
This was undoubtedly caused by Mark's large checkin on 2003-01-29, which 
included changes to 
constant-expression handling.

I do not believe the __builtin_constant_p change was deliberate.  The intent 
behind this patch, as far as 
I can tell, was to reject constructs that the C++ standard explicitly says are 
not constant-expressions, 
such as "(1, 2)".  It looks to me like rejecting GNU extensions like 
__builtin_constant_p in constant-
expressions was just a side effect. 

As far as I can tell, rejecting __builtin_constant_p is a change that (a) was 
not deliberate; (b) is 
undocumented; (c) introduced a C/C++ incompatbility; and (d) causes previously 
working code to 
break.  I think that justifies calling it a bug.


-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|rejects-valid               |


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

Reply via email to