scanasm.exp (hidden-scan-for): Add XCOFF support.
authorDavid Edelsohn <dje.gcc@gmail.com>
Mon, 7 Nov 2016 20:33:30 +0000 (20:33 +0000)
committerDavid Edelsohn <dje@gcc.gnu.org>
Mon, 7 Nov 2016 20:33:30 +0000 (15:33 -0500)
        * lib/scanasm.exp (hidden-scan-for): Add XCOFF support.

        * gfortran.dg/implicit_class_1.f90: Skip on AIX.
        * gcc.dg/visibility-14.c: XFAIL AIX.
        * gcc.dg/visibility-15.c: XFAIL AIX.
        * gcc.dg/visibility-16.c: XFAIL AIX.
        * gcc.dg/visibility-17.c: XFAIL AIX.
        * gcc.dg/visibility-18.c: XFAIL AIX.
        * gcc.dg/visibility-19.c: XFAIL AIX.
        * g++.dg/ext/visibility/anon1.C: XFAIL AIX.
        * g++.dg/ext/visibility/anon2.C: XFAIL AIX.
        * g++.dg/ext/visibility/pragma-override1.C: XFAIL AIX.
        * g++.dg/ext/visibility/pragma-override2.C: XFAIL AIX.

From-SVN: r241934

13 files changed:
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/ext/visibility/anon1.C
gcc/testsuite/g++.dg/ext/visibility/anon2.C
gcc/testsuite/g++.dg/ext/visibility/pragma-override1.C
gcc/testsuite/g++.dg/ext/visibility/pragma-override2.C
gcc/testsuite/gcc.dg/visibility-14.c
gcc/testsuite/gcc.dg/visibility-15.c
gcc/testsuite/gcc.dg/visibility-16.c
gcc/testsuite/gcc.dg/visibility-17.c
gcc/testsuite/gcc.dg/visibility-18.c
gcc/testsuite/gcc.dg/visibility-19.c
gcc/testsuite/gfortran.dg/implicit_class_1.f90
gcc/testsuite/lib/scanasm.exp

index ba56fa6f682e64bf8baa5d65e54aaf012cce1f36..5dc544e16feeb9e6b1957c52c6eccf66d598809e 100644 (file)
@@ -1,3 +1,19 @@
+2016-11-07  David Edelsohn  <dje.gcc@gmail.com>
+
+       * lib/scanasm.exp (hidden-scan-for): Add XCOFF support.
+
+       * gfortran.dg/implicit_class_1.f90: Skip on AIX.
+       * gcc.dg/visibility-14.c: XFAIL AIX.
+       * gcc.dg/visibility-15.c: XFAIL AIX.
+       * gcc.dg/visibility-16.c: XFAIL AIX.
+       * gcc.dg/visibility-17.c: XFAIL AIX.
+       * gcc.dg/visibility-18.c: XFAIL AIX.
+       * gcc.dg/visibility-19.c: XFAIL AIX.
+       * g++.dg/ext/visibility/anon1.C: XFAIL AIX.
+       * g++.dg/ext/visibility/anon2.C: XFAIL AIX.
+       * g++.dg/ext/visibility/pragma-override1.C: XFAIL AIX.
+       * g++.dg/ext/visibility/pragma-override2.C: XFAIL AIX.
+
 2016-11-07  Jakub Jelinek  <jakub@redhat.com>
 
        PR target/78227
index 1f3be3b774badd54aacaf9079a8a76b8b2e36ace..0135f931a6f75e3571448e7d311abdef025305f0 100644 (file)
@@ -2,7 +2,7 @@
 // Test for anonymous namespace internal linkage
 
 // { dg-do compile }
-// { dg-final { scan-assembler-not "globl.*_ZN.*1fEv" } }
+// { dg-final { scan-assembler-not "globl.*_ZN.*1fEv" { xfail *-*-aix* } } }
 // { dg-require-visibility "" }
 
 namespace
index 4902296312760e290e145820c28a376eb2132fa0..dcf0e64fa23c649ae5e4a16624b9711d47871410 100644 (file)
@@ -1,7 +1,7 @@
 // Test for propagation of anonymous namespace internal linkage
 
 // { dg-do compile }
-// { dg-final { scan-assembler-not "globl.*_Z1fv" } }
+// { dg-final { scan-assembler-not "globl.*_Z1fv" { xfail *-*-aix* } } }
 // { dg-require-visibility "" }
 
 namespace
index c13161d3ceb1e6f343824bae0e8c2145da118e96..b6bc0c5466a543174e05aeae9f86f2a2cd1ebff3 100644 (file)
@@ -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* *-*-aix* } } } } } */
 /* { dg-final { scan-assembler "\\.(internal|hidden).*Foo.methodEv" { target *-*-solaris2* } } } */
 
 #pragma GCC visibility push(hidden)
