diff options
author | Jason Merrill <jason@redhat.com> | 2014-10-10 16:24:36 -0400 |
---|---|---|
committer | Jason Merrill <jason@gcc.gnu.org> | 2014-10-10 16:24:36 -0400 |
commit | cfb71cadfd586194ba65150a1d535b8ad4229d22 (patch) | |
tree | 11e7cc4d582ff5b003faf7262a12313f01591887 /gcc | |
parent | 1740f8a1cd06cd92e17be4396e527d8d25591210 (diff) | |
download | gcc-cfb71cadfd586194ba65150a1d535b8ad4229d22.zip gcc-cfb71cadfd586194ba65150a1d535b8ad4229d22.tar.gz gcc-cfb71cadfd586194ba65150a1d535b8ad4229d22.tar.bz2 |
* semantics.c (finish_id_expression): Check for error_mark_node.
From-SVN: r216104
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/cp/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/cp/semantics.c | 6 |
2 files changed, 9 insertions, 1 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 7b2d09f..1414f2b 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,7 @@ +2014-10-10 Jason Merrill <jason@redhat.com> + + * semantics.c (finish_id_expression): Check for error_mark_node. + 2014-10-09 Jason Merrill <jason@redhat.com> PR c++/63207 diff --git a/gcc/cp/semantics.c b/gcc/cp/semantics.c index ab8c82a..08658a7 100644 --- a/gcc/cp/semantics.c +++ b/gcc/cp/semantics.c @@ -3272,7 +3272,11 @@ finish_id_expression (tree id_expression, /* Disallow uses of local variables from containing functions, except within lambda-expressions. */ if (outer_automatic_var_p (decl)) - decl = process_outer_var_ref (decl, tf_warning_or_error); + { + decl = process_outer_var_ref (decl, tf_warning_or_error); + if (decl == error_mark_node) + return error_mark_node; + } /* Also disallow uses of function parameters outside the function body, except inside an unevaluated context (i.e. decltype). */ |