Patchwork RFA: darwin PATCH to fix build, internal visibility

login
register
mail settings
Submitter Dominique Dhumieres
Date Oct. 9, 2012, 1:48 p.m.
Message ID <20121009134828.322CA3BABA@mailhost.lps.ens.fr>
Download mbox | patch
Permalink /patch/190308/
State New
Headers show

Comments

Dominique Dhumieres - Oct. 9, 2012, 1:48 p.m.
> > 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:


Dominique
Mike Stump - Oct. 9, 2012, 8:13 p.m.
On Oct 9, 2012, at 6:48 AM, Dominique Dhumieres <dominiq@lps.ens.fr> wrote:
>>> 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.

Ok.  I think it is pretty safe, if darwin works.

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)