1 // { dg-do compile { target c++11 } }
2 // Test attribute deprecated on :: with class, enum, and namespace.
3 
4 struct [[deprecated]] S { static void fn(); static const int s = 0; };
5 union [[deprecated]] U { static void fn(); static const int u = 0; };
6 enum [[deprecated]] E { X };
7 enum class [[deprecated]] SE { Y };
8 namespace [[deprecated]] N { struct S { }; }
9 
10 void
g()11 g ()
12 {
13   S::fn(); // { dg-warning "deprecated" }
14   (void) S::s; // { dg-warning "deprecated" }
15   U::fn(); // { dg-warning "deprecated" }
16   (void) U::u; // { dg-warning "deprecated" }
17   (void) E::X; // { dg-warning "deprecated" }
18   (void) SE::Y; // { dg-warning "deprecated" }
19   N::S s; // { dg-warning "deprecated" }
20 }
21