]> git.ipfire.org Git - thirdparty/gcc.git/blob - gcc/testsuite/gdc.test/compilable/test9818.d
Add D front-end, libphobos library, and D2 testsuite.
[thirdparty/gcc.git] / gcc / testsuite / gdc.test / compilable / test9818.d
1 /************************************/
2 // 9818
3
4 /*
5 TEST_OUTPUT:
6 ---
7 sa1: [1, 1, 1]
8 ea1: [1, 1, 1]
9 sa2: [1, 1, 1]
10 ea2: [1, 1, 1]
11 eas: [1, 1, 1]
12 eac: [1, 1, 1]
13 sa3: [1, 1, 1]
14 ea3: [1, 1, 1]
15 sa4: [1, 1, 1]
16 ea4: [1, 1, 1]
17 ---
18 */
19
20 static const int[3] sa1 = 1;
21 pragma(msg, "sa1: ", sa1); // doesn't work
22 static assert(sa1 == [1, 1, 1]); // doesn't work
23
24 enum int[3] ea1 = 1;
25 pragma(msg, "ea1: ", ea1); // prints "1" - bad
26 static assert(ea1 == [1, 1, 1]); // doesn't work
27
28 struct X
29 {
30 static const int[3] sa2 = 1;
31 pragma(msg, "sa2: ", sa1); // doesn't work
32 static assert(sa2 == [1, 1, 1]); // doesn't work
33
34 enum int[3] ea2 = 1;
35 pragma(msg, "ea2: ", ea2); // prints "1" - bad
36 static assert(ea2 == [1, 1, 1]); // doesn't work
37 }
38
39 struct S
40 {
41 enum int[3] eas = 1;
42 }
43 pragma(msg, "eas: ", S.eas);
44 static assert(S.eas == [1, 1, 1]);
45 class C
46 {
47 enum int[3] eac = 1;
48 }
49 pragma(msg, "eac: ", C.eac);
50 static assert(C.eac == [1, 1, 1]);
51
52 void test()
53 {
54 static const int[3] sa3 = 1;
55 pragma(msg, "sa3: ", sa3); // doesn't work
56 static assert(sa3 == [1, 1, 1]); // doesn't work
57
58 enum int[3] ea3 = 1;
59 pragma(msg, "ea3: ", ea3); // prints "1" - bad
60 static assert(ea3 == [1, 1, 1]); // doesn't work
61
62 struct Y
63 {
64 static const int[3] sa4 = 1;
65 pragma(msg, "sa4: ", sa4); // doesn't work
66 static assert(sa4 == [1, 1, 1]); // doesn't work
67
68 enum int[3] ea4 = 1;
69 pragma(msg, "ea4: ", ea4); // prints "1" - bad
70 static assert(ea4 == [1, 1, 1]); // doesn't work
71 }
72 }
73
74 /************************************/
75
76 void main() {}