[cfe-commits] r64994 - in /cfe/trunk/lib: AST/ExprConstant.cpp CodeGen/CGBlocks.cpp CodeGen/CGExprConstant.cpp CodeGen/CGExprScalar.cpp CodeGen/CodeGenModule.h
Mike Stump
mrs at apple.com
Wed Feb 18 19:22:15 PST 2009
On Feb 18, 2009, at 7:12 PM, Eli Friedman wrote:
> On Wed, Feb 18, 2009 at 5:01 PM, Mike Stump <mrs at apple.com> 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.
More information about the cfe-commits
mailing list