summaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg/ext/visibility/template6.C
blob: 7892a46e2aa5818ae0ab6e86bc419c240277c74c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
// 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>;