summaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg/ext/visibility/prop1.C
blob: f4574820d328755ab47a4aee360bf8d647611c86 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
// 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>();
}