Message ID | 517C4067.8070207@oracle.com |
---|---|
State | New |
Headers | show |
On 04/27/2013 05:17 PM, Paolo Carlini wrote: > Assuming as obvious that we don't want to crash on it, the interesting > issue is whether we want the static_asserts to both fail or succeed: in > practice, a rather recent ICC I have at hand fails both; a rather recent > clang++ passes both (consistently with the expectation of Bug > submitter). In fact, as I'm reading now 7.1.6.2/4, since we are dealing > with a class member access in any case, it may well be possible that > *ICC* is right. Yes, I think so. Since it's a class member access, decltype should be the declared type, i.e. const int. Jason
Index: semantics.c =================================================================== --- semantics.c (revision 198359) +++ semantics.c (working copy) @@ -5398,6 +5398,7 @@ finish_decltype_type (tree expr, bool id_expressio break; case COMPONENT_REF: + case COMPOUND_EXPR: mark_type_use (expr); type = is_bitfield_expr_with_lowered_type (expr); if (!type)