summaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg/cpp0x/attributes-namespace3.C
blob: 81355ab56773a5d0d6e23acd6c615c4c7de897f2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
// PR c++/79817 - attribute deprecated on namespace.
// { dg-do compile { target c++11 } }

namespace [[deprecated]] N
{
  typedef decltype(sizeof(int)) T;
  int x;

  namespace N2 {
    typedef decltype(sizeof(int)) T;
    int y;
  }
}

namespace M {
  namespace [[deprecated]] M2 {
    typedef decltype(sizeof(int)) T;
    int z;
  }
}

void
fn2 ()
{
  using N::x; // { dg-warning ".N. is deprecated" }
  N::T j; // { dg-warning ".N. is deprecated" }

  using M::M2::z; // { dg-warning ".M::M2. is deprecated" }
  M::M2::T l; // { dg-warning ".M::M2. is deprecated" }

  using N::N2::y; // { dg-warning ".N. is deprecated" }
  N::N2::T k; // { dg-warning ".N. is deprecated" }
}