annotate gcc/testsuite/g++.dg/cpp0x/forw_enum5.C @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents 04ced10e8804
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
111
kono
parents:
diff changeset
1 // { dg-do compile { target c++11 } }
kono
parents:
diff changeset
2
kono
parents:
diff changeset
3 namespace one
kono
parents:
diff changeset
4 {
kono
parents:
diff changeset
5 struct S
kono
parents:
diff changeset
6 {
kono
parents:
diff changeset
7 enum { A = 1, B = 2 };
kono
parents:
diff changeset
8 struct T
kono
parents:
diff changeset
9 {
kono
parents:
diff changeset
10 enum { B = 102 };
kono
parents:
diff changeset
11
kono
parents:
diff changeset
12 enum class E1;
kono
parents:
diff changeset
13 enum E2 : int;
kono
parents:
diff changeset
14 };
kono
parents:
diff changeset
15 };
kono
parents:
diff changeset
16
kono
parents:
diff changeset
17 enum class S::T::E1 { A1 = A, B1 = B, C1 };
kono
parents:
diff changeset
18 enum S::T::E2 : int { A1 = A, B1 = B, C1 };
kono
parents:
diff changeset
19
kono
parents:
diff changeset
20 static_assert(int(S::T::E1::A1) == 1, "error");
kono
parents:
diff changeset
21 static_assert(int(S::T::E1::B1) == 102, "error");
kono
parents:
diff changeset
22 static_assert(int(S::T::E1::C1) == 103, "error");
kono
parents:
diff changeset
23
kono
parents:
diff changeset
24 static_assert(int(S::T::E2::A1) == 1, "error");
kono
parents:
diff changeset
25 static_assert(int(S::T::E2::B1) == 102, "error");
kono
parents:
diff changeset
26 static_assert(int(S::T::E2::C1) == 103, "error");
kono
parents:
diff changeset
27 static_assert(int(S::T::A1) == 1, "error");
kono
parents:
diff changeset
28 static_assert(int(S::T::B1) == 102, "error");
kono
parents:
diff changeset
29 static_assert(int(S::T::C1) == 103, "error");
kono
parents:
diff changeset
30 }
kono
parents:
diff changeset
31
kono
parents:
diff changeset
32
kono
parents:
diff changeset
33 namespace two
kono
parents:
diff changeset
34 {
kono
parents:
diff changeset
35 namespace S
kono
parents:
diff changeset
36 {
kono
parents:
diff changeset
37 enum { A = 1, B = 2 };
kono
parents:
diff changeset
38 namespace T
kono
parents:
diff changeset
39 {
kono
parents:
diff changeset
40 enum { B = 102 };
kono
parents:
diff changeset
41
kono
parents:
diff changeset
42 enum class E1;
kono
parents:
diff changeset
43 enum E2 : int;
kono
parents:
diff changeset
44 }
kono
parents:
diff changeset
45 }
kono
parents:
diff changeset
46
kono
parents:
diff changeset
47 enum class S::T::E1 { A1 = A, B1 = B, C1 };
kono
parents:
diff changeset
48 enum S::T::E2 : int { A1 = A, B1 = B, C1 };
kono
parents:
diff changeset
49
kono
parents:
diff changeset
50 static_assert(int(S::T::E1::A1) == 1, "error");
kono
parents:
diff changeset
51 static_assert(int(S::T::E1::B1) == 102, "error");
kono
parents:
diff changeset
52 static_assert(int(S::T::E1::C1) == 103, "error");
kono
parents:
diff changeset
53
kono
parents:
diff changeset
54 static_assert(int(S::T::E2::A1) == 1, "error");
kono
parents:
diff changeset
55 static_assert(int(S::T::E2::B1) == 102, "error");
kono
parents:
diff changeset
56 static_assert(int(S::T::E2::C1) == 103, "error");
kono
parents:
diff changeset
57 static_assert(int(S::T::A1) == 1, "error");
kono
parents:
diff changeset
58 static_assert(int(S::T::B1) == 102, "error");
kono
parents:
diff changeset
59 static_assert(int(S::T::C1) == 103, "error");
kono
parents:
diff changeset
60 }
kono
parents:
diff changeset
61
kono
parents:
diff changeset
62