Summary: | FAIL: 30_threads/thread/native_handle/typesizes.cc execution test on darwin | ||
---|---|---|---|
Product: | gcc | Reporter: | Dominique d'Humieres <dominiq> |
Component: | target | Assignee: | Jonathan Wakely <redi> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | aoliva, iains, redi, ro |
Priority: | P3 | ||
Version: | 8.0 | ||
Target Milestone: | 8.4 | ||
Host: | x86_64-apple-darwin16 | Target: | x86_64-apple-darwin16 |
Build: | x86_64-apple-darwin16 | Known to work: | |
Known to fail: | Last reconfirmed: | 2018-12-03 00:00:00 | |
Attachments: | updated patch |
Description
Dominique d'Humieres
2017-06-30 15:06:35 UTC
This was previously only run for GNU/Linux, Solaris and AIX, but is now enabled for all pthreads targets. I don't think this particular test will ever pass for targets where is_pointer<pthread_t> is true. (In reply to Jonathan Wakely from comment #1) > This was previously only run for GNU/Linux, Solaris and AIX, but is now > enabled for all pthreads targets. I don't think this particular test will > ever pass for targets where is_pointer<pthread_t> is true. So - just skip this on Darwin, or invent some new target supports test for pthread-non-pointer? (not entirely sure that would be unequivocally trivial) Created attachment 46341 [details]
updated patch
I'm testing this - the posted one didn't build on Darwin.
Author: redi Date: Fri May 10 21:41:23 2019 New Revision: 271080 URL: https://gcc.gnu.org/viewcvs?rev=271080&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. PR libstdc++/81266 * testsuite/util/thread/all.h: Do not use remove_pointer for std::thread::native_handle_type. Modified: trunk/libstdc++-v3/ChangeLog trunk/libstdc++-v3/testsuite/util/thread/all.h Fixed on trunk, needed on 9 and 8. Author: redi Date: Sat May 11 11:35:59 2019 New Revision: 271094 URL: https://gcc.gnu.org/viewcvs?rev=271094&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-9-branch/libstdc++-v3/ChangeLog branches/gcc-9-branch/libstdc++-v3/testsuite/util/thread/all.h 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 Fixed for 8.4 and 9.2 |