annotate tests/mini/bug199_ctfestructinit.d @ 984:4c0df37d0421

Removing ldc.conf. (IMPORTANT: run 'cmake .' after pull) Added it to .hgignore. This gets rid of spurious differences caused by CMake regenerating it differently. Just run 'cmake .' to get it back in your local checkout.
author Frits van Bommel <fvbommel wxs.nl>
date Thu, 19 Feb 2009 13:50:05 +0100
parents 29c0d1194033
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
913
29c0d1194033 Fix #198 and #199 by making CTFE on static struct initializers work.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
1 struct Color {
29c0d1194033 Fix #198 and #199 by making CTFE on static struct initializers work.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
2 uint c;
29c0d1194033 Fix #198 and #199 by making CTFE on static struct initializers work.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
3
29c0d1194033 Fix #198 and #199 by making CTFE on static struct initializers work.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
4 }
29c0d1194033 Fix #198 and #199 by making CTFE on static struct initializers work.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
5
29c0d1194033 Fix #198 and #199 by making CTFE on static struct initializers work.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
6 struct Vertex {
29c0d1194033 Fix #198 and #199 by making CTFE on static struct initializers work.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
7 double x, y;
29c0d1194033 Fix #198 and #199 by making CTFE on static struct initializers work.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
8 Color c;
29c0d1194033 Fix #198 and #199 by making CTFE on static struct initializers work.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
9 static Vertex opCall(double x, double y, Color c) {
29c0d1194033 Fix #198 and #199 by making CTFE on static struct initializers work.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
10 Vertex ret;
29c0d1194033 Fix #198 and #199 by making CTFE on static struct initializers work.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
11 ret.x = x;
29c0d1194033 Fix #198 and #199 by making CTFE on static struct initializers work.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
12 ret.y = y;
29c0d1194033 Fix #198 and #199 by making CTFE on static struct initializers work.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
13 ret.c = c;
29c0d1194033 Fix #198 and #199 by making CTFE on static struct initializers work.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
14 return ret;
29c0d1194033 Fix #198 and #199 by making CTFE on static struct initializers work.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
15 }
29c0d1194033 Fix #198 and #199 by making CTFE on static struct initializers work.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
16 }
29c0d1194033 Fix #198 and #199 by making CTFE on static struct initializers work.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
17
29c0d1194033 Fix #198 and #199 by making CTFE on static struct initializers work.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
18 void main() {
29c0d1194033 Fix #198 and #199 by making CTFE on static struct initializers work.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
19 Color c = {0xffffffff};
29c0d1194033 Fix #198 and #199 by making CTFE on static struct initializers work.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
20
29c0d1194033 Fix #198 and #199 by making CTFE on static struct initializers work.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
21 auto v = Vertex(1, 5, c);
29c0d1194033 Fix #198 and #199 by making CTFE on static struct initializers work.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
22
29c0d1194033 Fix #198 and #199 by making CTFE on static struct initializers work.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
23 assert(v.x == 1 && v.y == 5); // passes
29c0d1194033 Fix #198 and #199 by making CTFE on static struct initializers work.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
24 assert(v.c.c == 0xffffffff); // fails in LDC
29c0d1194033 Fix #198 and #199 by making CTFE on static struct initializers work.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
25 }