Commit 6cf58810 by Jakub Jelinek Committed by Jakub Jelinek

re PR target/89093 (C++ exception handling clobbers d8 VFP register)

	PR target/89093
	* config/arm/arm.c (arm_valid_target_attribute_rec): Use strcmp
	instead of strncmp when checking for thumb and arm.  Formatting fixes.

	* gcc.target/arm/pr89093.c: New test.

From-SVN: r270339
parent 91797170
2019-04-13 Jakub Jelinek <jakub@redhat.com>
PR target/89093
* config/arm/arm.c (arm_valid_target_attribute_rec): Use strcmp
instead of strncmp when checking for thumb and arm. Formatting fixes.
2019-04-12 Iain Buclaw <ibuclaw@gdcproject.org> 2019-04-12 Iain Buclaw <ibuclaw@gdcproject.org>
* doc/install.texi: Document --with-target-system-zlib. * doc/install.texi: Document --with-target-system-zlib.
......
...@@ -30874,16 +30874,16 @@ arm_valid_target_attribute_rec (tree args, struct gcc_options *opts) ...@@ -30874,16 +30874,16 @@ arm_valid_target_attribute_rec (tree args, struct gcc_options *opts)
while (ISSPACE (*q)) ++q; while (ISSPACE (*q)) ++q;
argstr = NULL; argstr = NULL;
if (!strncmp (q, "thumb", 5)) if (!strcmp (q, "thumb"))
opts->x_target_flags |= MASK_THUMB; opts->x_target_flags |= MASK_THUMB;
else if (!strncmp (q, "arm", 3)) else if (!strcmp (q, "arm"))
opts->x_target_flags &= ~MASK_THUMB; opts->x_target_flags &= ~MASK_THUMB;
else if (!strncmp (q, "fpu=", 4)) else if (!strncmp (q, "fpu=", 4))
{ {
int fpu_index; int fpu_index;
if (! opt_enum_arg_to_value (OPT_mfpu_, q+4, if (! opt_enum_arg_to_value (OPT_mfpu_, q + 4,
&fpu_index, CL_TARGET)) &fpu_index, CL_TARGET))
{ {
error ("invalid fpu for target attribute or pragma %qs", q); error ("invalid fpu for target attribute or pragma %qs", q);
...@@ -30901,7 +30901,7 @@ arm_valid_target_attribute_rec (tree args, struct gcc_options *opts) ...@@ -30901,7 +30901,7 @@ arm_valid_target_attribute_rec (tree args, struct gcc_options *opts)
} }
else if (!strncmp (q, "arch=", 5)) else if (!strncmp (q, "arch=", 5))
{ {
char* arch = q+5; char *arch = q + 5;
const arch_option *arm_selected_arch const arch_option *arm_selected_arch
= arm_parse_arch_option_name (all_architectures, "arch", arch); = arm_parse_arch_option_name (all_architectures, "arch", arch);
......
2019-04-13 Jakub Jelinek <jakub@redhat.com>
PR target/89093
* gcc.target/arm/pr89093.c: New test.
2019-04-12 Jakub Jelinek <jakub@redhat.com> 2019-04-12 Jakub Jelinek <jakub@redhat.com>
PR c/89933 PR c/89933
......
/* PR target/89093 */
/* { dg-do compile } */
__attribute__((target ("arm.foobar"))) void f1 (void) {} /* { dg-error "unknown target attribute or pragma 'arm.foobar'" } */
__attribute__((target ("thumbozoo1"))) void f2 (void) {} /* { dg-error "unknown target attribute or pragma 'thumbozoo1'" } */
__attribute__((target ("arm,thumbique"))) void f3 (void) {} /* { dg-error "unknown target attribute or pragma 'thumbique'" } */
__attribute__((target ("thumb981,arm"))) void f4 (void) {} /* { dg-error "unknown target attribute or pragma 'thumb981'" } */
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