diff options
author | Dan Albert <danalbert@google.com> | 2016-02-24 13:48:45 -0800 |
---|---|---|
committer | Dan Albert <danalbert@google.com> | 2016-02-24 13:51:18 -0800 |
commit | b9de1157289455b0ca26daff519d4a0ddcd1fa13 (patch) | |
tree | 4c56cc0a34b91f17033a40a455f26652304f7b8d /gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility | |
parent | 098157a754787181cfa10e71325832448ddcea98 (diff) | |
download | toolchain_gcc-b9de1157289455b0ca26daff519d4a0ddcd1fa13.tar.gz toolchain_gcc-b9de1157289455b0ca26daff519d4a0ddcd1fa13.tar.bz2 toolchain_gcc-b9de1157289455b0ca26daff519d4a0ddcd1fa13.zip |
Update 4.8.1 to 4.8.3.
My previous drop was the wrong version. The platform mingw is
currently using 4.8.3, not 4.8.1 (not sure how I got that wrong).
From ftp://ftp.gnu.org/gnu/gcc/gcc-4.8.3/gcc-4.8.3.tar.bz2.
Bug: http://b/26523949
Change-Id: Id85f1bdcbbaf78c7d0b5a69e74c798a08f341c35
Diffstat (limited to 'gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility')
72 files changed, 0 insertions, 1393 deletions
diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/anon1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/anon1.C deleted file mode 100644 index 16647b228..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/anon1.C +++ /dev/null @@ -1,10 +0,0 @@ -// PR c++/21581 -// Test for anonymous namespace internal linkage - -// { dg-do compile } -// { dg-final { scan-assembler-not "globl.*_ZN.*1fEv" } } - -namespace -{ - int f() { } -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/anon10.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/anon10.C deleted file mode 100644 index 8c79631b0..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/anon10.C +++ /dev/null @@ -1,44 +0,0 @@ -// http://bugzilla.redhat.com/411871 -// { dg-do compile } - -extern "C" int printf (const char *, ...); - -struct E -{ - template <typename T> E (const volatile T&); - template <typename T> E (T&); - char x[64]; -}; - -template<typename T> struct D -{ - static E foo (E, ...); - static int foo (T, int); -}; - -template<typename T, typename U> struct C -{ - static T ca; - static const int value = sizeof (D<U>::foo (ca, 0)) == sizeof (int); -}; - -struct A -{ - int a; -}; - -namespace -{ - struct B - { - int a; - }; -} - -int bar (void) -{ - C<A, int> a; - C<B, int> b; - - return a.value + b.value; -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/anon11.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/anon11.C deleted file mode 100644 index dfb4f12bb..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/anon11.C +++ /dev/null @@ -1,13 +0,0 @@ -// PR c++/55877 -// { dg-final { scan-assembler-not "\\.local" } } - -typedef struct { - typedef enum { X, Y } A; - typedef struct { } B; - struct C { }; -} D; - -D d; -D::A a; -D::B b; -D::C c; diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/anon2.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/anon2.C deleted file mode 100644 index 1d8e479b9..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/anon2.C +++ /dev/null @@ -1,11 +0,0 @@ -// Test for propagation of anonymous namespace internal linkage - -// { dg-do compile } -// { dg-final { scan-assembler-not "globl.*_Z1fv" } } - -namespace -{ - struct A { }; -} - -A f () { } diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/anon3.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/anon3.C deleted file mode 100644 index 9def559d2..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/anon3.C +++ /dev/null @@ -1,16 +0,0 @@ -// PR c++/31187 -// Bug: the repeated declaration was confusing the compiler into -// thinking that foo1 had language internal linkage. - -class foo { }; - -namespace -{ - extern foo foo1; - foo foo1; -} - -template< foo * > -class bar { }; - -bar< &foo1 > bar1; diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/anon4.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/anon4.C deleted file mode 100644 index 6d5d58ec3..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/anon4.C +++ /dev/null @@ -1,16 +0,0 @@ -// PR c++/31903 -// Test for anonymous namespace internal linkage, for typeinfo - -// { dg-do compile } -// { dg-final { scan-assembler-not "globl.*_ZTIN*3fooE" } } - -#include <typeinfo> -namespace -{ - class foo - { - virtual void bar(); - }; -} - -const std::type_info &X = typeid(foo); diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/anon5.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/anon5.C deleted file mode 100644 index d069eeab6..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/anon5.C +++ /dev/null @@ -1,8 +0,0 @@ -// PR c++/32596 -// { dg-do compile } - -namespace -{ - template<class T> inline void char_less(void) { } - template<> inline void char_less<char>(void) { } -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/anon6.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/anon6.C deleted file mode 100644 index 951de4964..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/anon6.C +++ /dev/null @@ -1,28 +0,0 @@ -// PR c++/33094 -// { dg-final { scan-assembler "1BIiE1cE" } } -// { dg-final { scan-assembler-not "globl.*1BIiE1cE" } } -// { dg-final { scan-assembler-not "1CIiE1cE" } } - -// Test that B<int>::c is emitted as an internal symbol, and C<int>::c is -// not emitted. - -namespace -{ - template <typename T> - class A - { - virtual T f1() { return c; } - static const T c = 0; - }; - - template <typename T> - class B - { - static const T c = 0; - }; - - template <typename T> const T B<T>::c; - - template class A<int>; - template class B<int>; -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/anon7.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/anon7.C deleted file mode 100644 index 0c42ea866..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/anon7.C +++ /dev/null @@ -1,23 +0,0 @@ -// PR c++/34094 -// { dg-do compile } - -namespace -{ - struct A { - static int bar (); - static int i; // { dg-error "used, but not defined" "" { xfail *-*-* } } - static int j; - static int k; - static int l; - static const int m = 16; - static const int n = 17; - }; - int A::j = 4; - int A::k; - const int A::m; -} - -int foo (void) -{ - return A::i + A::j + A::k + A::m + A::n + A::bar (); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/anon8.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/anon8.C deleted file mode 100644 index 5e58b5519..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/anon8.C +++ /dev/null @@ -1,33 +0,0 @@ -// PR c++/34213 -// { dg-do compile } - -template <void (*fn) ()> -void call () // { dg-message "note" } -{ - fn (); -} - -namespace -{ - struct B1 - { - static void fn1 () {} - static void fn4 (); - }; - void fn3 () {} - void B1::fn4 () {} - static void fn5 () {} -} - -int main () -{ - struct B2 - { - static void fn2 () {} - }; - call<&B1::fn1> (); - call<&B2::fn2> (); // { dg-error "linkage|no matching" } - call<&fn3> (); - call<&B1::fn4> (); - call<&fn5> (); // { dg-error "linkage|no matching" "" { target c++98 } } -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/anon9.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/anon9.C deleted file mode 100644 index bb752253b..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/anon9.C +++ /dev/null @@ -1,11 +0,0 @@ -// PR c++/34238 -// { dg-do compile } - -namespace -{ - template <typename T = int> struct A - { - static const bool a = true; - }; -} -struct A<> a; diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/arm1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/arm1.C deleted file mode 100644 index 2c2e3d066..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/arm1.C +++ /dev/null @@ -1,30 +0,0 @@ -// { dg-do compile { target arm*-*-eabi* arm*-*-symbianelf* } } -// { dg-require-dll "" } -// { dg-options "-fvisibility=hidden" } -// Most class data should be exported. -// { dg-final { scan-not-hidden "_ZTV1S" } } -// { dg-final { scan-not-hidden "_ZTI1S" } } -// { dg-final { scan-not-hidden "_ZTS1S" } } -// { dg-final { scan-not-hidden "_ZTV1U" } } -// { dg-final { scan-not-hidden "_ZTT1U" } } -// { dg-final { scan-not-hidden "_ZTI1U" } } -// { dg-final { scan-not-hidden "_ZTS1U" } } -// The construction vtable should be hidden. -// { dg-final { scan-hidden "_ZTC1U0_1T" } } - -struct S { - virtual void f(); -}; - -void S::f() { -} - -struct T : public virtual S { - virtual void g(); -}; - -struct U : public virtual T { - virtual void h(); -}; - -void U::h() {} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/arm2.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/arm2.C deleted file mode 100644 index 7eed18d7f..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/arm2.C +++ /dev/null @@ -1,11 +0,0 @@ -// { dg-do compile { target arm*-*-*eabi* arm*-*-symbianelf* } } -// Class data should be exported. -// { dg-final { scan-not-hidden "_ZTV1S" } } -// { dg-final { scan-not-hidden "_ZTI1S" } } -// { dg-final { scan-not-hidden "_ZTS1S" } } - -struct S { - virtual void f(); -}; - -void S::f() {} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/arm3.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/arm3.C deleted file mode 100644 index 9be7082ce..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/arm3.C +++ /dev/null @@ -1,36 +0,0 @@ -// { dg-do compile { target arm*-*-*eabi* } } -// { dg-require-dll "" } -// { dg-options "-fvisibility=hidden" } - -/* From ARM C++ ABI \S 3.2.5.5: - - A class should be exported unless explicitly tagged otherwise. - - This admonition applies even on DLL-based systems where hidden - visibility is the default. We want -fvisibility=hidden to behave - identically to the situation where hidden visibility is the - hard-wired default. So, both A and B are exported classes. - - Furthermore: - - If CAG symbol Y names one of the impedimenta associated with an - exported class X: - - ... - - * Otherwise, if X has no key function: - - - Y is exported from ... each DLL that refers to X and uses Y. - - So, the type-info and virtual-table symbols associated with A and B - must be exported. */ - -// { dg-final { scan-not-hidden "_ZTI1A" } } -// { dg-final { scan-not-hidden "_ZTS1A" } } -// { dg-final { scan-not-hidden "_ZTV1B" } } -// { dg-final { scan-not-hidden "_ZTI1B" } } -// { dg-final { scan-not-hidden "_ZTS1B" } } - -struct A {}; -struct B : virtual public A {}; -B b; diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/assign1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/assign1.C deleted file mode 100644 index b25999e8e..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/assign1.C +++ /dev/null @@ -1,18 +0,0 @@ -/* { dg-do compile } */ -/* { dg-require-visibility "" } */ -/* { dg-final { scan-hidden "_ZN1DaSERKS_" } } */ - -struct B { - B& operator=(const B&); -}; - -struct __attribute__((visibility("hidden"))) D : public B { - // The implicit assignment operator should be hidden. -}; - -__attribute__((visibility("hidden"))) D d1; -__attribute__((visibility("hidden"))) D d2; - -void f() { - d1 = d2; -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/class1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/class1.C deleted file mode 100644 index 792fc7891..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/class1.C +++ /dev/null @@ -1,22 +0,0 @@ -// PR c++/26905 -// Init should not be hidden, so calling it should use the PLT. - -// { dg-options "-fpic" } -// { dg-do compile { target i?86-*-* x86_64-*-* } } -// { dg-skip-if "" { *-*-darwin* } { "*" } { "" } } -// { dg-require-visibility "" } -// { dg-require-effective-target fpic } -// { dg-final { scan-assembler "InitEv@PLT" } } - -#pragma GCC visibility push(hidden) -struct __attribute__ ((visibility ("default"))) nsINIParser -{ - static void Init(); -}; - -__attribute__ ((visibility ("default"))) -void -CheckCompatibility(void) -{ - nsINIParser::Init(); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/fvisibility-inlines-hidden-2.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/fvisibility-inlines-hidden-2.C deleted file mode 100644 index ed38ebefe..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/fvisibility-inlines-hidden-2.C +++ /dev/null @@ -1,19 +0,0 @@ -/* Test that -fvisibility-inlines-hidden doesn't affect static variables. */ -/* { dg-do compile } */ -/* { dg-require-visibility "" } */ -/* { dg-options "-fvisibility-inlines-hidden" } */ -/* { dg-final { scan-not-hidden "_ZZN3foo7my_funcEvE1x" } } */ - -struct foo -{ - int my_func() { - static int x; - return x++; - } -}; - -int t() -{ - foo f; - return f.my_func(); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/fvisibility-inlines-hidden-3.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/fvisibility-inlines-hidden-3.C deleted file mode 100644 index 50885a798..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/fvisibility-inlines-hidden-3.C +++ /dev/null @@ -1,30 +0,0 @@ -/* { dg-do compile } */ -/* { dg-require-visibility "" } */ -/* { dg-options "-fvisibility-inlines-hidden" } */ -/* { dg-final { scan-not-hidden "_ZN1IIiE3fooEv" } } */ -/* { dg-final { scan-not-hidden "_ZN1OIiE3fooEv" } } */ -/* { dg-final { scan-hidden "_ZN1S3fooEv" } } */ - -template <class T> -struct O { - static inline void foo() { } -}; - -template void O<int>::foo(); - -template <class T> -struct I { - static inline void foo() { } -}; - -extern template void I<int>::foo(); - -struct S { - static inline void foo() { } -}; - -void bar() { - I<int>::foo(); - O<int>::foo(); - S::foo(); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/fvisibility-inlines-hidden-4.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/fvisibility-inlines-hidden-4.C deleted file mode 100644 index ebce2ba5c..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/fvisibility-inlines-hidden-4.C +++ /dev/null @@ -1,37 +0,0 @@ -/* PR c++/30066: Test that -fvisibility-inlines-hidden affects functions. */ -/* { dg-do compile } */ -/* { dg-require-visibility "" } */ -/* { dg-options "-fvisibility-inlines-hidden" } */ -/* { dg-final { scan-hidden "_Z3barv" } } */ -/* { dg-final { scan-not-hidden "_ZZ3barvE1n" } } */ -/* { dg-final { scan-not-hidden "_Z3fooIiEvv" } } */ -/* { dg-final { scan-hidden "_Z3fooIvEvv" } } */ -/* { dg-final { scan-hidden "_ZZN1A5innerEvE1n" } } */ - -inline int * bar() -{ - static int n; - return &n; -} - -template <class T> -inline void foo() { } - -template void foo<int>(); - -namespace A __attribute__ ((visibility ("hidden"))) -{ - inline int * inner() - { - static int n; - return &n; - } -} - -int main(void) -{ - bar(); - foo<void>(); - A::inner(); - return 0; -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/fvisibility-inlines-hidden.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/fvisibility-inlines-hidden.C deleted file mode 100644 index 2ee8f0767..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/fvisibility-inlines-hidden.C +++ /dev/null @@ -1,18 +0,0 @@ -/* Test that -fvisibility-inlines-hidden affects class members. */ -/* { dg-do compile } */ -/* { dg-require-visibility "" } */ -/* { dg-options "-fvisibility-inlines-hidden" } */ -/* { dg-final { scan-hidden "_ZN3Foo6methodEv" } } */ - -class Foo -{ -public: - void method() { } -}; - -int main(void) -{ - Foo f; - f.method(); - return 0; -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/fvisibility-override1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/fvisibility-override1.C deleted file mode 100644 index 685cd1309..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/fvisibility-override1.C +++ /dev/null @@ -1,12 +0,0 @@ -/* Test that -fvisibility does not override class member specific settings. */ -/* { dg-do compile } */ -/* { dg-require-visibility "" } */ -/* { dg-options "-fvisibility=hidden" } */ -/* { dg-final { scan-not-hidden "methodEv" } } */ - -class __attribute__ ((visibility ("default"))) Foo -{ - void method(); -}; - -void Foo::method() { } diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/fvisibility-override2.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/fvisibility-override2.C deleted file mode 100644 index 4b4b54d5a..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/fvisibility-override2.C +++ /dev/null @@ -1,12 +0,0 @@ -/* Test that -fvisibility does not override class member specific settings. */ -/* { dg-do compile } */ -/* { dg-require-visibility "internal" } */ -/* { dg-options "-fvisibility=hidden" } */ -/* { dg-final { scan-not-hidden "Foo.methodEv" } } */ - -class Foo -{ - __attribute__ ((visibility ("internal"))) void method(); -}; - -void Foo::method() { } diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/fvisibility.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/fvisibility.C deleted file mode 100644 index 4358d25a9..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/fvisibility.C +++ /dev/null @@ -1,12 +0,0 @@ -/* Test that -fvisibility affects class members. */ -/* { dg-do compile } */ -/* { dg-require-visibility "" } */ -/* { dg-options "-fvisibility=hidden" } */ -/* { dg-final { scan-hidden "_ZN3Foo6methodEv" } } */ - -class Foo -{ - void method(); -}; - -void Foo::method() { } diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/guard1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/guard1.C deleted file mode 100644 index 5290e2f8e..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/guard1.C +++ /dev/null @@ -1,29 +0,0 @@ -// { dg-options "-fvisibility=hidden" } -// { dg-require-visibility "" } -// { dg-final { scan-not-hidden "_ZGVZN5otherclEvE4s_cd" } } - -extern "C" int printf (const char *, ...); - -#define DLLEXPORT __attribute__ ((visibility("default"))) - -struct class_data -{ - int apple; - class_data() { printf("non trivial ctor\n"); } -}; - -struct DLLEXPORT other -{ - class_data* operator ()() - { - static class_data s_cd; - return &s_cd; - } -}; - -int main() -{ - other aFoo; - aFoo(); - return 0; -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/local1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/local1.C deleted file mode 100644 index 7a04db601..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/local1.C +++ /dev/null @@ -1,25 +0,0 @@ -// PR c++/19238 -// Test that hidden visibility on an inline function is inherited by static -// local variables and local classes. - -// { dg-require-visibility "" } -// { dg-final { scan-hidden "_Z1fv" } } -// { dg-final { scan-hidden "_ZZ1fvE1i" } } -// { dg-final { scan-hidden "_ZZ1fvEN1A1fEv" } } - -__attribute ((visibility ("hidden"))) inline int -f() -{ - static int i = 2; - struct A - { - void f () { } - } a; - a.f(); - return i; -} - -int main() -{ - f(); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/memfuncts.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/memfuncts.C deleted file mode 100644 index 45eb641b2..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/memfuncts.C +++ /dev/null @@ -1,11 +0,0 @@ -/* Test that setting visibility for class member functions works. */ -/* { dg-do compile } */ -/* { dg-require-visibility "" } */ -/* { dg-final { scan-hidden "_ZN3Foo6methodEv" } } */ - -class __attribute__ ((visibility ("hidden"))) Foo -{ - void method(); -}; - -void Foo::method() { } diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/ms-compat-1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/ms-compat-1.C deleted file mode 100644 index bce2aac55..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/ms-compat-1.C +++ /dev/null @@ -1,28 +0,0 @@ -/* { dg-require-visibility "" } */ -/* { dg-options "-fvisibility-ms-compat" } */ - -/* { dg-final { scan-not-hidden "_ZTI1S" } } */ -/* { dg-final { scan-hidden "_ZTI1T" } } */ -/* { dg-final { scan-not-hidden "_ZTI1U" } } */ -/* { dg-final { scan-not-hidden "_ZN1U6hide_4Ev" } } */ - -class S { - virtual void hide_2(); -} hide_1; - -void S::hide_2() { -} - -class __attribute__((visibility("hidden"))) T { - virtual void hide_4(); -} hide_3; - -void T::hide_4() { -} - -class __attribute__((visibility("default"))) U { - virtual void hide_4(); -}; - -void U::hide_4() { -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/namespace1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/namespace1.C deleted file mode 100644 index b7773dc9d..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/namespace1.C +++ /dev/null @@ -1,30 +0,0 @@ -// PR c++/21764 -// Test for namespace visibility attribute semantics. - -// { dg-require-visibility "" } -// { dg-final { scan-hidden "_ZN3foo1fEv" } } -// { dg-final { scan-hidden "_ZN3foo1gEv" } } -// { dg-final { scan-hidden "_ZN3foo1A1mEv" } } -// { dg-final { scan-hidden "_ZN3foo1tIiEEvv" } } -// { dg-final { scan-not-hidden "_ZN3foo1hEv" } } - -namespace foo __attribute ((visibility ("hidden"))) -{ - int f() { } - void g(); - template <typename T> void t() { } - class A - { - void m (); - }; -} - -namespace foo -{ - void h() {} -} - -void foo::g() { t<int> (); } - -void foo::A::m() { } - diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/namespace2.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/namespace2.C deleted file mode 100644 index 96c5b0953..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/namespace2.C +++ /dev/null @@ -1,20 +0,0 @@ -// PR c++/32470 - -// { dg-require-visibility "" } -// { dg-options "-fvisibility=hidden" } -// { dg-final { scan-hidden "_ZN4Test4testEv" } } - -namespace std __attribute__((__visibility__("default"))) { - template<typename _CharT> - class basic_streambuf - { - friend void getline(); - }; - extern template class basic_streambuf<char>; -} - -class Test -{ - void test(); -}; -void Test::test() { } diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/namespace3.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/namespace3.C deleted file mode 100644 index a07abdcd8..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/namespace3.C +++ /dev/null @@ -1,6 +0,0 @@ -// PR c++/41774 -// { dg-do compile } - -namespace std __attribute__ ((__visibility__ ("default"))) { -#pragma GCC visibility pop // { dg-warning "no matching push for" } -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/new1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/new1.C deleted file mode 100644 index ec201cbc2..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/new1.C +++ /dev/null @@ -1,13 +0,0 @@ -// { dg-require-visibility "" } -// { dg-options "-fvisibility=hidden" } -// { dg-final { scan-not-hidden "_Znwj" } } - -void f() { - new int; -} - -void *g(); - -void *operator new(__SIZE_TYPE__) { - return g(); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/noPLT.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/noPLT.C deleted file mode 100644 index 38af05fd6..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/noPLT.C +++ /dev/null @@ -1,20 +0,0 @@ -/* Test that -fvisibility=hidden prevents PLT. */ -/* { dg-do compile { target fpic } } */ -/* { dg-require-visibility "" } */ -/* { dg-options "-fPIC -fvisibility=hidden" } */ -/* { dg-final { scan-assembler-not "methodEv@PLT|indirect_symbol.*methodEv" } } */ - -class Foo -{ -public: - void method(); -}; - -void Foo::method() { } - -int main(void) -{ - Foo f; - f.method(); - return 0; -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/overload-1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/overload-1.C deleted file mode 100644 index d841c53fb..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/overload-1.C +++ /dev/null @@ -1,9 +0,0 @@ -/* Test that visibility of function parameters propagates to an undecorated - function. */ -/* { dg-require-visibility "" } -/* { dg-final { scan-hidden "_Z3fooP8a_struct" } } */ - -struct __attribute__((visibility("hidden"))) a_struct; - -void foo(a_struct * p) -{ } diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/pragma-override1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/pragma-override1.C deleted file mode 100644 index c13161d3c..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/pragma-override1.C +++ /dev/null @@ -1,14 +0,0 @@ -/* 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|hidden).*Foo.methodEv" { target *-*-solaris2* } } } */ - -#pragma GCC visibility push(hidden) -class __attribute__ ((visibility ("internal"))) Foo -{ - void method(); -}; -#pragma GCC visibility pop - -void Foo::method() { } diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/pragma-override2.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/pragma-override2.C deleted file mode 100644 index 25e9ceac0..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/pragma-override2.C +++ /dev/null @@ -1,14 +0,0 @@ -/* 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|hidden).*Foo.methodEv" { target *-*-solaris2* } } } */ - -#pragma GCC visibility push(hidden) -class Foo -{ - __attribute__ ((visibility ("internal"))) void method(); -}; -#pragma GCC visibility pop - -void Foo::method() { } diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/pragma.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/pragma.C deleted file mode 100644 index 98384c9c4..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/pragma.C +++ /dev/null @@ -1,13 +0,0 @@ -/* Test that #pragma GCC visibility affects class members. */ -/* { dg-do compile } */ -/* { dg-require-visibility "" } */ -/* { dg-final { scan-hidden "_ZN3Foo6methodEv" } } */ - -#pragma GCC visibility push(hidden) -class Foo -{ - void method(); -}; -#pragma GCC visibility pop - -void Foo::method() { } diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/prop1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/prop1.C deleted file mode 100644 index f4574820d..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/prop1.C +++ /dev/null @@ -1,23 +0,0 @@ -// Test for propagation of visibility through template arguments - -// { dg-do compile } -// { dg-require-visibility "" } -// { dg-final { scan-hidden "_Z1fIN1N1AEEvT_" } } -// { dg-final { scan-hidden "_Z1hIXadL_ZN1N1iEEEEvv" } } - -namespace N __attribute ((__visibility__ ("hidden"))) -{ - struct A { }; - int i; -} - -template <class T> void f (T) { } -template <int *I> void h() { } - -void g() -{ - N::A a; - f(a); - h<&N::i>(); -} - diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/redecl1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/redecl1.C deleted file mode 100644 index b53335ef5..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/redecl1.C +++ /dev/null @@ -1,7 +0,0 @@ -// Test that we complain about redeclaration with different visibility - -struct __attribute((visibility("hidden"))) B; -struct __attribute((visibility("default"))) B; // { dg-error "visibility" } - -__attribute ((visibility ("hidden"))) void f(); // { dg-warning "previous" } -__attribute ((visibility ("default"))) void f(); // { dg-warning "visibility" } diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/staticdatamem.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/staticdatamem.C deleted file mode 100644 index 4ec9479a7..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/staticdatamem.C +++ /dev/null @@ -1,20 +0,0 @@ -// PR c++/18925 -// { dg-do compile { target ia64-*-linux* } } -// { dg-options "-fPIC -fvisibility=hidden" } -// { dg-final { scan-assembler-not "gprel" } } - -class __attribute__ ((visibility("default"))) Type -{ - private: - static long _staticTypeCount; - public: - Type() { _staticTypeCount++; } - ~Type(); -}; - -long Type::_staticTypeCount = 0; - -Type::~Type() -{ - _staticTypeCount--; -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/staticmemfuncts.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/staticmemfuncts.C deleted file mode 100644 index e745caa5a..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/staticmemfuncts.C +++ /dev/null @@ -1,11 +0,0 @@ -/* Test that setting visibility for static class member functions works. */ -/* { dg-do compile } */ -/* { dg-require-visibility "" } */ -/* { dg-final { scan-hidden "_ZN3Foo6methodEv" } } */ - -class __attribute__ ((visibility ("hidden"))) Foo -{ - static void method(); -}; - -void Foo::method() { } diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/symbian1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/symbian1.C deleted file mode 100644 index 864ab2bb9..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/symbian1.C +++ /dev/null @@ -1,22 +0,0 @@ -// { dg-do compile { target arm*-*-symbianelf* } } -// Class data should not be exported. -// { dg-final { scan-hidden "_ZTV2K3" } } -// But the constructor and destructor should be exported. -// { dg-final { scan-not-hidden "_ZN2K3C2Ev" } } -// { dg-final { scan-not-hidden "_ZN2K3D0Ev" } } - -class __declspec(notshared) K3 { -public: - __declspec(dllimport) K3(); - __declspec(dllimport) virtual ~K3(); - virtual int m1(); -}; - -__declspec(dllexport) - K3::K3(){} - -__declspec(dllexport) - K3::~K3(){} - -int K3::m1() { return 1; } - diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/symbian2.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/symbian2.C deleted file mode 100644 index 767f0b54e..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/symbian2.C +++ /dev/null @@ -1,11 +0,0 @@ -// { dg-do compile { target arm*-*-symbianelf* } } -// Class data should not be exported. -// { dg-final { scan-hidden "_ZTI1A" } } -// { dg-final { scan-hidden "_ZTS1A" } } -// { dg-final { scan-hidden "_ZTV1B" } } -// { dg-final { scan-hidden "_ZTI1B" } } -// { dg-final { scan-hidden "_ZTS1B" } } - -struct A {}; -struct B : virtual public A {}; -B b; diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/template1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/template1.C deleted file mode 100644 index c5cee0d4b..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/template1.C +++ /dev/null @@ -1,35 +0,0 @@ -// PR c++/19134 -// -fvisibility-inlines-hidden doesn't apply to non-inline specializations - -// { dg-require-visibility "" } -// { dg-options "-fvisibility-inlines-hidden" } -// { dg-final { scan-not-hidden "_ZN1AIiE3fooEv" } } -// { dg-final { scan-not-hidden "_ZN1AIiE3barEv" } } -// { dg-final { scan-hidden "_ZN1AIlE3fooEv" } } -// { dg-final { scan-hidden "_ZN1AIlE3barEv" } } -// { dg-final { scan-hidden "_ZN1AIcE3barEv" } } - -template<class T> -struct A { - void foo() {}; - __attribute ((visibility ("hidden"))) void bar(); -}; - -// This has default visibility. -template<> void A<int>::foo() {} - -// This has hidden visibility because of -fvisibility-inlines-hidden. -template<> inline void A<long>::foo() {} -// Force the inline out. -void f () { A<long> a; a.foo(); } - -// This has default visibility. -template<> __attribute ((visibility ("default"))) void A<int>::bar() {} - -// This inherits hidden visibility from its template. -template<> void A<long>::bar() { } - -// This also has hidden visibility; #pragma vis doesn't affect class members. -#pragma GCC visibility push(default) -template<> void A<char>::bar() { } -#pragma GCC visibility pop diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/template10.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/template10.C deleted file mode 100644 index 492623334..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/template10.C +++ /dev/null @@ -1,16 +0,0 @@ -// PR c++/51930 -// { dg-require-visibility "" } -// { dg-options -fvisibility=hidden } -// { dg-final { scan-not-hidden "_Z8testfuncI3fooEvv" } } - -struct foo { }; - -template<typename T> -__attribute__ ((visibility("default"))) -void testfunc(); - -template<typename T> void testfunc() { } - -template -__attribute__ ((visibility("default"))) -void testfunc<foo>(); diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/template11.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/template11.C deleted file mode 100644 index fb47fe2af..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/template11.C +++ /dev/null @@ -1,20 +0,0 @@ -// PR c++/51930 -// { dg-require-visibility "" } -// { dg-options "-fvisibility=hidden" } -// { dg-final { scan-not-hidden "_ZN13template_testI4testE8functionEv" } } - -struct test { }; - -template<typename T> -struct template_test -{ - __attribute__((visibility("default"))) - void function(); -}; - -template<typename T> -void template_test<T>::function() { } - -template -struct __attribute__((visibility("default"))) -template_test<test>; diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/template12.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/template12.C deleted file mode 100644 index b9219d528..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/template12.C +++ /dev/null @@ -1,13 +0,0 @@ -// { dg-require-visibility "" } -// { dg-options "-fvisibility=hidden" } -// { dg-final { scan-not-hidden "_ZN1aI1bE1cE" } } - -template <class T> class __attribute__((visibility("default"))) a -{ -public: - /* A */ static int c; -}; - -class __attribute__((visibility("default"))) b : a <b> {}; - -template<> /* B */ int a<b>::c = 0; diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/template2.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/template2.C deleted file mode 100644 index 8db96db56..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/template2.C +++ /dev/null @@ -1,35 +0,0 @@ -// PR c++/27000 -// Implicitly instantiated templates should not be affected by -// #pragma visibility. - -/* { dg-do compile } */ -/* { dg-require-visibility "" } */ -/* { dg-final { scan-not-hidden "_ZN1SIiED1Ev" } } */ -/* { dg-final { scan-not-hidden "_ZN1SIiEC1ERKi" } } */ - -template <class T> -struct S -{ - S (const T &); - ~S (); - T t; -}; - -template <class T> -S<T>::S (const T &x) -{ - t = x; -} - -template <class T> -S<T>::~S () -{ -} - -#pragma GCC visibility push(hidden) -struct U -{ - S<int> s; - U () : s (6) { } -} u; -#pragma GCC visibility pop diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/template3.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/template3.C deleted file mode 100644 index 69cb6caba..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/template3.C +++ /dev/null @@ -1,22 +0,0 @@ -// PR c++/17470 -// Test that we can give visibility to explicit template instantiations - -// { dg-require-visibility "" } -// { dg-final { scan-hidden "_ZN1AIlE1fEl" } } -// { dg-final { scan-hidden "_ZN1AIiE1fEi" } } -// { dg-final { scan-not-hidden "_ZN1AIcE1fEc" } } -// { dg-final { scan-hidden "_Z8identityIdET_S0_" } } -// { dg-final { scan-not-hidden "_Z8identityIiET_S0_" } } - -template <class T> T identity(T t) { return t; } -template __attribute__((visibility("hidden"))) double identity(double); -template int identity(int); - - -template <class T> struct A { void f (T); }; -template <class T> void A<T>::f (T) { } -template struct __attribute ((visibility ("hidden"))) A<int>; -template<> struct __attribute ((visibility ("hidden"))) A<long> { void f(long); }; -// inherits hidden visibility from its class -void A<long>::f (long) { } -template struct A<char>; diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/template4.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/template4.C deleted file mode 100644 index add63a593..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/template4.C +++ /dev/null @@ -1,39 +0,0 @@ -// Test for explicit visibility on template vs. #pragma vis at explicit -// instantiation/specialization point for plain function templates. - -// { dg-require-visibility "" } -// { dg-final { scan-hidden "_Z3fooIdEvT_" } } -// { dg-final { scan-hidden "_Z3fooIlEvT_" } } -// { dg-final { scan-hidden "_Z3fooIcEvT_" } } -// { dg-final { scan-hidden "_Z3fooIiEvT_" } } -// { dg-final { scan-not-hidden "_Z3fooIfEvT_" } } -// { dg-final { scan-not-hidden "_Z3fooIsEvT_" } } - -// { dg-final { scan-hidden "_Z3barIdEvT_" } } -// { dg-final { scan-hidden "_Z3barIlEvT_" } } -// { dg-final { scan-hidden "_Z3barIiEvT_" } } -// { dg-final { scan-hidden "_Z3barIcEvT_" } } -// { dg-final { scan-not-hidden "_Z3barIfEvT_" } } -// { dg-final { scan-not-hidden "_Z3barIsEvT_" } } - -#pragma GCC visibility push(hidden) -template <class T> void bar(T) { } -#pragma GCC visibility pop -template void bar (long); -template<> void bar (double) { } -template __attribute ((visibility ("default"))) void bar (short); -template<> __attribute ((visibility ("default"))) void bar (float) { } -#pragma GCC visibility push(default) -template<> void bar(char) { } -template void bar(int); -#pragma GCC visibility pop - -template <class T> __attribute ((visibility ("hidden"))) void foo(T) { } -template void foo (long); -template<> void foo (double) { } -template __attribute ((visibility ("default"))) void foo (short); -template<> __attribute ((visibility ("default"))) void foo (float) { } -#pragma GCC visibility push(default) -template<> void foo(char) { } -template void foo(int); -#pragma GCC visibility pop diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/template6.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/template6.C deleted file mode 100644 index 7892a46e2..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/template6.C +++ /dev/null @@ -1,17 +0,0 @@ -// Test for explicit visibility taking precedence - -// { dg-require-visibility "" } -// { dg-final { scan-not-hidden "_ZN1AIiE1fEv" } } - -template <class T> struct A -{ - // This attribute takes precedence over... - __attribute ((visibility ("default"))) void f (); -}; - -template <class T> -void A<T>::f () -{ } - -// ...this attribute. -template struct __attribute ((visibility ("hidden"))) A<int>; diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/template7.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/template7.C deleted file mode 100644 index 5197fb1c9..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/template7.C +++ /dev/null @@ -1,29 +0,0 @@ -// PR c++/35688 -// { dg-require-visibility "" } -// { dg-options "-fvisibility=hidden" } - -// { dg-final { scan-hidden "_ZN1s6vectorI1AEC1Ev" } } -// { dg-final { scan-hidden "_ZN1s3fooI1AEEvT_" } } - -namespace s __attribute__((visibility("default"))) { - template <class T> - class vector { - public: - vector() { } - }; - template <class T> - void foo(T t) { - } -} - -class A { -public: - A() { } -}; - -s::vector<A> v; - -int main() { - A a; - s::foo(a); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/template8.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/template8.C deleted file mode 100644 index e491882e0..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/template8.C +++ /dev/null @@ -1,26 +0,0 @@ -// PR c++/35688 -// { dg-require-visibility "" } -// { dg-options "-fvisibility=hidden" } - -// { dg-final { scan-hidden "_Z1gI1BEvT_" } } -// { dg-final { scan-hidden "_Z1gI1AI1BEEvT_" } } - -// Test that template argument visibility takes priority even over an -// explicit visibility attribute on a template. - -template <class T> -struct __attribute ((visibility ("default"))) A { }; -template <class T> -void g(T) __attribute ((visibility ("default"))); - -struct B { }; - -template <class T> -void g(T) -{ } - -int main() -{ - g(B()); - g(A<B>()); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/template9.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/template9.C deleted file mode 100644 index 5a1b7396e..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/template9.C +++ /dev/null @@ -1,15 +0,0 @@ -// PR c++/51813 -// { dg-require-visibility "" } -// { dg-options -fvisibility=hidden } -// { dg-final { scan-not-hidden "_ZN1N1fI1AEEvT" } } - -struct A { }; -namespace N __attribute((visibility("default"))) { - template <class T> void f(T) { } - extern template void f(A); -} - -int main() -{ - N::f(A()); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/typeinfo1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/typeinfo1.C deleted file mode 100644 index 99dfc1cd7..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/typeinfo1.C +++ /dev/null @@ -1,19 +0,0 @@ -// PR c++/26984 -// lazily generated typeinfos should not be affected by #pragma vis, but -// they should be affected by the visibility of the type they describe. - -// { dg-require-visibility "" } -// { dg-options "-fvisibility-inlines-hidden" } -// { dg-final { scan-not-hidden "_ZTIPPi" } } -// { dg-final { scan-not-hidden "_ZTSPPi" } } -// { dg-final { scan-hidden "_ZTIP1A" } } -// { dg-final { scan-hidden "_ZTSP1A" } } - -#include <typeinfo> - -#pragma GCC visibility push(hidden) -const std::type_info* t = &(typeid(int **)); -struct A { }; -#pragma GCC visibility pop - -const std::type_info* t2 = &(typeid(A *)); diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/typeinfo2.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/typeinfo2.C deleted file mode 100644 index 54f541d85..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/typeinfo2.C +++ /dev/null @@ -1,23 +0,0 @@ -// PR c++/35368 -// { dg-require-visibility "" } - -#pragma GCC visibility push (hidden) - -struct A -{ - A(); - virtual ~A() { } -}; - -A::A() -{ -} - -void foo(A *a) -{ - delete a; -} - -// { dg-final { scan-not-hidden "_ZTVN10__cxxabiv117__class_type_infoE" } } -// { dg-final { scan-hidden "_ZTI1A" } } -// { dg-final { scan-hidden "_ZTV1A" } } diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/typeinfo3.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/typeinfo3.C deleted file mode 100644 index 5102b6492..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/typeinfo3.C +++ /dev/null @@ -1,24 +0,0 @@ -// PR c++/35368 -// { dg-require-visibility "" } - -#pragma GCC visibility push (hidden) - -#include <typeinfo> - -const std::type_info& info1 = typeid(int []); -const std::type_info& info2 = typeid(int); -enum E { e = 0 }; -const std::type_info& info3 = typeid(E); -struct S { S (); }; -const std::type_info& info4 = typeid(S); -const std::type_info& info5 = typeid(int *); - -// { dg-final { scan-not-hidden "_ZTVN10__cxxabiv117__array_type_infoE" } } -// { dg-final { scan-not-hidden "_ZTVN10__cxxabiv116__enum_type_infoE" } } -// { dg-final { scan-hidden "_ZTI1S" } } -// { dg-final { scan-hidden "_ZTS1S" } } -// { dg-final { scan-hidden "info1" } } -// { dg-final { scan-hidden "info2" } } -// { dg-final { scan-hidden "info3" } } -// { dg-final { scan-hidden "info4" } } -// { dg-final { scan-hidden "info5" } } diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/virtual.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/virtual.C deleted file mode 100644 index 770600368..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/virtual.C +++ /dev/null @@ -1,17 +0,0 @@ -/* Test that setting visibility for class affects virtual table, VTT and - type_info name and node. */ -/* { dg-do compile } */ -/* { dg-require-visibility "" } */ -/* { dg-final { scan-hidden "ZTV3Foo" } } */ -/* { dg-final { scan-hidden "ZTT3Foo" } } */ -/* { dg-final { scan-hidden "ZTS3Foo" } } */ -/* { dg-final { scan-hidden "ZTI3Foo" } } */ - -struct A { }; - -class __attribute__ ((visibility ("hidden"))) Foo: virtual public A -{ - virtual void method(); -}; - -void Foo::method() { } diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/visibility-1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/visibility-1.C deleted file mode 100644 index 8ea270bf8..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/visibility-1.C +++ /dev/null @@ -1,8 +0,0 @@ -/* Test visibility attribute on function definition. */ -/* { dg-require-visibility "" } -/* { dg-final { scan-hidden "_Z3foov" } } */ - -void -__attribute__((visibility ("hidden"))) -foo() -{ } diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/visibility-10.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/visibility-10.C deleted file mode 100644 index 312d32309..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/visibility-10.C +++ /dev/null @@ -1,19 +0,0 @@ -// { dg-require-visibility "" } -// { dg-require-dll "" } - -extern void __attribute__((dllimport, visibility("hidden"))) - f1(); // { dg-error "visibility" } -extern void __attribute__((visibility("hidden"), dllimport)) - f2(); // { dg-error "visibility" } -extern void __attribute__((dllexport, visibility("hidden"))) - f3(); // { dg-error "visibility" } -extern void __attribute__((visibility("hidden"), dllexport)) - f4(); // { dg-error "visibility" } -extern void __attribute__((visibility("default"), dllimport)) - f5(); -extern void __attribute__((dllimport, visibility("default"))) - f6(); -extern void __attribute__((visibility("default"), dllexport)) - f7(); -extern void __attribute__((dllexport, visibility("default"))) - f8(); diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/visibility-11.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/visibility-11.C deleted file mode 100644 index 78f40c62b..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/visibility-11.C +++ /dev/null @@ -1,18 +0,0 @@ -// PR target/39175 -// { dg-do compile } -// { dg-require-visibility "" } -// { dg-options "-O2 -fvisibility=hidden -fpic" { target fpic } } - -__attribute__((noinline)) int -foo (int x) -{ - return x; -} - -int foo (int x); - -int -bar (int x) -{ - return foo (x); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/visibility-2.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/visibility-2.C deleted file mode 100644 index 26272abb1..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/visibility-2.C +++ /dev/null @@ -1,7 +0,0 @@ -/* Test that visibility attribute on declaration extends to definition. */ -/* { dg-require-visibility "" } -/* { dg-final { scan-hidden "_Z3foov" } } */ - -void __attribute__((visibility ("hidden"))) foo(); - -void foo() { } diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/visibility-3.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/visibility-3.C deleted file mode 100644 index e4f499fcc..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/visibility-3.C +++ /dev/null @@ -1,7 +0,0 @@ -/* Test visibility attribute on forward declaration of global variable */ -/* { dg-require-visibility "" } -/* { dg-final { scan-hidden "xyzzy" } } */ - -int -__attribute__((visibility ("hidden"))) -xyzzy = 5; diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/visibility-4.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/visibility-4.C deleted file mode 100644 index f67659587..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/visibility-4.C +++ /dev/null @@ -1,8 +0,0 @@ -/* Test visibility attribute on forward declaration of global variable */ -/* { dg-require-visibility "" } -/* { dg-final { scan-hidden "xyzzy" } } */ - -extern int __attribute__ ((visibility ("hidden"))) -xyzzy; - -int xyzzy = 5; diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/visibility-5.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/visibility-5.C deleted file mode 100644 index 592529e66..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/visibility-5.C +++ /dev/null @@ -1,11 +0,0 @@ -/* Test visibility attribute on definition of a function that has - already had a forward declaration. */ -/* { dg-require-visibility "" } -/* { dg-final { scan-hidden "_Z3foov" } } */ - -void foo(); - -void - __attribute__((visibility ("hidden"))) -foo() -{ } diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/visibility-6.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/visibility-6.C deleted file mode 100644 index 0fecf6b74..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/visibility-6.C +++ /dev/null @@ -1,10 +0,0 @@ -/* Test visibility attribute on definition of global variable that has - already had a forward declaration. */ -/* { dg-require-visibility "" } -/* { dg-final { scan-hidden "xyzzy" } } */ - -extern int xyzzy; - -int -__attribute__((visibility ("hidden"))) -xyzzy = 5; diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/visibility-7.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/visibility-7.C deleted file mode 100644 index ae4589397..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/visibility-7.C +++ /dev/null @@ -1,11 +0,0 @@ -/* Test warning from conflicting visibility specifications. */ -/* { dg-require-visibility "protected" } */ -/* { dg-final { scan-hidden "xyzzy" } } */ - -extern int -__attribute__((visibility ("hidden"))) -xyzzy; /* { dg-warning "previous declaration here" "" } */ - -int -__attribute__((visibility ("protected"))) -xyzzy = 5; /* { dg-warning "visibility attribute ignored" "" } */ diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/visibility-8.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/visibility-8.C deleted file mode 100644 index f0139b362..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/visibility-8.C +++ /dev/null @@ -1,56 +0,0 @@ -// Test that a definition marked with dllexport has default -// visibility. -// { dg-require-visibility "" } -// { dg-require-dll "" } -// { dg-options "-fvisibility=hidden" } -// { dg-final { scan-not-hidden "_ZN1A1fEv" } } -// { dg-final { scan-not-hidden "_Z1gv" } } -// { dg-final { scan-not-hidden "_Z1hv" } } -// { dg-final { scan-not-hidden "_ZN1BC1Ev" } } -// { dg-final { scan-not-hidden "_ZN1BC2Ev" } } -// { dg-final { scan-not-hidden "_ZN1BD0Ev" } } -// { dg-final { scan-not-hidden "_ZN1BD1Ev" } } -// { dg-final { scan-not-hidden "_ZN1BD2Ev" } } -// { dg-final { scan-not-hidden "_ZN1B1iEv" } } -// { dg-final { scan-not-hidden "_ZN1B1jEv" } } -// { dg-final { scan-not-hidden "_ZN1A1a" } } -// { dg-final { scan-not-hidden "_ZN1B1b" } } -// { dg-final { scan-not-hidden "k" } } -// { dg-final { scan-not-hidden "l" } } - -struct __declspec(dllexport) A { - void f(); - static int a; -}; - -void A::f() {} - -int A::a; - -__declspec(dllexport) void g() {} - -__declspec(dllexport) void h(); -void h() {} - -struct B { - B(); - __declspec(dllexport) virtual ~B(); - void i(); - __declspec(dllexport) void j(); - __declspec(dllexport) static int b; -}; - -__declspec(dllexport) B::B() {} - -B::~B() {} - -__declspec(dllexport) void B::i() {} - -void B::j() {} - -int B::b; - -__declspec(dllexport) int k; - -__declspec(dllexport) extern int l; -int l; diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/visibility-9.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/visibility-9.C deleted file mode 100644 index 06b5a17e9..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/visibility-9.C +++ /dev/null @@ -1,29 +0,0 @@ -// Test that dllimport'd functions have default visibility. -// { dg-require-visibility "" } -// { dg-require-dll "" } -// { dg-options "-fvisibility=hidden" } -// { dg-final { scan-not-hidden "_Z2f1v" } } -// { dg-final { scan-not-hidden "_ZN1S2f3Ev" } } - -extern void __attribute__((dllimport)) f1(); -void f2() { - f1(); -} - -struct __attribute__((visibility("hidden")) S1 { - __attribute__((dllimport)) void f3(); -}; - -void f4() { - S1 s1; - s1.f3(); -} - -struct S2 { - __attribute__((dllimport)) void f5(); -}; - -void f6() { - S2 s2; - s2.f5(); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/warn2.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/warn2.C deleted file mode 100644 index 475179fd6..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/warn2.C +++ /dev/null @@ -1,16 +0,0 @@ -// Complain when a class is specified with greater visibility than one of -// its members' types or bases. - -// { dg-require-visibility "" } - -namespace N __attribute ((__visibility__ ("hidden"))) -{ - struct A { }; -} - -struct B // { dg-warning "visibility" } -{ - N::A a; -}; - -struct C: public N::A { }; // { dg-warning "visibility" } diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/warn3.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/warn3.C deleted file mode 100644 index d1d3ba486..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/warn3.C +++ /dev/null @@ -1,26 +0,0 @@ -// Tests for various visibility mismatch situations. - -// { dg-require-visibility "" } - -// { dg-final { scan-not-hidden "_ZN1A1fEv" } } - -struct __attribute ((visibility ("hidden"))) A -{ - // This is OK, A::f gets default visibility. - __attribute ((visibility ("default"))) void f (); -}; - -void A::f() { } - -// This gets a warning because B objects might rely -// on hidden symbols from A. -struct B // { dg-warning "visibility" } -{ - A a; -}; - -// This one has explicit visibility, so it doesn't get a warning. -struct __attribute ((visibility ("default"))) C -{ - A a; -}; diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/warn4.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/warn4.C deleted file mode 100644 index 33e6f6785..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/warn4.C +++ /dev/null @@ -1,10 +0,0 @@ -// Warn if we try to give an instantiation visibility after it's already -// been instantiated. - -// { dg-require-visibility "" } - -template <class T> struct A { void f (T); }; -template <class T> void A<T>::f (T) { } - -A<double> ad; -template struct __attribute ((visibility ("hidden"))) A<double>; // { dg-warning "already defined" } diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/warn5.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/warn5.C deleted file mode 100644 index 63538e5ad..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/warn5.C +++ /dev/null @@ -1,11 +0,0 @@ -// PR c++/40145 -// { dg-do compile } -// { dg-require-visibility "" } -// { dg-options "-fvisibility=hidden" } - -struct EditorInternalCommand { }; - -static void createCommandMap() -{ - struct CommandEntry { EditorInternalCommand command; }; -} |