diff mbox

[ARM] Skip pr59858.c test for -mfloat-abi=hard

Message ID 000001cf29a2$99ad0e90$cd072bb0$@bolton@arm.com
State New
Headers show

Commit Message

Ian Bolton Feb. 14, 2014, 4:34 p.m. UTC
> > The pr59858.c testcase explicitly sets -msoft-float which is
> incompatible
> > with our -mfloat-abi=hard variant.
> >
> > This patch therefore should not be run if you have -mfloat-abi=hard.
> >
> > Tested with both variations for arm-none-eabi build.
> >
> > OK for commit?
> >
> > Cheers,
> > Ian
> >
> >
> > 2014-02-13  Ian Bolton  <ian.bolton@arm.com>
> >
> > testsuite/
> >         * gcc.target/arm/pr59858.c: Skip test if -mfloat-abi=hard.
> >
> >
> > pr59858-skip-if-hard-float-patch-v2.txt
> >
> >
> > diff --git a/gcc/testsuite/gcc.target/arm/pr59858.c
> b/gcc/testsuite/gcc.target/arm/pr59858.c
> > index 463bd38..1e03203 100644
> > --- a/gcc/testsuite/gcc.target/arm/pr59858.c
> > +++ b/gcc/testsuite/gcc.target/arm/pr59858.c
> > @@ -1,5 +1,6 @@
> >  /* { dg-do compile } */
> >  /* { dg-options "-march=armv5te -marm -mthumb-interwork -Wall -
> Wstrict-prototypes -Wstrict-aliasing -funsigned-char -fno-builtin -fno-
> asm -msoft-float -std=gnu99 -mlittle-endian -mthumb -fno-stack-
> protector  -Os -g -feliminate-unused-debug-types -funit-at-a-time -
> fmerge-all-constants -fstrict-aliasing -fno-tree-loop-optimize -fno-
> tree-dominator-opts -fno-strength-reduce -fPIC -w" } */
> > +/* { dg-skip-if "Test is not compatible with hard-float" { *-*-* } {
> "-mfloat-abi=hard" } { "" } } */
> >
> >  typedef enum {
> >   REG_ENOSYS = -1,
> >
> 
> This won't work if hard-float is the default.  Take a look at the way
> other tests check for this.

Hi Richard,

The test does actually pass if it is hard float by default. My comment
on the skip line was misleading, because the precise issue is when
someone specifies -mfloat-abi=hard on the command line.  I've fixed up
that comment in the attached patch now.

I've also reduced the number of command-line options passed (without
affecting the code generated) in the patch and changed -msoft-float
into -mfloat-abi=soft, since the former is deprecated and maps to the
latter anyway.

OK for commit?

Cheers,
Ian

Comments

Richard Earnshaw Feb. 14, 2014, 4:39 p.m. UTC | #1
On 14/02/14 16:34, Ian Bolton wrote:
>>> The pr59858.c testcase explicitly sets -msoft-float which is
>> incompatible
>>> with our -mfloat-abi=hard variant.
>>>
>>> This patch therefore should not be run if you have -mfloat-abi=hard.
>>>
>>> Tested with both variations for arm-none-eabi build.
>>>
>>> OK for commit?
>>>
>>> Cheers,
>>> Ian
>>>
>>>
>>> 2014-02-13  Ian Bolton  <ian.bolton@arm.com>
>>>
>>> testsuite/
>>>         * gcc.target/arm/pr59858.c: Skip test if -mfloat-abi=hard.
>>>
>>>
>>> pr59858-skip-if-hard-float-patch-v2.txt
>>>
>>>
>>> diff --git a/gcc/testsuite/gcc.target/arm/pr59858.c
>> b/gcc/testsuite/gcc.target/arm/pr59858.c
>>> index 463bd38..1e03203 100644
>>> --- a/gcc/testsuite/gcc.target/arm/pr59858.c
>>> +++ b/gcc/testsuite/gcc.target/arm/pr59858.c
>>> @@ -1,5 +1,6 @@
>>>  /* { dg-do compile } */
>>>  /* { dg-options "-march=armv5te -marm -mthumb-interwork -Wall -
>> Wstrict-prototypes -Wstrict-aliasing -funsigned-char -fno-builtin -fno-
>> asm -msoft-float -std=gnu99 -mlittle-endian -mthumb -fno-stack-
>> protector  -Os -g -feliminate-unused-debug-types -funit-at-a-time -
>> fmerge-all-constants -fstrict-aliasing -fno-tree-loop-optimize -fno-
>> tree-dominator-opts -fno-strength-reduce -fPIC -w" } */
>>> +/* { dg-skip-if "Test is not compatible with hard-float" { *-*-* } {
>> "-mfloat-abi=hard" } { "" } } */
>>>
>>>  typedef enum {
>>>   REG_ENOSYS = -1,
>>>
>>
>> This won't work if hard-float is the default.  Take a look at the way
>> other tests check for this.
> 
> Hi Richard,
> 
> The test does actually pass if it is hard float by default. My comment
> on the skip line was misleading, because the precise issue is when
> someone specifies -mfloat-abi=hard on the command line.  I've fixed up
> that comment in the attached patch now.
> 
> I've also reduced the number of command-line options passed (without
> affecting the code generated) in the patch and changed -msoft-float
> into -mfloat-abi=soft, since the former is deprecated and maps to the
> latter anyway.
> 
> OK for commit?
> 

