summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Liska <mliska@suse.cz>2017-03-14 15:24:49 +0100
committerMartin Liska <marxin@gcc.gnu.org>2017-03-14 14:24:49 +0000
commitf7486ecb3c450efc331551dd2f61d64a91a8f275 (patch)
tree3ec5f1788fd84573bd3b745a129ed0aff9197e72
parent34e8234204cb51e65f0e4b325634208a227cc8f3 (diff)
Do not ICE on an invalid input for MV.
2017-03-14 Martin Liska <mliska@suse.cz> * multiple_target.c (expand_target_clones): Bail out for an invalid attribute. From-SVN: r246124
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/multiple_target.c5
2 files changed, 6 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 7c38be3c7fe..056609c95ff 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2017-03-14 Martin Liska <mliska@suse.cz>
+
+ * multiple_target.c (expand_target_clones): Bail out for
+ an invalid attribute.
+
2017-03-14 Richard Biener <rguenther@suse.de>
* alias.c (struct alias_set_entry): Pack properly.
diff --git a/gcc/multiple_target.c b/gcc/multiple_target.c
index 427c655c8ae..2ee6a9591ba 100644
--- a/gcc/multiple_target.c
+++ b/gcc/multiple_target.c
@@ -303,10 +303,7 @@ expand_target_clones (struct cgraph_node *node, bool definition)
if (!targetm.target_option.valid_attribute_p (new_node->decl, NULL,
TREE_VALUE (attributes),
0))
- {
- input_location = saved_loc;
- continue;
- }
+ return false;
input_location = saved_loc;
decl2_v = new_node->function_version ();