diff options
author | Jakub Jelinek <jakub@gcc.gnu.org> | 2019-04-30 14:07:27 +0200 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2019-04-30 14:07:27 +0200 |
commit | d7b0896b2392b803679ac5ca88087b5c3ecede7e (patch) | |
tree | 6d81cf5c634e9c47e62661ddd7c3602b9b244dc0 /gcc | |
parent | 9e3501f765540f08aad0bcc0821908181366f177 (diff) | |
download | gcc-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/ChangeLog | 8 | ||||
-rw-r--r-- | gcc/config/aarch64/aarch64.c | 4 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/aarch64/pr63304_1.c | 2 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/aarch64/pr89093.c | 7 |
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) {} |