aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJason Merrill <jason@redhat.com>2014-10-10 16:24:36 -0400
committerJason Merrill <jason@gcc.gnu.org>2014-10-10 16:24:36 -0400
commitcfb71cadfd586194ba65150a1d535b8ad4229d22 (patch)
tree11e7cc4d582ff5b003faf7262a12313f01591887 /gcc
parent1740f8a1cd06cd92e17be4396e527d8d25591210 (diff)
downloadgcc-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/ChangeLog4
-rw-r--r--gcc/cp/semantics.c6
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). */