summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorprathamesh3492 <prathamesh3492@138bc75d-0d04-0410-961f-82ee72b054a4>2015-05-23 19:52:05 +0000
committerprathamesh3492 <prathamesh3492@138bc75d-0d04-0410-961f-82ee72b054a4>2015-05-23 19:52:05 +0000
commitdbe4b31fa7628ae70c48fce6b59979f7f4a9822c (patch)
tree6e685d9a9f5866a367f8da52014214d031858d00
parenta03dcfdbd6aafde3d5ea3d154f51ec8801303ae1 (diff)
downloadgcc-dbe4b31fa7628ae70c48fce6b59979f7f4a9822c.tar.gz
2015-05-23 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
* genmatch.c (parser::parse_for): Reject iterator if used as operator-list. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223610 138bc75d-0d04-0410-961f-82ee72b054a4
-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 b82d9464ccc..1d18ffd92a9 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 4ea1cc9ee76..d1cf87215e0 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);
}