aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@gcc.gnu.org>2019-04-30 14:07:27 +0200
committerJakub Jelinek <jakub@gcc.gnu.org>2019-04-30 14:07:27 +0200
commitd7b0896b2392b803679ac5ca88087b5c3ecede7e (patch)
tree6d81cf5c634e9c47e62661ddd7c3602b9b244dc0 /gcc
parent9e3501f765540f08aad0bcc0821908181366f177 (diff)
downloadgcc-d7b0896b2392b803679ac5ca88087b5c3ecede7e.zip
gcc-d7b0896b2392b803679ac5ca88087b5c3ecede7e.tar.gz
gcc-d7b0896b2392b803679ac5ca88087b5c3ecede7e.tar.bz2
re PR target/89093 (C++ exception handling clobbers d8 VFP register)
PR target/89093 * config/aarch64/aarch64.c (aarch64_process_one_target_attr): Don't skip whitespace at the start of target attribute string. * gcc.target/aarch64/pr89093.c: New test. * gcc.target/aarch64/pr63304_1.c: Remove space from target string. From-SVN: r270690
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog8
-rw-r--r--gcc/config/aarch64/aarch64.c4
-rw-r--r--gcc/testsuite/ChangeLog4
-rw-r--r--gcc/testsuite/gcc.target/aarch64/pr63304_1.c2
-rw-r--r--gcc/testsuite/gcc.target/aarch64/pr89093.c7
5 files changed, 19 insertions, 6 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 471a96f..4ed2fc4 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,8 +1,14 @@
+2019-04-30 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/89093
+ * config/aarch64/aarch64.c (aarch64_process_one_target_attr): Don't skip
+ whitespace at the start of target attribute string.
+
2019-04-30 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
PR target/86538
* config/aarch64/aarch64-c.c (aarch64_update_cpp_builtins):
- Define __ARM_FEATURE_ATOMICS
+ Define __ARM_FEATURE_ATOMICS.
2019-04-30 Martin Liska <mliska@suse.cz>
diff --git a/gcc/config/aarch64/aarch64.c b/gcc/config/aarch64/aarch64.c
index 1425943..c3c88c8 100644
--- a/gcc/config/aarch64/aarch64.c
+++ b/gcc/config/aarch64/aarch64.c
@@ -12536,10 +12536,6 @@ aarch64_process_one_target_attr (char *arg_str)
char *str_to_check = (char *) alloca (len + 1);
strcpy (str_to_check, arg_str);
- /* Skip leading whitespace. */
- while (*str_to_check == ' ' || *str_to_check == '\t')
- str_to_check++;
-
/* We have something like __attribute__ ((target ("+fp+nosimd"))).
It is easier to detect and handle it explicitly here rather than going
through the machinery for the rest of the target attributes in this
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index b1f2585..b3908ea 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,5 +1,9 @@
2019-04-30 Jakub Jelinek <jakub@redhat.com>
+ PR target/89093
+ * gcc.target/aarch64/pr89093.c: New test.
+ * gcc.target/aarch64/pr63304_1.c: Remove space from target string.
+
PR tree-optimization/89475
* gcc.dg/tree-ssa/pr89475.c: New test.
diff --git a/gcc/testsuite/gcc.target/aarch64/pr63304_1.c b/gcc/testsuite/gcc.target/aarch64/pr63304_1.c
index b00f9a6..99b1552 100644
--- a/gcc/testsuite/gcc.target/aarch64/pr63304_1.c
+++ b/gcc/testsuite/gcc.target/aarch64/pr63304_1.c
@@ -1,7 +1,7 @@
/* { dg-do assemble } */
/* { dg-options "-O1 --save-temps" } */
#pragma GCC push_options
-#pragma GCC target ("+nothing+simd, cmodel=small")
+#pragma GCC target ("+nothing+simd,cmodel=small")
int
cal (double a)
diff --git a/gcc/testsuite/gcc.target/aarch64/pr89093.c b/gcc/testsuite/gcc.target/aarch64/pr89093.c
new file mode 100644
index 0000000..08a3f41
--- /dev/null
+++ b/gcc/testsuite/gcc.target/aarch64/pr89093.c
@@ -0,0 +1,7 @@
+/* PR target/89093 */
+/* { dg-do compile } */
+
+__attribute__((target (" no-strict-align"))) void f1 (void) {} /* { dg-error "is not valid" } */
+__attribute__((target (" general-regs-only"))) void f2 (void) {} /* { dg-error "is not valid" } */
+#pragma GCC target (" general-regs-only") /* { dg-error "is not valid" } */
+void f3 (void) {}