diff options
author | jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-04-13 17:24:52 +0000 |
---|---|---|
committer | jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-04-13 17:24:52 +0000 |
commit | e8a2efc1b53e5c0e2d067f2e394f1438140854cc (patch) | |
tree | 977b0cff78060a6f7983494f751b2ac5b4fbd765 /gcc/cp/parser.c | |
parent | 1dc423d6b6aa309ecab653717173e4793255b289 (diff) | |
download | gcc-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.c | 4 |
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); |