The refactoring in r11-5500 altered the condition for the gthreads-timed
test from #if to #ifdef. For some reason that macro is always defined,
rather than being defined to 1 or undefined like most of our autoconf
macros. That means the test always passes now, even for targets where
the macro is defined to 0 (specifically, Darwin). That causes some tests
to FAIL when they should have been UNSUPPORTED.

This restores the previous behaviour.

libstdc++-v3/ChangeLog:

        * testsuite/lib/libstdc++.exp (check_v3_target_gthreads_timed):
        Fix condition for _GTHREAD_USE_MUTEX_TIMEDLOCK test.

Tested powerpc64le-linux. Committed to trunk.

commit b2bc1bb6cabf30f332938d648fe6432a3a9d27b6
Author: Jonathan Wakely <jwak...@redhat.com>
Date:   Thu Dec 17 14:28:17 2020

    libstdc++: Fix condition for gthreads-timed effective-target
    
    The refactoring in r11-5500 altered the condition for the gthreads-timed
    test from #if to #ifdef. For some reason that macro is always defined,
    rather than being defined to 1 or undefined like most of our autoconf
    macros. That means the test always passes now, even for targets where
    the macro is defined to 0 (specifically, Darwin). That causes some tests
    to FAIL when they should have been UNSUPPORTED.
    
    This restores the previous behaviour.
    
    libstdc++-v3/ChangeLog:
    
            * testsuite/lib/libstdc++.exp (check_v3_target_gthreads_timed):
            Fix condition for _GTHREAD_USE_MUTEX_TIMEDLOCK test.

diff --git a/libstdc++-v3/testsuite/lib/libstdc++.exp 
b/libstdc++-v3/testsuite/lib/libstdc++.exp
index aeb881f91a6..b7d7b906de4 100644
--- a/libstdc++-v3/testsuite/lib/libstdc++.exp
+++ b/libstdc++-v3/testsuite/lib/libstdc++.exp
@@ -1129,7 +1129,7 @@ proc check_effective_target_gthreads { } {
 proc check_v3_target_gthreads_timed { } {
     return [check_v3_target_prop_cached et_gthreads_timed {
        if [check_v3_target_gthreads] {
-           set cond "defined _GTHREAD_USE_MUTEX_TIMEDLOCK"
+           set cond "_GTHREAD_USE_MUTEX_TIMEDLOCK"
            return [v3_check_preprocessor_condition gthreads_timed $cond]
        } else {
            return 0

Reply via email to