summaryrefslogtreecommitdiff
path: root/gcc/cp/parser.c
diff options
context:
space:
mode:
authorjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>2010-04-13 17:24:52 +0000
committerjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>2010-04-13 17:24:52 +0000
commite8a2efc1b53e5c0e2d067f2e394f1438140854cc (patch)
tree977b0cff78060a6f7983494f751b2ac5b4fbd765 /gcc/cp/parser.c
parent1dc423d6b6aa309ecab653717173e4793255b289 (diff)
downloadgcc-e8a2efc1b53e5c0e2d067f2e394f1438140854cc.tar.gz
* call.c (type_decays_to): Check MAYBE_CLASS_TYPE_P instead of
CLASS_TYPE_P. * parser.c (cp_parser_lambda_expression): Complain about lambda in unevaluated context. * pt.c (iterative_hash_template_arg): Don't crash on lambda. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158277 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/cp/parser.c')
-rw-r--r--gcc/cp/parser.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc/cp/parser.c b/gcc/cp/parser.c
index e25c280f486..e41a6d7850c 100644
--- a/gcc/cp/parser.c
+++ b/gcc/cp/parser.c
@@ -7081,6 +7081,10 @@ cp_parser_lambda_expression (cp_parser* parser)
LAMBDA_EXPR_LOCATION (lambda_expr)
= cp_lexer_peek_token (parser->lexer)->location;
+ if (cp_unevaluated_operand)
+ error_at (LAMBDA_EXPR_LOCATION (lambda_expr),
+ "lambda-expression in unevaluated context");
+
/* We may be in the middle of deferred access check. Disable
it now. */
push_deferring_access_checks (dk_no_deferred);