use scan-hidden
[official-gcc.git] / gcc / testsuite / g++.dg / ext / visibility / namespace1.C
blobb7773dc9d61cb274bb2ad4fad082918bc14a638a
1 // PR c++/21764
2 // Test for namespace visibility attribute semantics.
4 // { dg-require-visibility "" }
5 // { dg-final { scan-hidden "_ZN3foo1fEv" } }
6 // { dg-final { scan-hidden "_ZN3foo1gEv" } }
7 // { dg-final { scan-hidden "_ZN3foo1A1mEv" } }
8 // { dg-final { scan-hidden "_ZN3foo1tIiEEvv" } }
9 // { dg-final { scan-not-hidden "_ZN3foo1hEv" } }
11 namespace foo __attribute ((visibility ("hidden")))
13   int f() { }
14   void g();
15   template <typename T> void t() { }
16   class A
17   {
18     void m ();
19   };
22 namespace foo
24   void h() {}
27 void foo::g() { t<int> (); }
29 void foo::A::m() { }