From ccc71ab85a5737ed554c8586d7e1900897c16b86 Mon Sep 17 00:00:00 2001 From: Uros Bizjak Date: Wed, 3 Feb 2016 18:01:01 +0100 Subject: [PATCH] tsan-dg.exp (tsan_init): Move check if tsan executable works from here ... * lib/tsan-dg.exp (tsan_init): Move check if tsan executable works from here ... (check_effective_target_fsanitize_thread): ... to here. Do not specify additional compile flags for the test source. * lib/asan-dg.exp (check_effective_target_fsanitize_address): Do not specify additional compile flags for the test source. From-SVN: r233106 --- gcc/testsuite/ChangeLog | 9 ++++++++ gcc/testsuite/lib/asan-dg.exp | 2 +- gcc/testsuite/lib/tsan-dg.exp | 41 +++++++++++++++++++---------------- 3 files changed, 32 insertions(+), 20 deletions(-) diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 88ec6dca5941..8ad0a6074bbd 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,12 @@ +2016-02-03 Uros Bizjak + + * lib/tsan-dg.exp (tsan_init): Move check if tsan executable + works from here ... + (check_effective_target_fsanitize_thread): ... to here. Do not + specify additional compile flags for the test source. + * lib/asan-dg.exp (check_effective_target_fsanitize_address): Do not + specify additional compile flags for the test source. + 2016-02-03 Wilco Dijkstra * gcc.target/aarch64/ccmp_1.c: Fix test issue. diff --git a/gcc/testsuite/lib/asan-dg.exp b/gcc/testsuite/lib/asan-dg.exp index 994160eb1b98..a1198c0f201f 100644 --- a/gcc/testsuite/lib/asan-dg.exp +++ b/gcc/testsuite/lib/asan-dg.exp @@ -20,7 +20,7 @@ proc check_effective_target_fsanitize_address {} { return [check_no_compiler_messages fsanitize_address executable { int main (void) { return 0; } - } "-fsanitize=address"] + }] } proc asan_include_flags {} { diff --git a/gcc/testsuite/lib/tsan-dg.exp b/gcc/testsuite/lib/tsan-dg.exp index eb1f3a986f26..7ca10ab64f92 100644 --- a/gcc/testsuite/lib/tsan-dg.exp +++ b/gcc/testsuite/lib/tsan-dg.exp @@ -15,12 +15,31 @@ # . # Return 1 if compilation with -fsanitize=thread is error-free for trivial -# code, 0 otherwise. +# code, 0 otherwise. Also set what to do by default here, depending on the +# result of a runtime test. proc check_effective_target_fsanitize_thread {} { - return [check_runtime fsanitize_thread { + global individual_timeout + global dg-do-what-default + + if ![check_no_compiler_messages fsanitize_thread executable { int main (void) { return 0; } - } "-fsanitize=thread"] + }] { + return 0 + } + + # Lower timeout value in case test does not terminate properly. + set individual_timeout 20 + if [check_runtime_nocache tsan_works { + int main () { return 0; } + }] { + set dg-do-what-default run + } else { + set dg-do-what-default link + } + unset individual_timeout + + return 1 } # @@ -101,22 +120,6 @@ proc tsan_init { args } { set TEST_ALWAYS_FLAGS "$link_flags -fsanitize=thread -g" } } - - set dg-do-what-default run - if { $link_flags != "" } { - global individual_timeout - - # Lower timeout value in case test does not terminate properly. - set individual_timeout 20 - if [check_runtime_nocache tsan_works { - int main () { return 0; } - } "-fsanitize=thread -g"] { - set dg-do-what-default run - } else { - set dg-do-what-default compile - } - unset individual_timeout - } } # -- 2.47.2