This is the mail archive of the libstdc++@gcc.gnu.org mailing list for the libstdc++ project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

PATCH: Re: current gcc-mainline/i386-unknown-freebsd7.2 failures[...]


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]