PATCH: Re: current gcc-mainline/i386-unknown-freebsd7.2 failures[...]
Loren James Rittle
rittle@latour.labs.mot.com
Wed Sep 9 22:32:00 GMT 2009
In article <200908212122.n7LLMBlr091972@latour.labs.mot.com>, I wrote:
> [...]/libstdc++-v3/testsuite/util/thread/all.h:45:35: error: invalid \
> application of 'sizeof' to incomplete type \
> '__gnu_test::compare_type_to_native_type() \
> [with _Tp = std::thread]::native_type'
> [...additional compilation errors...]
> FAIL: 30_threads/thread/native_handle/typesizes.cc (test for excess errors)
> The problem here is that FreeBSD does not expose the implementation of
> pthread_t to user code (nor could it given the number of unique
> implementations that may be applied at run-time). Here is what you
> get from the system headers:
> struct pthread;
> typedef struct pthread *pthread_t;
> Therefore, I think I have to mark this test as xfail for *-*-freebsd*.
> It will never pass as written. In any event, I admit that I don't
> really understand the purpose of this test. Why does std::thread need
> to match size/alignment with the underlying native thread library
> implementation? (for they are never, ever interchangeable, are they?)
No comments about the above observation/question were seen in the last
two weeks thus, as applied to mainline (-c151578):
2009-09-09 Loren J. Rittle <ljrittle@acm.org>
* testsuite/30_threads/thread/native_handle/typesizes.cc: Remove
*-*-freebsd* from both dg-do and dg-options.
Index: libstdc++-v3/testsuite/30_threads/thread/native_handle/typesizes.cc
===================================================================
--- libstdc++-v3/testsuite/30_threads/thread/native_handle/typesizes.cc (revision 151574)
+++ libstdc++-v3/testsuite/30_threads/thread/native_handle/typesizes.cc (working copy)
@@ -1,5 +1,5 @@
-// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
+// { dg-do run { target *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
+// { dg-options " -std=gnu++0x -pthread" { target *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
// { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
// { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
// { dg-require-cstdint "" }
Regards,
Loren
More information about the Libstdc++
mailing list