aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Edelsohn <dje.gcc@gmail.com>2016-11-07 20:33:30 +0000
committerDavid Edelsohn <dje@gcc.gnu.org>2016-11-07 15:33:30 -0500
commitfda2d61208385823f6b75f637eed60a9e77256c1 (patch)
tree3064552523cc1d37db02f43aca9c22b1349e18ee
parent621d0992d15c01914f5fadfe7f952a8eccb76396 (diff)
downloadgcc-fda2d61208385823f6b75f637eed60a9e77256c1.zip
gcc-fda2d61208385823f6b75f637eed60a9e77256c1.tar.gz
gcc-fda2d61208385823f6b75f637eed60a9e77256c1.tar.bz2
scanasm.exp (hidden-scan-for): Add XCOFF support.
* 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
-rw-r--r--gcc/testsuite/ChangeLog16
-rw-r--r--gcc/testsuite/g++.dg/ext/visibility/anon1.C2
-rw-r--r--gcc/testsuite/g++.dg/ext/visibility/anon2.C2
-rw-r--r--gcc/testsuite/g++.dg/ext/visibility/pragma-override1.C2
-rw-r--r--gcc/testsuite/g++.dg/ext/visibility/pragma-override2.C2
-rw-r--r--gcc/testsuite/gcc.dg/visibility-14.c2
-rw-r--r--gcc/testsuite/gcc.dg/visibility-15.c2
-rw-r--r--gcc/testsuite/gcc.dg/visibility-16.c2
-rw-r--r--gcc/testsuite/gcc.dg/visibility-17.c2
-rw-r--r--gcc/testsuite/gcc.dg/visibility-18.c2
-rw-r--r--gcc/testsuite/gcc.dg/visibility-19.c2
-rw-r--r--gcc/testsuite/gfortran.dg/implicit_class_1.f901
-rw-r--r--gcc/testsuite/lib/scanasm.exp1
13 files changed, 28 insertions, 10 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index ba56fa6..5dc544e 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -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
diff --git a/gcc/testsuite/g++.dg/ext/visibility/anon1.C b/gcc/testsuite/g++.dg/ext/visibility/anon1.C
index 1f3be3b..0135f931 100644
--- a/gcc/testsuite/g++.dg/ext/visibility/anon1.C
+++ b/gcc/testsuite/g++.dg/ext/visibility/anon1.C
@@ -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
diff --git a/gcc/testsuite/g++.dg/ext/visibility/anon2.C b/gcc/testsuite/g++.dg/ext/visibility/anon2.C
index 4902296..dcf0e64 100644
--- a/gcc/testsuite/g++.dg/ext/visibility/anon2.C
+++ b/gcc/testsuite/g++.dg/ext/visibility/anon2.C
@@ -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
diff --git a/gcc/testsuite/g++.dg/ext/visibility/pragma-override1.C b/gcc/testsuite/g++.dg/ext/visibility/pragma-override1.C
index c13161d..b6bc0c5 100644
--- a/gcc/testsuite/g++.dg/ext/visibility/pragma-override1.C
+++ b/gcc/testsuite/g++.dg/ext/visibility/pragma-override1.C
@@ -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)
diff --git a/gcc/testsuite/g++.dg/ext/visibility/pragma-override2.C b/gcc/testsuite/g++.dg/ext/visibility/pragma-override2.C
index 25e9cea..8499cef 100644
--- a/gcc/testsuite/g++.dg/ext/visibility/pragma-override2.C
+++ b/gcc/testsuite/g++.dg/ext/visibility/pragma-override2.C
@@ -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)
diff --git a/gcc/testsuite/gcc.dg/visibility-14.c b/gcc/testsuite/gcc.dg/visibility-14.c
index 1c01f83..e1d85f0 100644
--- a/gcc/testsuite/gcc.dg/visibility-14.c
+++ b/gcc/testsuite/gcc.dg/visibility-14.c
@@ -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 () {
diff --git a/gcc/testsuite/gcc.dg/visibility-15.c b/gcc/testsuite/gcc.dg/visibility-15.c
index 8d331d7..4e69fa1 100644
--- a/gcc/testsuite/gcc.dg/visibility-15.c
+++ b/gcc/testsuite/gcc.dg/visibility-15.c
@@ -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);
diff --git a/gcc/testsuite/gcc.dg/visibility-16.c b/gcc/testsuite/gcc.dg/visibility-16.c
index 52a25cd..dcd5448 100644
--- a/gcc/testsuite/gcc.dg/visibility-16.c
+++ b/gcc/testsuite/gcc.dg/visibility-16.c
@@ -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 () {
diff --git a/gcc/testsuite/gcc.dg/visibility-17.c b/gcc/testsuite/gcc.dg/visibility-17.c
index 0ff3e83..dc90d35 100644
--- a/gcc/testsuite/gcc.dg/visibility-17.c
+++ b/gcc/testsuite/gcc.dg/visibility-17.c
@@ -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 () {
diff --git a/gcc/testsuite/gcc.dg/visibility-18.c b/gcc/testsuite/gcc.dg/visibility-18.c
index f54c73b..653e3b1 100644
--- a/gcc/testsuite/gcc.dg/visibility-18.c
+++ b/gcc/testsuite/gcc.dg/visibility-18.c
@@ -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;
diff --git a/gcc/testsuite/gcc.dg/visibility-19.c b/gcc/testsuite/gcc.dg/visibility-19.c
index 3c2455f..2b0b9be 100644
--- a/gcc/testsuite/gcc.dg/visibility-19.c
+++ b/gcc/testsuite/gcc.dg/visibility-19.c
@@ -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);
diff --git a/gcc/testsuite/gfortran.dg/implicit_class_1.f90 b/gcc/testsuite/gfortran.dg/implicit_class_1.f90
index 2ab9040..380942c 100644
--- a/gcc/testsuite/gfortran.dg/implicit_class_1.f90
+++ b/gcc/testsuite/gfortran.dg/implicit_class_1.f90
@@ -1,4 +1,5 @@
! { dg-do run }
+! { dg-skip-if "" { powerpc-ibm-aix* } { "*" } { "" } }
!
! PR 56500: [OOP] "IMPLICIT CLASS(...)" wrongly rejected
!
diff --git a/gcc/testsuite/lib/scanasm.exp b/gcc/testsuite/lib/scanasm.exp
index 07b8f7d..707f63b 100644
--- a/gcc/testsuite/lib/scanasm.exp
+++ b/gcc/testsuite/lib/scanasm.exp
@@ -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 "" }