target-supports.exp (check_effective_target_fgnu_tm): New proc.
authorHans-Peter Nilsson <hp@axis.com>
Tue, 14 Feb 2012 22:06:56 +0000 (22:06 +0000)
committerHans-Peter Nilsson <hp@gcc.gnu.org>
Tue, 14 Feb 2012 22:06:56 +0000 (22:06 +0000)
* 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

gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/tm/tm.exp
gcc/testsuite/gcc.dg/lto/trans-mem-1_0.c
gcc/testsuite/gcc.dg/lto/trans-mem-2_0.c
gcc/testsuite/gcc.dg/lto/trans-mem-3_0.c
gcc/testsuite/gcc.dg/lto/trans-mem-4_0.c
gcc/testsuite/gcc.dg/tm/tm.exp
gcc/testsuite/gfortran.dg/trans-mem-skel.f90
gcc/testsuite/lib/target-supports.exp

index d82d7d5..1a583e5 100644 (file)
@@ -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
index df40cdc..f191abc 100644 (file)
 # 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 {
index 556c99b..379f4ea 100644 (file)
@@ -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;
 
index b270602..f86d444 100644 (file)
@@ -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"
 
index 8a5ca75..f622823 100644 (file)
@@ -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
index 16332ee..e3f471f 100644 (file)
@@ -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));
 
index 3d24481..07c1493 100644 (file)
 # 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 {
index 7e56fad..f02dfaf 100644 (file)
@@ -1,5 +1,6 @@
 ! { dg-do compile }
 ! { dg-options "-fgnu-tm" }
+! { dg-require-effective-target fgnu_tm }
 program foo
       real x
 end program foo
index 02490d9..13f68df 100644 (file)
@@ -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 {} {