[Bug c++/59681] SVN 197248 adding N3582 support broke Boost.Regex with -std=c++1y
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=59681 Marek Polacek changed: What|Removed |Added Status|NEW |RESOLVED CC||mpolacek at gcc dot gnu.org Resolution|--- |FIXED --- Comment #5 from Marek Polacek --- $ xg++ -c 59681.C -std=c++1y # nothing so assuming fixed.
[Bug c++/59681] SVN 197248 adding N3582 support broke Boost.Regex with -std=c++1y
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59681 Paolo Carlini changed: What|Removed |Added CC||jason at gcc dot gnu.org --- Comment #4 from Paolo Carlini --- Let's add Jason in CC.
[Bug c++/59681] SVN 197248 adding N3582 support broke Boost.Regex with -std=c++1y
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59681 --- Comment #3 from Peter A. Bigot --- But also note [dcl.type.simple] p4: The type denoted by decltype(e) is defined as follows: — if e is an unparenthesized id-expression or an unparenthesized class member access (5.2.5), decltype(e) is the type of the entity named by e. If there is no such entity, or if e names a set of overloaded functions, the program is ill-formed; — otherwise, if e is an xvalue, decltype(e) is T&&, where T is the type of e; — otherwise, if e is an lvalue, decltype(e) is T&, where T is the type of e; — otherwise, decltype(e) is the type of e. The operand of the decltype specifier is an unevaluated operand (Clause 5). which means decltype((e)) is not necessarily the same as decltype(e). Perhaps the change was made to make this work, but it has side effects in some context that does not (explicitly) use decltype.
[Bug c++/59681] SVN 197248 adding N3582 support broke Boost.Regex with -std=c++1y
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59681 Jonathan Wakely changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed||2014-01-05 Ever confirmed|0 |1 --- Comment #2 from Jonathan Wakely --- [expr.prim.general] p6 says: A parenthesized expression is a primary expression whose type and value are identical to those of the enclosed expression. The presence of parentheses does not affect whether the expression is an lvalue. The parenthesized expression can be used in exactly the same contexts as those where the enclosed expression can be used, and with the same meaning, except as otherwise indicated.
[Bug c++/59681] SVN 197248 adding N3582 support broke Boost.Regex with -std=c++1y
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59681 --- Comment #1 from Andrew Pinski --- Is (a) an lvalue still? I don't remember the C++ rules to tell you the truth.