[cfe-commits] r60331 - /cfe/trunk/test/Sema/i-c-e3.c

Eli Friedman eli.friedman at gmail.com
Mon Dec 1 21:41:56 PST 2008


On Mon, Dec 1, 2008 at 9:25 PM, Anders Carlsson <andersca at mac.com> wrote:
>
> 1 dec 2008 kl. 14.26 skrev Neil Booth:
>
>> Anders Carlsson wrote:-
>>
>>>
>>> 1 dec 2008 kl. 04.33 skrev Eli Friedman:
>>>
>>>> On Sun, Nov 30, 2008 at 10:27 PM, Anders Carlsson <andersca at mac.com>
>>>> wrote:
>>>>>
>>>>> Author: andersca
>>>>> Date: Mon Dec  1 00:27:38 2008
>>>>> New Revision: 60331
>>>>>
>>>>> URL: http://llvm.org/viewvc/llvm-project?rev=60331&view=rev
>>>>> Log:
>>>>> Fix test. (0 && (a(),1)) is a valid I-C-E according to C99.
>>>>
>>>> No, it isn't.  Note the requirement about operands; "a" is a global,
>>>> which isn't allowed.
>>>>
>>>
>>> Ah, I see - I got ICEs and regular constant expressions mixed up.
>>
>> The 'a' is not permitted in a "regular constant expression" either.
>
> Hmm, why not?

Well, "a" itself is a legal constant expression, but the expression as
a whole isn't in one of the four forms allowed in C99 6.6p7.

-Eli



More information about the cfe-commits mailing list