changeset 8:9eec35fef572

added union test
author thomask
date Wed, 06 Oct 2004 09:36:52 +0000
parents fc906c72f386
children 4d64fb56f885
files run/union_01.d run/union_02.d run/union_03.d run/union_04.d run/union_05.d run/union_06.d run/union_07.d
diffstat 7 files changed, 86 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/union_01.d	Wed Oct 06 09:36:52 2004 +0000
@@ -0,0 +1,12 @@
+union MyUnion{
+	int a;
+	int b;
+}
+
+int main(){
+	MyUnion u;
+	u.a  = 1;
+	assert(u.a==1);
+	assert(u.b==1);
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/union_02.d	Wed Oct 06 09:36:52 2004 +0000
@@ -0,0 +1,11 @@
+union MyUnion{
+	int a;
+	int b;
+}
+
+int main(){
+	static MyUnion u={2};
+	assert(u.a==2);
+	assert(u.b==2);
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/union_03.d	Wed Oct 06 09:36:52 2004 +0000
@@ -0,0 +1,11 @@
+union MyUnion{
+	int a;
+	int b;
+}
+
+int main(){
+	static MyUnion u={b:3};
+	assert(u.a==3);
+	assert(u.b==3);
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/union_04.d	Wed Oct 06 09:36:52 2004 +0000
@@ -0,0 +1,11 @@
+union MyUnion{
+	short s;
+	byte b;
+}
+
+int main(){
+	static MyUnion u={b:3};
+	assert(u.sizeof==short.sizeof);
+	assert(MyUnion.sizeof==short.sizeof);
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/union_05.d	Wed Oct 06 09:36:52 2004 +0000
@@ -0,0 +1,11 @@
+union MyUnion{
+	int a;
+	int b;
+}
+
+int main(){
+	static MyUnion u;
+	assert(u.alignof!=0);
+	assert(MyUnion.alignof!=0);
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/union_06.d	Wed Oct 06 09:36:52 2004 +0000
@@ -0,0 +1,15 @@
+union MyUnion{
+	short s;
+	byte b;
+}
+
+int main(){
+	MyUnion u;
+	u.s=0x1234;
+	version(LittleEndian){
+		assert(u.b==0x34);
+	}else{
+		assert(u.b==0x12);
+	}
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/union_07.d	Wed Oct 06 09:36:52 2004 +0000
@@ -0,0 +1,15 @@
+union MyUnion{
+	short s;
+	byte b;
+}
+
+int main(){
+	MyUnion u;
+	u.b=0x12;
+	version(LittleEndian){
+		assert(u.s==0x0012);
+	}else{
+		assert(u.s==0x1200);
+	}
+	return 0;
+}