aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeorg-Johann Lay <avr@gjlay.de>2013-07-19 07:53:11 +0000
committerGeorg-Johann Lay <gjl@gcc.gnu.org>2013-07-19 07:53:11 +0000
commit1a15a8ca5e0743deb3855c29532691a6b0df2b21 (patch)
treec6d6b586f9c049a033b8f632ff8dd04679069dc0
parente0fc81aa08ce342e3f61ec04dae6eb0fdc256e78 (diff)
downloadgcc-1a15a8ca5e0743deb3855c29532691a6b0df2b21.zip
gcc-1a15a8ca5e0743deb3855c29532691a6b0df2b21.tar.gz
gcc-1a15a8ca5e0743deb3855c29532691a6b0df2b21.tar.bz2
target-supports.exp (check_effective_target_cilkplus): New proc.
* lib/target-supports.exp (check_effective_target_cilkplus): New proc. * gcc.dg/cilk-plus/cilk-plus.exp: only run if check_effective_target_cilkplus. * g++.dg/cilk-plus/cilk-plus.exp: Same. From-SVN: r201048
-rw-r--r--gcc/testsuite/ChangeLog7
-rw-r--r--gcc/testsuite/g++.dg/cilk-plus/cilk-plus.exp4
-rw-r--r--gcc/testsuite/gcc.dg/cilk-plus/cilk-plus.exp4
-rw-r--r--gcc/testsuite/lib/target-supports.exp18
4 files changed, 33 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 53dd6c1..d5f4c32 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,10 @@
+2013-07-19 Georg-Johann Lay <avr@gjlay.de>
+
+ * lib/target-supports.exp (check_effective_target_cilkplus): New proc.
+ * gcc.dg/cilk-plus/cilk-plus.exp: only run if
+ check_effective_target_cilkplus.
+ * g++.dg/cilk-plus/cilk-plus.exp: Same.
+
2013-07-18 Pat Haugen <pthaugen@us.ibm.com>
* gcc.target/powerpc/pr57744.c: Fix typo.
diff --git a/gcc/testsuite/g++.dg/cilk-plus/cilk-plus.exp b/gcc/testsuite/g++.dg/cilk-plus/cilk-plus.exp
index a153529..7e0fda5 100644
--- a/gcc/testsuite/g++.dg/cilk-plus/cilk-plus.exp
+++ b/gcc/testsuite/g++.dg/cilk-plus/cilk-plus.exp
@@ -19,6 +19,10 @@
load_lib g++-dg.exp
+if { ![check_effective_target_cilkplus] } {
+ return;
+}
+
dg-init
dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/AN/*.c]] " -fcilkplus" " "
dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/AN/*.c]] " -O0 -fcilkplus" " "
diff --git a/gcc/testsuite/gcc.dg/cilk-plus/cilk-plus.exp b/gcc/testsuite/gcc.dg/cilk-plus/cilk-plus.exp
index 59b2305..2533feb 100644
--- a/gcc/testsuite/gcc.dg/cilk-plus/cilk-plus.exp
+++ b/gcc/testsuite/gcc.dg/cilk-plus/cilk-plus.exp
@@ -19,6 +19,10 @@
load_lib gcc-dg.exp
+if { ![check_effective_target_cilkplus] } {
+ return;
+}
+
dg-init
dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/AN/*.c]] " -fcilkplus" " "
dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/AN/*.c]] " -O0 -fcilkplus" " "
diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp
index 936c97a..fe51fde 100644
--- a/gcc/testsuite/lib/target-supports.exp
+++ b/gcc/testsuite/lib/target-supports.exp
@@ -1132,6 +1132,24 @@ proc check_effective_target_static_libgfortran { } {
} "-static"]
}
+# Return 1 if cilk-plus is supported by the target, 0 otherwise.
+
+proc check_effective_target_cilkplus { } {
+ # Skip cilk-plus tests on int16 and size16 targets for now.
+ # The cilk-plus tests are not generic enough to cover these
+ # cases and would throw hundreds of FAILs.
+ if { [check_effective_target_int16]
+ || ![check_effective_target_size32plus] } {
+ return 0;
+ }
+
+ # Skip AVR, its RAM is too small and too many tests would fail.
+ if { [istarget avr-*-*] } {
+ return 0;
+ }
+ return 1
+}
+
proc check_linker_plugin_available { } {
return [check_no_compiler_messages_nocache linker_plugin executable {
int main() { return 0; }