[cfe-commits] r59946 - in /cfe/trunk: lib/AST/Expr.cpp test/CodeGen/staticinit.c

Eli Friedman eli.friedman at gmail.com
Tue Nov 25 08:43:50 PST 2008


On Mon, Nov 24, 2008 at 7:55 PM, Anders Carlsson <andersca at mac.com> wrote:
>
> 24 nov 2008 kl. 13.27 skrev Eli Friedman:
>
>> On Sun, Nov 23, 2008 at 9:24 PM, Anders Carlsson <andersca at mac.com> wrote:
>>>
>>> +  case StringLiteralClass:
>>> +  case ObjCStringLiteralClass:
>>> +    return true;
>>
>> We shouldn't need a special-case here, I don't think... what's motivating
>> this?
>
> Just my laziness :) Since string literals are arrays, Expr::Evaluate doesn't
> work on them yet - Do you think adding an ArrayExprEvaluator is the correct
> way to go?

Mmm... string literals are an unusual case; I don't think it should go
into Evaluate.  The only way we can run into a bare string literal is
an array initializer.  I guess leaving it as-is is okay.

On the other hand, if I recall correctly, ObjCStringLiterals are
pointers; they should probably be handled by Evaluate.

-Eli



More information about the cfe-commits mailing list