summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristophe Lyon <christophe.lyon@linaro.org>2017-04-11 07:44:27 +0000
committerYvan Roux <yvan.roux@linaro.org>2017-04-11 13:49:09 +0000
commitac8455201efc776e1f57735eaaedacff3cd7d2ff (patch)
tree3b3f9d53104fd03452a5c155c4334082f9eb2b79
parent4e405f1849587a25f5b44f4f99bb12e41669645d (diff)
downloadgcc-ac8455201efc776e1f57735eaaedacff3cd7d2ff.tar.gz
gcc/
Backport from trunk r246760. 2017-04-07 Martin Liska <mliska@suse.cz> PR target/79889 * config/aarch64/aarch64.c (aarch64_process_target_attr): Show error message instead of an ICE. gcc/testsuite/ Backport from trunk r246760. 2017-04-07 Martin Liska <mliska@suse.cz> PR target/79889 * g++.dg/ext/mv8.C: Add aarch64* targets. Change-Id: I916f151b8a955c39d56b34a71605a2e6aef8861d
-rw-r--r--gcc/config/aarch64/aarch64.c8
-rw-r--r--gcc/testsuite/g++.dg/ext/mv8.C2
2 files changed, 7 insertions, 3 deletions
diff --git a/gcc/config/aarch64/aarch64.c b/gcc/config/aarch64/aarch64.c
index b62f8f3eddf..d09f67b7fb6 100644
--- a/gcc/config/aarch64/aarch64.c
+++ b/gcc/config/aarch64/aarch64.c
@@ -9162,8 +9162,12 @@ aarch64_process_target_attr (tree args, const char* pragma_or_attr)
return true;
}
- /* We expect to find a string to parse. */
- gcc_assert (TREE_CODE (args) == STRING_CST);
+
+ if (TREE_CODE (args) != STRING_CST)
+ {
+ error ("attribute %<target%> argument not a string");
+ return false;
+ }
size_t len = strlen (TREE_STRING_POINTER (args));
char *str_to_check = (char *) alloca (len + 1);
diff --git a/gcc/testsuite/g++.dg/ext/mv8.C b/gcc/testsuite/g++.dg/ext/mv8.C
index bbf90b5a328..b49ef84f392 100644
--- a/gcc/testsuite/g++.dg/ext/mv8.C
+++ b/gcc/testsuite/g++.dg/ext/mv8.C
@@ -1,4 +1,4 @@
-// { dg-do compile { target i?86-*-* x86_64-*-* powerpc*-*-* } }
+// { dg-do compile { target i?86-*-* x86_64-*-* powerpc*-*-* aarch64*-*-* } }
// { dg-options "" }
__attribute__((target (11,12)))