* 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
+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
// 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
// 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
/* 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)
/* 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)
/* { 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 () {
/* { 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);
/* { 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 () {
/* { 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 () {
/* { 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;
/* { 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);
! { dg-do run }
+! { dg-skip-if "" { powerpc-ibm-aix* } { "*" } { "" } }
!
! PR 56500: [OOP] "IMPLICIT CLASS(...)" wrongly rejected
!
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 "" }