On Wed, Aug 29, 2012 at 7:04 PM, Richard Smith <[email protected]> wrote:
> On Wed, Aug 29, 2012 at 3:38 AM, Hans Wennborg <[email protected]> wrote:
>> On Wed, Aug 29, 2012 at 10:40 AM, Richard Smith <[email protected]>
>> > I've looked into what's specified for C++11 constant expression
>> > semantics,
>> > and it looks like this isn't the correct behavior there. C++11
>> > thread_local
>> > variables *can* be used in core constant expressions, but can't be part
>> > of
>> > the eventual result of constant expression evaluation. It looks like the
>> > check belongs in CheckLValueConstantExpression instead.
>> >
>> > For instance, this is valid under the C++11 rules:
>> >
>> > thread_local int n;
>> > constexpr bool b = &n == &n;
>>
>> I guess I'm out of my depth here, because I don't really know how
>> these things work.
>
>
> When it comes to the interactions of constexpr and thread_local, I think
> almost no-one does.
>
>>
>> Does the attached patch look like it's doing the
>> right thing?
>
>
> LGTM

Thanks! Landed r162850.

 - Hans
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to