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, >