On Feb 18, 2009, at 7:12 PM, Eli Friedman wrote:
> On Wed, Feb 18, 2009 at 5:01 PM, Mike Stump <[email protected]> wrote:
>> --- cfe/trunk/lib/AST/ExprConstant.cpp (original)
>> +++ cfe/trunk/lib/AST/ExprConstant.cpp Wed Feb 18 19:01:04 2009
>> @@ -260,6 +260,7 @@
>>  APValue VisitAddrLabelExpr(AddrLabelExpr *E)
>>      { return APValue(E, 0); }
>>  APValue VisitCallExpr(CallExpr *E);
>> +  APValue VisitBlockExpr(BlockExpr *E) { return APValue(E, 0); }
>
> Aren't there some missing checks here?

Work in progress.  There is all sorts of checking, semantics and  
codegen missing.

> Block expressions can't possibly be constant in general.

They are?!  That is why they are called block literal expressions.  In  
the same way that 1 is a literal and unchanging, ^{} is a literal,  
constant and unchanging.  Now, I could easily have it wrong, it you  
could point out the part you thought would vary, I can contemplate it.
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to