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 fn2()23fn2 () 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 } 34