annotate tests/mini/bug198_ctfestructinit.d @ 1292:ad41053c336e

Make static int[] a = [1, 2]; a[0] = 4; not segfault by making the array data ptr a non-const global variable.
author Christian Kamm <kamm incasoftware de>
date Sun, 03 May 2009 11:16:54 +0200
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 static Color opCall(uint _c) { Color ret; ret.c = _c; return ret; }
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 // run at compile time
29c0d1194033 Fix #198 and #199 by making CTFE on static struct initializers work.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
7 static const Color white = Color(0xffffffff);
29c0d1194033 Fix #198 and #199 by making CTFE on static struct initializers work.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
8
29c0d1194033 Fix #198 and #199 by making CTFE on static struct initializers work.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
9 void main()
29c0d1194033 Fix #198 and #199 by making CTFE on static struct initializers work.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
10 {
29c0d1194033 Fix #198 and #199 by making CTFE on static struct initializers work.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
11 assert(white.c == 0xffffffff);
29c0d1194033 Fix #198 and #199 by making CTFE on static struct initializers work.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
12 }