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>
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>
......
......@@ -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
......
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.
......
/* { 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)
......
/* 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