Yes, thanks for clarifying.

R.

> Cheers,
> Ian
> 
> 
> pr59858-skip-if-abi-hard-patch-v3.txt
> 
> 
> diff --git a/gcc/testsuite/gcc.target/arm/pr59858.c b/gcc/testsuite/gcc.target/arm/pr59858.c
> index 463bd38..a944b9a 100644
> --- a/gcc/testsuite/gcc.target/arm/pr59858.c
> +++ b/gcc/testsuite/gcc.target/arm/pr59858.c
> @@ -1,5 +1,6 @@
>  /* { dg-do compile } */
> -/* { dg-options "-march=armv5te -marm -mthumb-interwork -Wall -Wstrict-prototypes -Wstrict-aliasing -funsigned-char -fno-builtin -fno-asm -msoft-float -std=gnu99 -mlittle-endian -mthumb -fno-stack-protector  -Os -g -feliminate-unused-debug-types -funit-at-a-time -fmerge-all-constants -fstrict-aliasing -fno-tree-loop-optimize -fno-tree-dominator-opts -fno-strength-reduce -fPIC -w" } */
> +/* { dg-options "-march=armv5te -fno-builtin -mfloat-abi=soft -mthumb -fno-stack-protector -Os -fno-tree-loop-optimize -fno-tree-dominator-opts -fPIC -w" } */
> +/* { dg-skip-if "Incompatible command line options: -mfloat-abi=soft -mfloat-abi=hard" { *-*-* } { "-mfloat-abi=hard" } { "" } } */
>  
>  typedef enum {
>   REG_ENOSYS = -1,
>
diff mbox

Patch

diff --git a/gcc/testsuite/gcc.target/arm/pr59858.c b/gcc/testsuite/gcc.target/arm/pr59858.c
index 463bd38..a944b9a 100644
--- a/gcc/testsuite/gcc.target/arm/pr59858.c
+++ b/gcc/testsuite/gcc.target/arm/pr59858.c
@@ -1,5 +1,6 @@ 
 /* { dg-do compile } */
-/* { dg-options "-march=armv5te -marm -mthumb-interwork -Wall -Wstrict-prototypes -Wstrict-aliasing -funsigned-char -fno-builtin -fno-asm -msoft-float -std=gnu99 -mlittle-endian -mthumb -fno-stack-protector  -Os -g -feliminate-unused-debug-types -funit-at-a-time -fmerge-all-constants -fstrict-aliasing -fno-tree-loop-optimize -fno-tree-dominator-opts -fno-strength-reduce -fPIC -w" } */
+/* { dg-options "-march=armv5te -fno-builtin -mfloat-abi=soft -mthumb -fno-stack-protector -Os -fno-tree-loop-optimize -fno-tree-dominator-opts -fPIC -w" } */
+/* { dg-skip-if "Incompatible command line options: -mfloat-abi=soft -mfloat-abi=hard" { *-*-* } { "-mfloat-abi=hard" } { "" } } */
 
 typedef enum {
  REG_ENOSYS = -1,