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.bol...@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,
> 


Reply via email to