@@ -1,3 +1,9 @@
+2015-07-23 Thomas Schwinge <thomas@codesourcery.com>
+
+ * testsuite/libgomp.oacc-c++/c++.exp: Run ttests with
+ gcc-dg-runtest.
+ * testsuite/libgomp.oacc-c/c.exp: Likewise.
+
2015-07-22 Thomas Schwinge <thomas@codesourcery.com>
* testsuite/libgomp.oacc-c-c++-common/lib-1.c: Remove explicit
@@ -1,5 +1,12 @@
# This whole file adapted from libgomp.c++/c++.exp.
+# To avoid testing time exploding too much, limit any torture testing to -O0
+# and -O2 only, under the assumption that between -O0 and -O[something] there
+# is the biggest difference in the overall structure of the generated code.
+set TORTURE_OPTIONS [list \
+ { -O0 } \
+ { -O2 } ]
+
load_lib libgomp-dg.exp
load_gcc_lib gcc-dg.exp
@@ -61,6 +68,22 @@ if { $lang_test_file_found } {
set tests [lsort [concat \
[find $srcdir/$subdir *.C] \
[find $srcdir/$subdir/../libgomp.oacc-c-c++-common *.c]]]
+ # To get better test coverage for device-specific code that is only ever
+ # used in offloading configurations, we'd like more thorough (torture)
+ # testing for test cases that are dealing with the specifics of
+ # gang/worker/vector single/redundant/partitioned modes. They're selected
+ # based on their file names -- not a perfect property to detect such test
+ # cases, but should be sufficient.
+ set ttests [lsort -unique [concat \
+ [find $srcdir/$subdir/../libgomp.oacc-c-c++-common *gang*.c] \
+ [find $srcdir/$subdir/../libgomp.oacc-c-c++-common *worker*.c] \
+ [find $srcdir/$subdir/../libgomp.oacc-c-c++-common *vec*.c]]]
+ # tests := tests - ttests.
+ foreach t $ttests {
+ set i [lsearch -exact $tests $t]
+ set tests [lreplace $tests $i $i]
+ }
+
if { $blddir != "" } {
set ld_library_path "$always_ld_library_path:${blddir}/${lang_library_path}"
@@ -116,6 +139,7 @@ if { $lang_test_file_found } {
set tagopt "$tagopt -DACC_MEM_SHARED=$acc_mem_shared"
dg-runtest $tests "$tagopt" "$libstdcxx_includes $DEFAULT_CFLAGS"
+ gcc-dg-runtest $ttests "$tagopt" "$libstdcxx_includes"
}
}
@@ -124,5 +148,7 @@ if { [info exists HAVE_SET_GXX_UNDER_TEST] } {
unset GXX_UNDER_TEST
}
+unset TORTURE_OPTIONS
+
# All done.
dg-finish
@@ -11,6 +11,13 @@ if [info exists lang_include_flags] then {
unset lang_include_flags
}
+# To avoid testing time exploding too much, limit any torture testing to -O0
+# and -O2 only, under the assumption that between -O0 and -O[something] there
+# is the biggest difference in the overall structure of the generated code.
+set TORTURE_OPTIONS [list \
+ { -O0 } \
+ { -O2 } ]
+
load_lib libgomp-dg.exp
load_gcc_lib gcc-dg.exp
@@ -31,6 +38,21 @@ lappend libgomp_compile_options "compiler=$GCC_UNDER_TEST"
set tests [lsort [concat \
[find $srcdir/$subdir *.c] \
[find $srcdir/$subdir/../libgomp.oacc-c-c++-common *.c]]]
+# To get better test coverage for device-specific code that is only ever
+# used in offloading configurations, we'd like more thorough (torture)
+# testing for test cases that are dealing with the specifics of
+# gang/worker/vector single/redundant/partitioned modes. They're selected
+# based on their file names -- not a perfect property to detect such test
+# cases, but should be sufficient.
+set ttests [lsort -unique [concat \
+ [find $srcdir/$subdir/../libgomp.oacc-c-c++-common *gang*.c] \
+ [find $srcdir/$subdir/../libgomp.oacc-c-c++-common *worker*.c] \
+ [find $srcdir/$subdir/../libgomp.oacc-c-c++-common *vec*.c]]]
+# tests := tests - ttests.
+foreach t $ttests {
+ set i [lsearch -exact $tests $t]
+ set tests [lreplace $tests $i $i]
+}
set ld_library_path $always_ld_library_path
append ld_library_path [gcc-set-multilib-library-path $GCC_UNDER_TEST]
@@ -75,7 +97,10 @@ foreach offload_target_openacc $offload_targets_s_openacc {
set tagopt "$tagopt -DACC_MEM_SHARED=$acc_mem_shared"
dg-runtest $tests "$tagopt" $DEFAULT_CFLAGS
+ gcc-dg-runtest $ttests "$tagopt" ""
}
+unset TORTURE_OPTIONS
+
# All done.
dg-finish