[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
Thu Feb 19 14:06:32 PST 2009
On Feb 18, 2009, at 7:41 PM, Eli Friedman wrote:
> On Wed, Feb 18, 2009 at 7:22 PM, Mike Stump <mrs at apple.com> wrote:
>> 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.
>
> That's fine, but it would be nice to at least put in a FIXME for the
> missing checks.
[ pause ] Ok, added enough code to add the check.
> This initializer for y must be illegal because it can't be evaluated
> at compile-time: the returned value changes! Therefore, blocks aren't
> constant in the general case.
Yes, I know that, but, spending time adding the check was time taken
away from actually working on BlockDeclRefExprs. :-(
More information about the cfe-commits
mailing list