aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHans-Peter Nilsson <hp@axis.com>2012-02-14 22:06:56 +0000
committerHans-Peter Nilsson <hp@gcc.gnu.org>2012-02-14 22:06:56 +0000
commit5cd3514cddd76e0a33208f85c3a623c7fb53470c (patch)
tree250c7bee258347e13b4186f79db8f18d6e627e41
parent169264b3729134eaa40121199180979395181657 (diff)
downloadgcc-5cd3514cddd76e0a33208f85c3a623c7fb53470c.zip
gcc-5cd3514cddd76e0a33208f85c3a623c7fb53470c.tar.gz
gcc-5cd3514cddd76e0a33208f85c3a623c7fb53470c.tar.bz2
target-supports.exp (check_effective_target_fgnu_tm): New proc.
* lib/target-supports.exp (check_effective_target_fgnu_tm): New proc. * gfortran.dg/trans-mem-skel.f90: Gate test on effective_target fgnu_tm. * gcc.dg/lto/trans-mem-1_0.c, gcc.dg/lto/trans-mem-2_0.c, gcc.dg/lto/trans-mem-3_0.c, gcc.dg/lto/trans-mem-4_0.c: Ditto. * gcc.dg/tm/tm.exp: Gate the whole of gcc.dg/tm on effective_target fgnu_tm. * g++.dg/tm/tm.exp: Ditto for g++.dg/tm. From-SVN: r184237
-rw-r--r--gcc/testsuite/ChangeLog12
-rw-r--r--gcc/testsuite/g++.dg/tm/tm.exp4
-rw-r--r--gcc/testsuite/gcc.dg/lto/trans-mem-1_0.c1
-rw-r--r--gcc/testsuite/gcc.dg/lto/trans-mem-2_0.c1
-rw-r--r--gcc/testsuite/gcc.dg/lto/trans-mem-3_0.c1
-rw-r--r--gcc/testsuite/gcc.dg/lto/trans-mem-4_0.c1
-rw-r--r--gcc/testsuite/gcc.dg/tm/tm.exp4
-rw-r--r--gcc/testsuite/gfortran.dg/trans-mem-skel.f901
-rw-r--r--gcc/testsuite/lib/target-supports.exp9
9 files changed, 34 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index d82d7d5..1a583e5 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,15 @@
+2012-02-14 Hans-Peter Nilsson <hp@axis.com>
+
+ * lib/target-supports.exp (check_effective_target_fgnu_tm): New
+ proc.
+ * gfortran.dg/trans-mem-skel.f90: Gate test on effective_target
+ fgnu_tm.
+ * gcc.dg/lto/trans-mem-1_0.c, gcc.dg/lto/trans-mem-2_0.c,
+ gcc.dg/lto/trans-mem-3_0.c, gcc.dg/lto/trans-mem-4_0.c: Ditto.
+ * gcc.dg/tm/tm.exp: Gate the whole of gcc.dg/tm on
+ effective_target fgnu_tm.
+ * g++.dg/tm/tm.exp: Ditto for g++.dg/tm.
+
2012-02-14 Jakub Jelinek <jakub@redhat.com>
PR c++/52247
diff --git a/gcc/testsuite/g++.dg/tm/tm.exp b/gcc/testsuite/g++.dg/tm/tm.exp
index df40cdc..f191abc 100644
--- a/gcc/testsuite/g++.dg/tm/tm.exp
+++ b/gcc/testsuite/g++.dg/tm/tm.exp
@@ -19,6 +19,10 @@
# Load support procs.
load_lib g++-dg.exp
+if ![check_effective_target_fgnu_tm] {
+ return
+}
+
# If a testcase doesn't have special options, use these.
global DEFAULT_CXXFLAGS
if ![info exists DEFAULT_CXXFLAGS] then {
diff --git a/gcc/testsuite/gcc.dg/lto/trans-mem-1_0.c b/gcc/testsuite/gcc.dg/lto/trans-mem-1_0.c
index 556c99b..379f4ea 100644
--- a/gcc/testsuite/gcc.dg/lto/trans-mem-1_0.c
+++ b/gcc/testsuite/gcc.dg/lto/trans-mem-1_0.c
@@ -1,6 +1,7 @@
/* { dg-lto-options {{-flto -fgnu-tm}} } */
/* { dg-lto-do link } */
/* { dg-require-effective-target stdint_types } */
+/* { dg-require-effective-target fgnu_tm } */
int i;
diff --git a/gcc/testsuite/gcc.dg/lto/trans-mem-2_0.c b/gcc/testsuite/gcc.dg/lto/trans-mem-2_0.c
index b270602..f86d444 100644
--- a/gcc/testsuite/gcc.dg/lto/trans-mem-2_0.c
+++ b/gcc/testsuite/gcc.dg/lto/trans-mem-2_0.c
@@ -1,6 +1,7 @@
/* { dg-lto-options {{-flto -fgnu-tm}} } */
/* { dg-lto-do link } */
/* { dg-require-effective-target stdint_types } */
+/* { dg-require-effective-target fgnu_tm } */
#include "trans-mem.h"
diff --git a/gcc/testsuite/gcc.dg/lto/trans-mem-3_0.c b/gcc/testsuite/gcc.dg/lto/trans-mem-3_0.c
index 8a5ca75..f622823 100644
--- a/gcc/testsuite/gcc.dg/lto/trans-mem-3_0.c
+++ b/gcc/testsuite/gcc.dg/lto/trans-mem-3_0.c
@@ -1,6 +1,7 @@
/* { dg-lto-options {{-flto}} } */
/* { dg-lto-do link } */
/* { dg-require-effective-target stdint_types } */
+/* { dg-require-effective-target fgnu_tm } */
/* Test that we can build one object file with -fgnu-tm
(trans-mem-3_1.c), but do the final link of all objects without
diff --git a/gcc/testsuite/gcc.dg/lto/trans-mem-4_0.c b/gcc/testsuite/gcc.dg/lto/trans-mem-4_0.c
index 16332ee..e3f471f 100644
--- a/gcc/testsuite/gcc.dg/lto/trans-mem-4_0.c
+++ b/gcc/testsuite/gcc.dg/lto/trans-mem-4_0.c
@@ -1,6 +1,7 @@
/* { dg-lto-options {{-flto -fgnu-tm}} } */
/* { dg-lto-do link } */
/* { dg-require-effective-target stdint_types } */
+/* { dg-require-effective-target fgnu_tm } */
extern void foo() __attribute__((transaction_safe));
diff --git a/gcc/testsuite/gcc.dg/tm/tm.exp b/gcc/testsuite/gcc.dg/tm/tm.exp
index 3d24481..07c1493 100644
--- a/gcc/testsuite/gcc.dg/tm/tm.exp
+++ b/gcc/testsuite/gcc.dg/tm/tm.exp
@@ -19,6 +19,10 @@
# Load support procs.
load_lib gcc-dg.exp
+if ![check_effective_target_fgnu_tm] {
+ return
+}
+
# If a testcase doesn't have special options, use these.
global DEFAULT_CFLAGS
if ![info exists DEFAULT_CFLAGS] then {
diff --git a/gcc/testsuite/gfortran.dg/trans-mem-skel.f90 b/gcc/testsuite/gfortran.dg/trans-mem-skel.f90
index 7e56fad..f02dfaf 100644
--- a/gcc/testsuite/gfortran.dg/trans-mem-skel.f90
+++ b/gcc/testsuite/gfortran.dg/trans-mem-skel.f90
@@ -1,5 +1,6 @@
! { dg-do compile }
! { dg-options "-fgnu-tm" }
+! { dg-require-effective-target fgnu_tm }
program foo
real x
end program foo
diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp
index 02490d9..13f68df 100644
--- a/gcc/testsuite/lib/target-supports.exp
+++ b/gcc/testsuite/lib/target-supports.exp
@@ -716,6 +716,15 @@ proc check_effective_target_fopenmp {} {
} "-fopenmp"]
}
+# Return 1 if compilation with -fgnu-tm is error-free for trivial
+# code, 0 otherwise.
+
+proc check_effective_target_fgnu_tm {} {
+ return [check_no_compiler_messages fgnu_tm object {
+ void foo (void) { }
+ } "-fgnu-tm"]
+}
+
# Return 1 if the target supports mmap, 0 otherwise.
proc check_effective_target_mmap {} {