diff options
author | Christophe Lyon <christophe.lyon@linaro.org> | 2017-04-11 07:44:27 +0000 |
---|---|---|
committer | Yvan Roux <yvan.roux@linaro.org> | 2017-04-11 13:49:09 +0000 |
commit | ac8455201efc776e1f57735eaaedacff3cd7d2ff (patch) | |
tree | 3b3f9d53104fd03452a5c155c4334082f9eb2b79 | |
parent | 4e405f1849587a25f5b44f4f99bb12e41669645d (diff) | |
download | gcc-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.c | 8 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/ext/mv8.C | 2 |
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))) |