Commit 7a74aa7f by Jason Merrill Committed by Jason Merrill

* semantics.c (potential_constant_expression_1): Allow 'this'.

From-SVN: r177993
parent 09e640b3
2011-08-23 Jason Merrill <jason@redhat.com>
* semantics.c (potential_constant_expression_1): Allow 'this'.
2011-08-23 Jakub Jelinek <jakub@redhat.com> 2011-08-23 Jakub Jelinek <jakub@redhat.com>
PR c++/50158 PR c++/50158
......
...@@ -7681,21 +7681,7 @@ potential_constant_expression_1 (tree t, bool want_rval, tsubst_flags_t flags) ...@@ -7681,21 +7681,7 @@ potential_constant_expression_1 (tree t, bool want_rval, tsubst_flags_t flags)
case IDENTIFIER_NODE: case IDENTIFIER_NODE:
/* We can see a FIELD_DECL in a pointer-to-member expression. */ /* We can see a FIELD_DECL in a pointer-to-member expression. */
case FIELD_DECL: case FIELD_DECL:
return true;
case PARM_DECL: case PARM_DECL:
/* -- this (5.1) unless it appears as the postfix-expression in a
class member access expression, including the result of the
implicit transformation in the body of the non-static
member function (9.3.1); */
/* FIXME this restriction seems pointless since the standard dropped
"potential constant expression". */
if (is_this_parameter (t))
{
if (flags & tf_error)
error ("%qE is not a potential constant expression", t);
return false;
}
return true; return true;
case AGGR_INIT_EXPR: case AGGR_INIT_EXPR:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment