Commit d7b0896b by Jakub Jelinek

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
parent 9e3501f7
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> 2019-04-30 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
PR target/86538 PR target/86538
* config/aarch64/aarch64-c.c (aarch64_update_cpp_builtins): * 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> 2019-04-30 Martin Liska <mliska@suse.cz>
......
...@@ -12536,10 +12536,6 @@ aarch64_process_one_target_attr (char *arg_str) ...@@ -12536,10 +12536,6 @@ aarch64_process_one_target_attr (char *arg_str)
char *str_to_check = (char *) alloca (len + 1); char *str_to_check = (char *) alloca (len + 1);
strcpy (str_to_check, arg_str); 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"))). /* We have something like __attribute__ ((target ("+fp+nosimd"))).
It is easier to detect and handle it explicitly here rather than going 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 through the machinery for the rest of the target attributes in this
......
2019-04-30 Jakub Jelinek <jakub@redhat.com> 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 PR tree-optimization/89475
* gcc.dg/tree-ssa/pr89475.c: New test. * gcc.dg/tree-ssa/pr89475.c: New test.
......
/* { dg-do assemble } */ /* { dg-do assemble } */
/* { dg-options "-O1 --save-temps" } */ /* { dg-options "-O1 --save-temps" } */
#pragma GCC push_options #pragma GCC push_options
#pragma GCC target ("+nothing+simd, cmodel=small") #pragma GCC target ("+nothing+simd,cmodel=small")
int int
cal (double a) cal (double a)
......
/* 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) {}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment