aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Sandiford <rsandifo@nildram.co.uk>2007-09-22 08:25:43 +0000
committerRichard Sandiford <rsandifo@gcc.gnu.org>2007-09-22 08:25:43 +0000
commitdb9a0df07fc938a874309c5af28895bc347c0673 (patch)
treeb00e7aec4dda4dbb2575b72c8700baf93a2fcdf7 /gcc
parent1733c7eb5be0f1770c50801c01f56796d90459a7 (diff)
downloadgcc-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
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/doc/sourcebuild.texi12
-rw-r--r--gcc/testsuite/ChangeLog16
-rw-r--r--gcc/testsuite/gcc.dg/builtins-18.c3
-rw-r--r--gcc/testsuite/gcc.dg/builtins-20.c3
-rw-r--r--gcc/testsuite/gcc.dg/builtins-53.c3
-rw-r--r--gcc/testsuite/gcc.dg/builtins-55.c3
-rw-r--r--gcc/testsuite/gcc.dg/single-precision-constant.c3
-rw-r--r--gcc/testsuite/gcc.dg/torture/builtin-convert-1.c3
-rw-r--r--gcc/testsuite/gcc.dg/torture/builtin-convert-2.c3
-rw-r--r--gcc/testsuite/gcc.dg/torture/builtin-convert-3.c3
-rw-r--r--gcc/testsuite/gcc.dg/torture/builtin-convert-4.c3
-rw-r--r--gcc/testsuite/gcc.dg/torture/builtin-power-1.c3
-rw-r--r--gcc/testsuite/lib/target-supports-dg.exp16
-rw-r--r--gcc/testsuite/lib/target-supports.exp12
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
+}