Mercurial > hg > CbC > CbC_gcc
comparison gcc/testsuite/g++.dg/cpp0x/attributes-namespace4.C @ 145:1830386684a0
gcc-9.2.0
author | anatofuz |
---|---|
date | Thu, 13 Feb 2020 11:34:05 +0900 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
131:84e7813d76e9 | 145:1830386684a0 |
---|---|
1 // PR c++/79817 - attribute deprecated on namespace. | |
2 // { dg-do compile { target c++11 } } | |
3 | |
4 namespace [[deprecated]] N { | |
5 struct S { }; | |
6 using T = int; | |
7 const int value = 42; | |
8 int arr[10]; | |
9 } | |
10 | |
11 namespace [[deprecated]] Y { | |
12 int x; | |
13 int i = x; | |
14 } | |
15 | |
16 namespace [[deprecated]] M { | |
17 namespace M2 { | |
18 } | |
19 } | |
20 | |
21 enum E { F = N::value }; // { dg-warning ".N. is deprecated" } | |
22 | |
23 template<N::T> // { dg-warning ".N. is deprecated" } | |
24 struct X { }; | |
25 | |
26 N::T foo(); // { dg-warning ".N. is deprecated" } | |
27 | |
28 void | |
29 g(N::T p) // { dg-warning ".N. is deprecated" } | |
30 { | |
31 N::S s; // { dg-warning ".N. is deprecated" } | |
32 N::arr[0] = 42; // { dg-warning ".N. is deprecated" } | |
33 } | |
34 | |
35 namespace Z = Y; // { dg-warning ".Y. is deprecated" } | |
36 namespace Z2 = M::M2; // { dg-warning ".M. is deprecated" } | |
37 | |
38 void | |
39 g2 () | |
40 { | |
41 using namespace Y; // { dg-warning ".Y. is deprecated" } | |
42 using namespace M::M2; // { dg-warning ".M. is deprecated" } | |
43 using TT = N::T; // { dg-warning ".N. is deprecated" } | |
44 using N::T; // { dg-warning ".N. is deprecated" } | |
45 } |