aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/genmatch.c7
2 files changed, 10 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 4c51707..3ce1628 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,9 @@
2015-05-23 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
+ * genmatch.c (parser::parse_operation): Reject expanding operator-list inside 'for'.
+
+2015-05-23 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>
diff --git a/gcc/genmatch.c b/gcc/genmatch.c
index d1cf872..03947ba 100644
--- a/gcc/genmatch.c
+++ b/gcc/genmatch.c
@@ -2913,7 +2913,12 @@ parser::parse_operation ()
user_id *p = dyn_cast<user_id *> (op);
if (p && p->is_oper_list)
- record_operlist (id_tok->src_loc, p);
+ {
+ if (active_fors.length() == 0)
+ record_operlist (id_tok->src_loc, p);
+ else
+ fatal_at (id_tok, "operator-list %s cannot be exapnded inside 'for'", id);
+ }
return op;
}