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