index 25e9ceac07605b4435c7e5130bcc07cd52ae9752..8499ceff60a6ff0bff486eb9434a91ea3675fb43 100644 (file)
@@ -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* *-*-aix* } } } } } */
 /* { dg-final { scan-assembler "\\.(internal|hidden).*Foo.methodEv" { target *-*-solaris2* } } } */
 
 #pragma GCC visibility push(hidden)
index 1c01f8399dbd98e492dff1e7045e51eccef23adf..e1d85f0ed25c9aaef108879864e732fb212bdea0 100644 (file)
@@ -2,7 +2,7 @@
 /* { dg-do compile } */
 /* { dg-skip-if "" { *-*-darwin* } { "*" } { "" } } */
 /* { dg-require-visibility "" } */
-/* { dg-final { scan-hidden "foo" } } */
+/* { dg-final { scan-hidden "foo" { xfail *-*-aix* } } } */
 
 extern void foo(void) __attribute__ ((visibility ("hidden")));
 int f () {
index 8d331d76cae7174f3d8244d7236e56af1f7ae376..4e69fa1db4cbdce85d4e2d3e74c1d69e33620fd9 100644 (file)
@@ -2,7 +2,7 @@
 /* { dg-do compile } */
 /* { dg-skip-if "" { *-*-darwin* } { "*" } { "" } } */
 /* { dg-require-visibility "" } */
-/* { dg-final { scan-hidden "foo" } } */
+/* { dg-final { scan-hidden "foo" { xfail *-*-aix* } } } */
 
 extern void foo(void) __attribute__ ((visibility ("hidden")));
 typedef void (*foo_t)(void);
index 52a25cdef813fc63d5bfac974c64071c30aaba9f..dcd5448d182ddb40760f8edd3e141b67669a4c1d 100644 (file)
@@ -2,7 +2,7 @@
 /* { dg-do compile } */
 /* { dg-skip-if "" { *-*-darwin* } { "*" } { "" } } */
 /* { dg-require-visibility "" } */
-/* { dg-final { scan-hidden "foo" } } */
+/* { dg-final { scan-hidden "foo" { xfail *-*-aix* } } } */
 
 extern int foo __attribute__ ((visibility ("hidden")));
 int f () {
index 0ff3e83de4b707749ccd017553c65c9569710e47..dc90d35839f564ec6d601317780148f6e39ba735 100644 (file)
@@ -2,7 +2,7 @@
 /* { dg-do compile } */
 /* { dg-skip-if "" { *-*-darwin* } { "*" } { "" } } */
 /* { dg-require-visibility "" } */
-/* { dg-final { scan-hidden "foo" } } */
+/* { dg-final { scan-hidden "foo" { xfail *-*-aix* } } } */
 
 extern int foo __attribute__ ((visibility ("hidden")));
 int *f () {
index f54c73b198a14a9b388f2d336525a38b54429466..653e3b1971f4d267efaa6a8892f7d90857e31dbf 100644 (file)
@@ -2,7 +2,7 @@
 /* { dg-do compile } */
 /* { dg-skip-if "" { *-*-darwin* } { "*" } { "" } } */
 /* { dg-require-visibility "" } */
-/* { dg-final { scan-hidden "foo" } } */
+/* { dg-final { scan-hidden "foo" { xfail *-*-aix* } } } */
 
 extern int foo __attribute__ ((visibility ("hidden")));
 int *test = &foo;
index 3c2455fb291cb5d479d356fdc88529ee1bd9b46a..2b0b9beb401a74b3c7b0c2ba2ea88120337bbec5 100644 (file)
@@ -2,7 +2,7 @@
 /* { dg-do compile } */
 /* { dg-skip-if "" { *-*-darwin* } { "*" } { "" } } */
 /* { dg-require-visibility "" } */
-/* { dg-final { scan-hidden "foo" } } */
+/* { dg-final { scan-hidden "foo" { xfail *-*-aix* } } } */
 
 extern void foo(void) __attribute__ ((visibility ("hidden")));
 typedef void (*foo_t)(void);
index 2ab90405eb0095325384bbbaec58ae6c20ba3ccd..380942cfdba559aa94c23ebcddd76196d657f288 100644 (file)
@@ -1,4 +1,5 @@
 ! { dg-do run }
+! { dg-skip-if "" { powerpc-ibm-aix* } { "*" } { "" } }
 !
 ! PR 56500: [OOP] "IMPLICIT CLASS(...)" wrongly rejected
 !
index 07b8f7d834d3e0bd817b006c0c651770f778ebf5..707f63bea24eaa1663e78ff99e85b1d215b56223 100644 (file)
@@ -103,6 +103,7 @@ proc hidden-scan-for { symbol } {
     set objformat [gcc_target_object_format]
 
     switch $objformat {
+        coff     { return "$symbol\[,\d\]*hidden" }
         elf      { return "hidden\[ \t_\]*$symbol" }
         mach-o   { return "private_extern\[ \t_\]*_?$symbol" }
         default  { return "" }