145
|
1 // PR c++/79817 - attribute deprecated on namespace.
|
|
2 // { dg-do compile { target c++11 } }
|
|
3
|
|
4 namespace [[deprecated]] N
|
|
5 {
|
|
6 typedef decltype(sizeof(int)) T;
|
|
7 int x;
|
|
8
|
|
9 namespace N2 {
|
|
10 typedef decltype(sizeof(int)) T;
|
|
11 int y;
|
|
12 }
|
|
13 }
|
|
14
|
|
15 namespace M {
|
|
16 namespace [[deprecated]] M2 {
|
|
17 typedef decltype(sizeof(int)) T;
|
|
18 int z;
|
|
19 }
|
|
20 }
|
|
21
|
|
22 void
|
|
23 fn2 ()
|
|
24 {
|
|
25 using N::x; // { dg-warning ".N. is deprecated" }
|
|
26 N::T j; // { dg-warning ".N. is deprecated" }
|
|
27
|
|
28 using M::M2::z; // { dg-warning ".M::M2. is deprecated" }
|
|
29 M::M2::T l; // { dg-warning ".M::M2. is deprecated" }
|
|
30
|
|
31 using N::N2::y; // { dg-warning ".N. is deprecated" }
|
|
32 N::N2::T k; // { dg-warning ".N. is deprecated" }
|
|
33 }
|