changeset 1537:457db9394771

[Issue 1204] segfault using struct in CTFE Don Clugston <clugdbug@yahoo.com.au> 2007-04-30 http://d.puremagic.com/issues/show_bug.cgi?id=1204
author thomask
date Mon, 07 May 2007 05:21:26 +0000
parents 89775df1607d
children 5530980c0d49
files compile/s/struct_30_C.d compile/s/struct_30_D.d run/s/struct_30_A.d run/s/struct_30_B.d
diffstat 4 files changed, 112 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/compile/s/struct_30_C.d	Mon May 07 05:21:26 2007 +0000
@@ -0,0 +1,26 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+// @author@	Don Clugston <clugdbug@yahoo.com.au>
+// @date@	2007-04-30
+// @uri@	http://d.puremagic.com/issues/show_bug.cgi?id=1204
+// @desc@	[Issue 1204] segfault using struct in CTFE
+
+module dstress.compile.s.struct_30_C;
+
+struct S {
+    int a = 0xABCD_1234;
+    int b = 0xC0FF_EEEE;
+}
+
+S foo(){
+    int q = 0;
+    int unused;
+    int unused2;
+    return S(q, 0);
+}
+
+const s = foo();
+static assert(0xABCD_1234 == s.a);
+static assert(0xC0FF_EEEE == s.b);
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/compile/s/struct_30_D.d	Mon May 07 05:21:26 2007 +0000
@@ -0,0 +1,25 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+// @author@	Don Clugston <clugdbug@yahoo.com.au>
+// @date@	2007-04-30
+// @uri@	http://d.puremagic.com/issues/show_bug.cgi?id=1204
+// @desc@	[Issue 1204] segfault using struct in CTFE
+
+module dstress.compile.s.struct_30_D;
+
+struct S {
+    int a = 0xABCD_1234;
+    int b = 0xC0FF_EEEE;
+}
+
+S foo(){
+    int q = 0;
+    int unused;
+    return S(q, 0);
+}
+
+const s = foo();
+static assert(0xABCD_1234 == s.a);
+static assert(0xC0FF_EEEE == s.b);
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/s/struct_30_A.d	Mon May 07 05:21:26 2007 +0000
@@ -0,0 +1,31 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+// @author@	Don Clugston <clugdbug@yahoo.com.au>
+// @date@	2007-04-30
+// @uri@	http://d.puremagic.com/issues/show_bug.cgi?id=1204
+// @desc@	[Issue 1204] segfault using struct in CTFE
+
+module dstress.run.s.struct_30_A;
+
+struct S {
+    int a = 0xABCD_1234;
+    int b = 0xC0FF_EEEE;
+}
+
+S foo(){
+    int q = 0;
+    int unused;
+    int unused2;
+    return S(q, 0);
+}
+
+int main(){
+	const s = foo();
+	if((0xABCD_1234 != s.a) || (0xC0FF_EEEE != s.b)){
+		assert(0);
+	}
+
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/s/struct_30_B.d	Mon May 07 05:21:26 2007 +0000
@@ -0,0 +1,30 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+// @author@	Don Clugston <clugdbug@yahoo.com.au>
+// @date@	2007-04-30
+// @uri@	http://d.puremagic.com/issues/show_bug.cgi?id=1204
+// @desc@	[Issue 1204] segfault using struct in CTFE
+
+module dstress.run.s.struct_30_B;
+
+struct S {
+    int a = 0xABCD_1234;
+    int b = 0xC0FF_EEEE;
+}
+
+S foo(){
+    int q = 0;
+    int unused;
+    return S(q, 0);
+}
+
+int main(){
+	const s = foo();
+	if((0xABCD_1234 != s.a) || (0xC0FF_EEEE != s.b)){
+		assert(0);
+	}
+
+	return 0;
+}