aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/genmatch.c9
2 files changed, 11 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index b82d946..1d18ffd 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,7 @@
+2015-05-20 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
+
+ * genmatch.c (parser::parse_for): Reject iterator if used as operator-list.
+
2015-05-23 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
* genmatch.c (parser::parse_operator_list): Check for CPP_CLOSE_PAREN after end of id-list.
diff --git a/gcc/genmatch.c b/gcc/genmatch.c
index 4ea1cc9..d1cf872 100644
--- a/gcc/genmatch.c
+++ b/gcc/genmatch.c
@@ -3329,8 +3329,13 @@ parser::parse_for (source_location)
"others with arity %d", oper, idb->nargs, arity);
user_id *p = dyn_cast<user_id *> (idb);
- if (p && p->is_oper_list)
- op->substitutes.safe_splice (p->substitutes);
+ if (p)
+ {
+ if (p->is_oper_list)
+ op->substitutes.safe_splice (p->substitutes);
+ else
+ fatal_at (token, "iterator cannot be used as operator-list");
+ }
else
op->substitutes.safe_push (idb);
}