On 4/16/19 6:50 PM, Jakub Jelinek wrote:
On Fri, Apr 12, 2019 at 05:10:48PM +0100, Ramana Radhakrishnan wrote:
> No, that's not right. we should get rid of this.
Here is a patch for that.
Bootstrapped/regtested on armv7hl-linux-gnueabi, ok for trunk?
Ok. I don't think anyone relies on this behaviour.
Thanks,
Kyrill
2019-04-16 Jakub Jelinek <ja...@redhat.com>
PR target/89093
* config/arm/arm.c (arm_valid_target_attribute_rec): Don't skip
whitespace at the start of target attribute string.
* gcc.target/arm/pr89093-2.c: New test.
--- gcc/config/arm/arm.c.jj 2019-04-13 17:20:07.353977370 +0200
+++ gcc/config/arm/arm.c 2019-04-15 19:50:31.386414421 +0200
@@ -30871,8 +30871,6 @@ arm_valid_target_attribute_rec (tree arg
while ((q = strtok (argstr, ",")) != NULL)
{
- while (ISSPACE (*q)) ++q;
-
argstr = NULL;
if (!strcmp (q, "thumb"))
opts->x_target_flags |= MASK_THUMB;
--- gcc/testsuite/gcc.target/arm/pr89093-2.c.jj 2019-04-15
19:53:23.740608673 +0200
+++ gcc/testsuite/gcc.target/arm/pr89093-2.c 2019-04-15
19:52:29.841486100 +0200
@@ -0,0 +1,9 @@
+/* PR target/89093 */
+/* { dg-do compile } */
+
+__attribute__((target (" arm"))) void f1 (void) {} /* { dg-error
"unknown target attribute or pragma ' arm'" } */
+__attribute__((target (" thumb"))) void f2 (void) {} /* { dg-error
"unknown target attribute or pragma ' thumb'" } */
+__attribute__((target ("arm, thumb"))) void f3 (void) {} /* {
dg-error "unknown target attribute or pragma ' thumb'" } */
+__attribute__((target ("thumb, arm"))) void f4 (void) {} /* {
dg-error "unknown target attribute or pragma ' arm'" } */
+#pragma GCC target (" arm") /* { dg-error "unknown target
attribute or pragma ' arm'" } */
+void f5 (void) {}
Jakub