diff options
author | Richard Sandiford <rsandifo@nildram.co.uk> | 2007-09-22 08:25:43 +0000 |
---|---|---|
committer | Richard Sandiford <rsandifo@gcc.gnu.org> | 2007-09-22 08:25:43 +0000 |
commit | db9a0df07fc938a874309c5af28895bc347c0673 (patch) | |
tree | b00e7aec4dda4dbb2575b72c8700baf93a2fcdf7 | |
parent | 1733c7eb5be0f1770c50801c01f56796d90459a7 (diff) | |
download | gcc-db9a0df07fc938a874309c5af28895bc347c0673.zip gcc-db9a0df07fc938a874309c5af28895bc347c0673.tar.gz gcc-db9a0df07fc938a874309c5af28895bc347c0673.tar.bz2 |
sourcebuild.texi (dg-add-c99-runtime-options): Document.
gcc/
* doc/sourcebuild.texi (dg-add-c99-runtime-options): Document.
gcc/testsuite/
* lib/target-supports.exp (add_options_for_c99_runtime): New procedure.
* lib/target-supports-dg.exp (dg-add-options): Likewise.
* gcc.dg/builtins-18.c: Use { dg-add-options c99_runtime } instead of
target-specific dg-options.
* gcc.dg/builtins-20.c: Likewise.
* gcc.dg/builtins-53.c: Likewise.
* gcc.dg/builtins-55.c: Likewise.
* gcc.dg/single-precision-constant.c: Likewise.
* gcc.dg/torture/builtin-convert-1.c: Likewise.
* gcc.dg/torture/builtin-convert-2.c: Likewise.
* gcc.dg/torture/builtin-convert-3.c: Likewise.
* gcc.dg/torture/builtin-convert-4.c: Likewise.
* gcc.dg/torture/builtin-power-1.c: Likewise.
From-SVN: r128663
-rw-r--r-- | gcc/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/doc/sourcebuild.texi | 12 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 16 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/builtins-18.c | 3 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/builtins-20.c | 3 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/builtins-53.c | 3 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/builtins-55.c | 3 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/single-precision-constant.c | 3 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/torture/builtin-convert-1.c | 3 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/torture/builtin-convert-2.c | 3 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/torture/builtin-convert-3.c | 3 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/torture/builtin-convert-4.c | 3 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/torture/builtin-power-1.c | 3 | ||||
-rw-r--r-- | gcc/testsuite/lib/target-supports-dg.exp | 16 | ||||
-rw-r--r-- | gcc/testsuite/lib/target-supports.exp | 12 |
15 files changed, 70 insertions, 20 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index ffd7bb0..116aa78 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2007-09-22 Richard Sandiford <rsandifo@nildram.co.uk> + + * doc/sourcebuild.texi (dg-add-c99-runtime-options): Document. + 2007-09-19 Michael Meissner <michael.meissner@amd.com> * gcc/config/i386/i386.c: Delete trailing whitespace. diff --git a/gcc/doc/sourcebuild.texi b/gcc/doc/sourcebuild.texi index 6840691..4f78d73 100644 --- a/gcc/doc/sourcebuild.texi +++ b/gcc/doc/sourcebuild.texi @@ -973,6 +973,18 @@ This DejaGnu directive provides a list of compiler options, to be used if the target system matches @var{selector}, that replace the default options used for this set of tests. +@item @{ dg-add-options @var{feature} ... @} +Add any compiler options that are needed to access certain features. +This directive does nothing on targets that enable the features by +default, or that don't provide them at all. It must come after +all @code{dg-options} directives. + +The supported values of @var{feature} are: +@table @code +@item c99_runtime +The target's C99 runtime (both headers and libraries). +@end table + @item @{ dg-skip-if @var{comment} @{ @var{selector} @} @{ @var{include-opts} @} @{ @var{exclude-opts} @} @} Skip the test if the test system is included in @var{selector} and if each of the options in @var{include-opts} is in the set of options with diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 7558f8f..84681ec 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,19 @@ +2007-09-22 Richard Sandiford <rsandifo@nildram.co.uk> + + * lib/target-supports.exp (add_options_for_c99_runtime): New procedure. + * lib/target-supports-dg.exp (dg-add-options): Likewise. + * gcc.dg/builtins-18.c: Use { dg-add-options c99_runtime } instead of + target-specific dg-options. + * gcc.dg/builtins-20.c: Likewise. + * gcc.dg/builtins-53.c: Likewise. + * gcc.dg/builtins-55.c: Likewise. + * gcc.dg/single-precision-constant.c: Likewise. + * gcc.dg/torture/builtin-convert-1.c: Likewise. + * gcc.dg/torture/builtin-convert-2.c: Likewise. + * gcc.dg/torture/builtin-convert-3.c: Likewise. + * gcc.dg/torture/builtin-convert-4.c: Likewise. + * gcc.dg/torture/builtin-power-1.c: Likewise. + 2007-09-21 Chao-ying Fu <fu@mips.com> * lib/target-supports.exp (check_effective_target_fixed_point): New to diff --git a/gcc/testsuite/gcc.dg/builtins-18.c b/gcc/testsuite/gcc.dg/builtins-18.c index f4f64c1..9afaca2 100644 --- a/gcc/testsuite/gcc.dg/builtins-18.c +++ b/gcc/testsuite/gcc.dg/builtins-18.c @@ -7,8 +7,7 @@ /* { dg-do link } */ /* { dg-options "-O2 -ffast-math" } */ -/* { dg-options "-O2 -ffast-math -mmacosx-version-min=10.3" { target powerpc-*-darwin* } } */ -/* { dg-options "-O2 -ffast-math -std=c99" { target *-*-solaris2* } } */ +/* { dg-add-options c99_runtime } */ #include "builtins-config.h" diff --git a/gcc/testsuite/gcc.dg/builtins-20.c b/gcc/testsuite/gcc.dg/builtins-20.c index 9df23c4..4acb921 100644 --- a/gcc/testsuite/gcc.dg/builtins-20.c +++ b/gcc/testsuite/gcc.dg/builtins-20.c @@ -7,8 +7,7 @@ /* { dg-do link } */ /* { dg-options "-O2 -ffast-math" } */ -/* { dg-options "-O2 -ffast-math -mmacosx-version-min=10.3" { target powerpc-*-darwin* } } */ -/* { dg-options "-O2 -ffast-math -std=c99" { target *-*-solaris2* } } */ +/* { dg-add-options c99_runtime } */ #include "builtins-config.h" diff --git a/gcc/testsuite/gcc.dg/builtins-53.c b/gcc/testsuite/gcc.dg/builtins-53.c index 048cda9..9a50bf5 100644 --- a/gcc/testsuite/gcc.dg/builtins-53.c +++ b/gcc/testsuite/gcc.dg/builtins-53.c @@ -10,8 +10,7 @@ /* { dg-do compile } */ /* { dg-options "-O2 -ffast-math" } */ -/* { dg-options "-O2 -ffast-math -mmacosx-version-min=10.3" { target powerpc-*-darwin* } } */ -/* { dg-options "-O2 -ffast-math -std=c99" { target *-*-solaris2* } } */ +/* { dg-add-options c99_runtime } */ #include "builtins-config.h" diff --git a/gcc/testsuite/gcc.dg/builtins-55.c b/gcc/testsuite/gcc.dg/builtins-55.c index 7eebd63..0db7976 100644 --- a/gcc/testsuite/gcc.dg/builtins-55.c +++ b/gcc/testsuite/gcc.dg/builtins-55.c @@ -1,7 +1,6 @@ /* { dg-do link } */ /* { dg-options "-O2 -ffast-math" } */ -/* { dg-options "-ffast-math -mmacosx-version-min=10.3" { target powerpc-*-darwin* } } */ -/* { dg-options "-O2 -ffast-math -std=c99" { target *-*-solaris2* } } */ +/* { dg-add-options c99_runtime } */ #include "builtins-config.h" diff --git a/gcc/testsuite/gcc.dg/single-precision-constant.c b/gcc/testsuite/gcc.dg/single-precision-constant.c index 3cf9f8f..ffd893d 100644 --- a/gcc/testsuite/gcc.dg/single-precision-constant.c +++ b/gcc/testsuite/gcc.dg/single-precision-constant.c @@ -4,8 +4,7 @@ /* { dg-do run } */ /* { dg-options "-fsingle-precision-constant" } */ -/* { dg-options "-fsingle-precision-constant -mmacosx-version-min=10.3" { target powerpc-*-darwin* } } */ -/* { dg-options "-fsingle-precision-constant -std=c99" { target *-*-solaris2* } } */ +/* { dg-add-options c99_runtime } */ #include <math.h> #include <float.h> diff --git a/gcc/testsuite/gcc.dg/torture/builtin-convert-1.c b/gcc/testsuite/gcc.dg/torture/builtin-convert-1.c index 7886b9a..f13d29e 100644 --- a/gcc/testsuite/gcc.dg/torture/builtin-convert-1.c +++ b/gcc/testsuite/gcc.dg/torture/builtin-convert-1.c @@ -7,8 +7,7 @@ /* { dg-do link } */ /* { dg-options "-ffast-math" } */ -/* { dg-options "-ffast-math -mmacosx-version-min=10.3" { target powerpc-*-darwin* } } */ -/* { dg-options "-ffast-math -std=c99" { target *-*-solaris2* } } */ +/* { dg-add-options c99_runtime } */ #include "../builtins-config.h" diff --git a/gcc/testsuite/gcc.dg/torture/builtin-convert-2.c b/gcc/testsuite/gcc.dg/torture/builtin-convert-2.c index 312b2d4..167ecdd 100644 --- a/gcc/testsuite/gcc.dg/torture/builtin-convert-2.c +++ b/gcc/testsuite/gcc.dg/torture/builtin-convert-2.c @@ -7,8 +7,7 @@ /* { dg-do link } */ /* { dg-options "-ffast-math" } */ -/* { dg-options "-ffast-math -mmacosx-version-min=10.3" { target powerpc-*-darwin* } } */ -/* { dg-options "-ffast-math -std=c99" { target *-*-solaris2* } } */ +/* { dg-add-options c99_runtime } */ #include "../builtins-config.h" diff --git a/gcc/testsuite/gcc.dg/torture/builtin-convert-3.c b/gcc/testsuite/gcc.dg/torture/builtin-convert-3.c index 9be570b..2034b41 100644 --- a/gcc/testsuite/gcc.dg/torture/builtin-convert-3.c +++ b/gcc/testsuite/gcc.dg/torture/builtin-convert-3.c @@ -7,8 +7,7 @@ /* { dg-do link } */ /* { dg-options "-ffast-math" } */ -/* { dg-options "-ffast-math -mmacosx-version-min=10.3" { target powerpc-*-darwin* } } */ -/* { dg-options "-ffast-math -std=c99" { target *-*-solaris2* } } */ +/* { dg-add-options c99_runtime } */ #include "../builtins-config.h" diff --git a/gcc/testsuite/gcc.dg/torture/builtin-convert-4.c b/gcc/testsuite/gcc.dg/torture/builtin-convert-4.c index c37bd5e..3dc47ad 100644 --- a/gcc/testsuite/gcc.dg/torture/builtin-convert-4.c +++ b/gcc/testsuite/gcc.dg/torture/builtin-convert-4.c @@ -7,8 +7,7 @@ /* { dg-do compile } */ /* { dg-options "-ftrapping-math -fdump-tree-original" } */ -/* { dg-options "-ftrapping-math -fdump-tree-original -mmacosx-version-min=10.3" { target powerpc-*-darwin* } } */ -/* { dg-options "-ftrapping-math -fdump-tree-original -std=c99" { target *-*-solaris2* } } */ +/* { dg-add-options c99_runtime } */ #include "../builtins-config.h" diff --git a/gcc/testsuite/gcc.dg/torture/builtin-power-1.c b/gcc/testsuite/gcc.dg/torture/builtin-power-1.c index 58eabfe..a63ebf5 100644 --- a/gcc/testsuite/gcc.dg/torture/builtin-power-1.c +++ b/gcc/testsuite/gcc.dg/torture/builtin-power-1.c @@ -7,8 +7,7 @@ /* { dg-do link } */ /* { dg-options "-ffast-math" } */ -/* { dg-options "-ffast-math -mmacosx-version-min=10.3" { target powerpc-*-darwin* } } */ -/* { dg-options "-ffast-math -std=c99" { target *-*-solaris2* } } */ +/* { dg-add-options c99_runtime } */ #include "../builtins-config.h" diff --git a/gcc/testsuite/lib/target-supports-dg.exp b/gcc/testsuite/lib/target-supports-dg.exp index e7f9175..c4731c15 100644 --- a/gcc/testsuite/lib/target-supports-dg.exp +++ b/gcc/testsuite/lib/target-supports-dg.exp @@ -162,6 +162,22 @@ proc dg-require-host-local { args } { } } +# Add any target-specific flags needed for accessing the given list +# of features. This must come after all dg-options. + +proc dg-add-options { args } { + upvar dg-extra-tool-flags extra-tool-flags + + foreach arg [lrange $args 1 end] { + if { [info procs add_options_for_$arg] != "" } { + set extra-tool-flags \ + [eval [list add_options_for_$arg ${extra-tool-flags}]] + } else { + error "Unrecognized option type: $arg" + } + } +} + # Check the flags with which the test will be run against options in # a test directive that will skip or xfail that test. The DejaGnu proc # check_conditional_xfail will look at the options in compiler_flags, so diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp index 2aa8bcc..8bbb141 100644 --- a/gcc/testsuite/lib/target-supports.exp +++ b/gcc/testsuite/lib/target-supports.exp @@ -2562,3 +2562,15 @@ proc check_effective_target_wchar { } { #include <wchar.h> }] } + +# Add to FLAGS all the target-specific flags needed to access the c99 runtime. + +proc add_options_for_c99_runtime { flags } { + if { [istarget *-*-solaris2*] } { + return "$flags -std=c99" + } + if { [istarget powerpc-*-darwin*] } { + return "$flags -mmacosx-version-min=10.3" + } + return $flags +} |