[Bug target/81266] FAIL: 30_threads/thread/native_handle/typesizes.cc execution test on darwin

redi at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Sat May 11 11:39:00 GMT 2019


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81266

--- Comment #8 from Jonathan Wakely <redi at gcc dot gnu.org> ---
Author: redi
Date: Sat May 11 11:38:51 2019
New Revision: 271095

URL: https://gcc.gnu.org/viewcvs?rev=271095&root=gcc&view=rev
Log:
PR libstdc++/81266 fix std::thread::native_handle_type test

The test uses remove_pointer because in most cases native_handle_type is
a pointer to the actual type that the C++ class contains. However, for
std::thread, native_handle_type is the same type as the type contained
in std::thread, and so remove_pointer is not needed. On targets where
pthread_t is a pointer type remove_pointer<native_handle_type> is not a
no-op, instead it transforms pthread_t and causes the test to fail.

The fix is to not apply remove_pointer when testing std::thread.

Backport from mainline
2019-05-10  Jonathan Wakely  <jwakely@redhat.com>

        PR libstdc++/81266
        * testsuite/util/thread/all.h: Do not use remove_pointer for
        std::thread::native_handle_type.

Modified:
    branches/gcc-8-branch/libstdc++-v3/ChangeLog
    branches/gcc-8-branch/libstdc++-v3/testsuite/util/thread/all.h


More information about the Gcc-bugs mailing list