d: Merge upstream dmd, druntime 26f049fb26, phobos 330d6a4fd.
[official-gcc.git] / gcc / testsuite / gdc.test / compilable / test23532.d
blobdb6bbe749d34b8b92b032b7aef34bdd03e599584
1 // https://issues.dlang.org/show_bug.cgi?id=23532
2 // DISABLED: win32 win64
3 struct _Complex(T)
5 T re;
6 T im;
7 static @property epsilon()() { return _Complex(T.epsilon, T.epsilon); }
8 static @property infinity()() { return _Complex(T.infinity, T.infinity); }
9 static @property max()() { return _Complex(T.max, T.max); }
10 static @property min_normal()() { return _Complex(T.min_normal, T.min_normal); }
11 static @property nan()() { return _Complex(T.nan, T.nan); }
12 static @property dig()() { return T.dig; }
13 static @property mant_dig()() { return T.mant_dig; }
14 static @property max_10_exp()() { return T.max_10_exp; }
15 static @property max_exp()() { return T.max_exp; }
16 static @property min_10_exp()() { return T.min_10_exp; }
17 static @property min_exp()() { return T.min_exp; }
20 enum __c_complex_float : _Complex!float;
21 enum __c_complex_double : _Complex!double;
22 enum __c_complex_real : _Complex!real;
24 static assert(__c_complex_float.epsilon is _Complex!float.epsilon);
25 static assert(__c_complex_float.infinity is _Complex!float.infinity);
26 static assert(__c_complex_float.init is _Complex!float.init);
27 static assert(__c_complex_float.max is _Complex!float.max);
28 static assert(__c_complex_float.min_normal is _Complex!float.min_normal);
29 static assert(__c_complex_float.nan is _Complex!float.nan);
30 static assert(__c_complex_float.sizeof == _Complex!float.sizeof);
31 static assert(__c_complex_float.alignof == _Complex!float.alignof);
32 static assert(__c_complex_float.dig == _Complex!float.dig);
33 static assert(__c_complex_float.mant_dig == _Complex!float.mant_dig);
34 static assert(__c_complex_float.max_10_exp == _Complex!float.max_10_exp);
35 static assert(__c_complex_float.max_exp == _Complex!float.max_exp);
36 static assert(__c_complex_float.min_10_exp == _Complex!float.min_10_exp);
37 static assert(__c_complex_float.min_exp == _Complex!float.min_exp);
39 static assert(__c_complex_double.epsilon is _Complex!double.epsilon);
40 static assert(__c_complex_double.infinity is _Complex!double.infinity);
41 static assert(__c_complex_double.init is _Complex!double.init);
42 static assert(__c_complex_double.max is _Complex!double.max);
43 static assert(__c_complex_double.min_normal is _Complex!double.min_normal);
44 static assert(__c_complex_double.nan is _Complex!double.nan);
45 static assert(__c_complex_double.sizeof == _Complex!double.sizeof);
46 static assert(__c_complex_double.alignof == _Complex!double.alignof);
47 static assert(__c_complex_double.dig == _Complex!double.dig);
48 static assert(__c_complex_double.mant_dig == _Complex!double.mant_dig);
49 static assert(__c_complex_double.max_10_exp == _Complex!double.max_10_exp);
50 static assert(__c_complex_double.max_exp == _Complex!double.max_exp);
51 static assert(__c_complex_double.min_10_exp == _Complex!double.min_10_exp);
52 static assert(__c_complex_double.min_exp == _Complex!double.min_exp);
54 static assert(__c_complex_real.epsilon is _Complex!real.epsilon);
55 static assert(__c_complex_real.infinity is _Complex!real.infinity);
56 static assert(__c_complex_real.init is _Complex!real.init);
57 static assert(__c_complex_real.max is _Complex!real.max);
58 static assert(__c_complex_real.min_normal is _Complex!real.min_normal);
59 static assert(__c_complex_real.nan is _Complex!real.nan);
60 static assert(__c_complex_real.sizeof == _Complex!real.sizeof);
61 static assert(__c_complex_real.alignof == _Complex!real.alignof);
62 static assert(__c_complex_real.dig == _Complex!real.dig);
63 static assert(__c_complex_real.mant_dig == _Complex!real.mant_dig);
64 static assert(__c_complex_real.max_10_exp == _Complex!real.max_10_exp);
65 static assert(__c_complex_real.max_exp == _Complex!real.max_exp);
66 static assert(__c_complex_real.min_10_exp == _Complex!real.min_10_exp);
67 static assert(__c_complex_real.min_exp == _Complex!real.min_exp);