]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/testsuite/gdc.test/runnable/test52.d
d: Import dmd b8384668f, druntime e6caaab9, phobos 5ab9ad256 (v2.098.0-beta.1)
[thirdparty/gcc.git] / gcc / testsuite / gdc.test / runnable / test52.d
CommitLineData
5fee5ec3
IB
1/*
2PERMUTE_ARGS:
3RUN_OUTPUT:
4---
5count = 3
6---
7*/
b4c522fa 8
5fee5ec3 9// https://issues.dlang.org/show_bug.cgi?id=2311
b4c522fa 10
5fee5ec3
IB
11extern(C) int printf(const char*, ...);
12
13__gshared ulong count;
14
15shared static ~this()
b4c522fa 16{
5fee5ec3
IB
17 printf("count = %llu\n", count);
18 assert(count == 3);
b4c522fa
IB
19}
20
5fee5ec3 21template X(uint idx)
b4c522fa 22{
5fee5ec3
IB
23 static ~this()
24 {
25 assert(count == idx);
26 ++count;
27 }
b4c522fa
IB
28}
29
5fee5ec3 30void main()
b4c522fa 31{
5fee5ec3
IB
32 // Instantiate module destructors in reverse order
33 alias x = X!(2);
34 alias y = X!(1);
35 alias z = X!(0);
b4c522fa 36}