1// PR c++/19238
2// Test that hidden visibility on an inline function is inherited by static
3// local variables and local classes.
4
5// { dg-require-visibility "" }
6// { dg-final { scan-hidden "_Z1fv" } }
7// { dg-final { scan-hidden "_ZZ1fvE1i" } }
8// { dg-final { scan-hidden "_ZZ1fvEN1A1fEv" } }
9
10__attribute ((visibility ("hidden"))) inline int
11f()
12{
13  static int i = 2;
14  struct A
15  {
16    void f () { }
17  } a;
18  a.f();
19  return i;
20}
21
22int main()
23{
24  f();
25}
26