Error message on target attribute on aarch64 target (PR target/79889).
authorMartin Liska <mliska@suse.cz>
Fri, 7 Apr 2017 11:20:01 +0000 (13:20 +0200)
committerMartin Liska <marxin@gcc.gnu.org>
Fri, 7 Apr 2017 11:20:01 +0000 (11:20 +0000)
2017-04-07  Martin Liska  <mliska@suse.cz>

PR target/79889
* g++.dg/ext/mv8.C: Add aarch64* targets.
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.

From-SVN: r246760

gcc/ChangeLog
gcc/config/aarch64/aarch64.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/ext/mv8.C

index 6237a2ce40d34e264aa7f4d6755a4192b0477dd4..099805db1373a5a34e569928ca323b8010871203 100644 (file)
@@ -1,3 +1,9 @@
+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.
+
 2017-04-07  Martin Liska  <mliska@suse.cz>
 
        PR ipa/80212
index 721ced1831a00748144889e11b032d1abeea4160..2e385c43e96b944c117874752284f19296073940 100644 (file)
@@ -9530,8 +9530,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);
index 43e7bec066c5b789e234cfb69a1c89820fd14fc9..8b5a5806ea07c046556ead095cc141b06a761ee4 100644 (file)
@@ -1,3 +1,8 @@
+2017-04-07  Martin Liska  <mliska@suse.cz>
+
+       PR target/79889
+       * g++.dg/ext/mv8.C: Add aarch64* targets.
+
 2017-04-07  Martin Liska  <mliska@suse.cz>
 
        PR ipa/80212
index bbf90b5a32805c923408c73b26025a8324fb5cea..b49ef84f392ec0ead3ed29f924d5bae896b598a1 100644 (file)
@@ -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)))