> > These tests are still failing on darwin. I think tha > > target { ! *-*-solaris2* } { ! *-*-darwin* } > > sould be replaced with > > target { ! { *-*-solaris2* *-*-darwin* } } > > Could someone with a darwin box handy make the appropriate change?
I have never really understood the logic of the "target" syntax, so IMO the problem with the proposed change is not with darwin, but with other platforms I don't have access to. Indeed I have checked on x86_64-apple-darwin10 and powerpc-apple-darwin9 that the failures go away with the following patch: diff -up ../_clean/gcc/testsuite/g++.dg/ext/visibility/pragma-override1.C gcc/testsuite/g++.dg/ext/visibility/pragma-override1.C --- ../_clean/gcc/testsuite/g++.dg/ext/visibility/pragma-override1.C 2012-10-04 19:50:52.000000000 +0200 +++ gcc/testsuite/g++.dg/ext/visibility/pragma-override1.C 2012-10-08 10:29:40.000000000 +0200 @@ -1,7 +1,7 @@ /* Test that #pragma GCC visibility does not override class member specific settings. */ /* { dg-do compile } */ /* { dg-require-visibility "internal" } */ -/* { dg-final { scan-assembler "\\.internal.*Foo.methodEv" { target { ! *-*-solaris2* } { ! *-*-darwin* } } } }*/ +/* { dg-final { scan-assembler "\\.internal.*Foo.methodEv" { target { ! { *-*-solaris2* *-*-darwin* } } } } }*/ /* { dg-final { scan-assembler "\\.(internal|hidden).*Foo.methodEv" { target *-*-solaris2* } } } */ #pragma GCC visibility push(hidden) diff -up ../_clean/gcc/testsuite/g++.dg/ext/visibility/pragma-override2.C gcc/testsuite/g++.dg/ext/visibility/pragma-override2.C --- ../_clean/gcc/testsuite/g++.dg/ext/visibility/pragma-override2.C 2012-10-04 19:50:52.000000000 +0200 +++ gcc/testsuite/g++.dg/ext/visibility/pragma-override2.C 2012-10-08 10:30:32.000000000 +0200 @@ -1,7 +1,7 @@ /* Test that #pragma GCC visibility does not override class member specific settings. */ /* { dg-do compile } */ /* { dg-require-visibility "internal" } */ -/* { dg-final { scan-assembler "\\.internal.*Foo.methodEv" { target { ! *-*-solaris2* } { ! *-*-darwin* } } } } */ +/* { dg-final { scan-assembler "\\.internal.*Foo.methodEv" { target { ! { *-*-solaris2* *-*-darwin* } } } } } */ /* { dg-final { scan-assembler "\\.(internal|hidden).*Foo.methodEv" { target *-*-solaris2* } } } */ #pragma GCC visibility push(hidden) Dominique