http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54407



--- Comment #10 from Jack Howarth <howarth at nitro dot med.uc.edu> 2012-10-14 
21:12:20 UTC ---

I think you need to use...



// { dg-xfail-if "broken pthreads before darwin10" { *-*-darwin9* *-*-darwin10*

} { "*" } { "" } }



instead of dg-do-compile. From

http://gcc.gnu.org/onlinedocs/gcc-4.1.2/gccint/Test-Directives.html,

note...



If the directive includes the optional `{ xfail selector }' and the selector is

met then the test is expected to fail. For dg-do run, execution is expected to

fail but compilation is expected to pass. 



since you already are passing dg-do-run a target selector, an additional

dg-xfail-if is required. This

combination works here on x86_64-apple-darwin12....



Index: libstdc++-v3/testsuite/30_threads/condition_variable/54185.cc

===================================================================

--- libstdc++-v3/testsuite/30_threads/condition_variable/54185.cc    (revision

192440)

+++ libstdc++-v3/testsuite/30_threads/condition_variable/54185.cc    (working

copy)

@@ -1,4 +1,5 @@

-// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris*

*-*-cygwin *-*-darwin* powerpc-ibm-aix* } }

+// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris*

*-*-cygwin *-*-darwin1[1-9]* powerpc-ibm-aix* } }

+// { dg-xfail-if "broken pthreads before darwin10" { *-*-darwin9*

*-*-darwin10* } { "*" } { "" } }

 // { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd*

*-*-linux* powerpc-ibm-aix* } }

 // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }

 // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }

Reply via email to