diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/genmatch.c | 9 |
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); } |