New tests for .data
authorJackson Harper <jackson@novell.com>
Mon, 22 Sep 2003 02:52:13 +0000 (02:52 -0000)
committerJackson Harper <jackson@novell.com>
Mon, 22 Sep 2003 02:52:13 +0000 (02:52 -0000)
svn path=/trunk/mcs/; revision=18257

mcs/ilasm/tests/test-data-a.il [new file with mode: 0644]
mcs/ilasm/tests/test-data-b.il [new file with mode: 0644]
mcs/ilasm/tests/test-data-c.il [new file with mode: 0644]

diff --git a/mcs/ilasm/tests/test-data-a.il b/mcs/ilasm/tests/test-data-a.il
new file mode 100644 (file)
index 0000000..7ee7c1e
--- /dev/null
@@ -0,0 +1,38 @@
+//
+// Test emitting data and the field mapping
+//
+// Author(s):
+//  Jackson Harper (Jackson@LatitudeGeo.com)
+//
+// (C) 2003 Jackson Harper, All rights reserved
+//
+
+.assembly extern mscorlib { }
+.assembly 'test-data-a' { }
+
+
+.class public T extends [mscorlib]System.Object {
+
+        .data some_data = int32 (1)
+        .field private static int32 some_field at some_data
+
+        .method public static int32 main ()
+        {
+                .entrypoint
+
+                ldsfld int32 T::some_field
+                brfalse fail
+
+        pass:
+                ldstr "PASS"
+                call void [mscorlib]System.Console::WriteLine (string)
+                ldc.i4.0
+                ret
+        fail:
+                ldstr "FAIL"
+                call void [mscorlib]System.Console::WriteLine (string)
+                ldc.i4.1
+                ret
+        }
+}
+
diff --git a/mcs/ilasm/tests/test-data-b.il b/mcs/ilasm/tests/test-data-b.il
new file mode 100644 (file)
index 0000000..f7a7969
--- /dev/null
@@ -0,0 +1,41 @@
+//
+// Test emitting data and the field mapping with the data
+// defined after the field (and in global scope)
+//
+// Author(s):
+//  Jackson Harper (Jackson@LatitudeGeo.com)
+//
+// (C) 2003 Jackson Harper, All rights reserved
+//
+
+.assembly extern mscorlib { }
+.assembly 'test-data-b' { }
+
+
+.class public T extends [mscorlib]System.Object {
+
+        
+        .field private static int32 some_field at some_data
+
+        .method public static int32 main ()
+        {
+                .entrypoint
+
+                ldsfld int32 T::some_field
+                brfalse fail
+
+        pass:
+                ldstr "PASS"
+                call void [mscorlib]System.Console::WriteLine (string)
+                ldc.i4.0
+                ret
+        fail:
+                ldstr "FAIL"
+                call void [mscorlib]System.Console::WriteLine (string)
+                ldc.i4.1
+                ret
+        }
+}
+
+.data some_data = int32 (1)
+
diff --git a/mcs/ilasm/tests/test-data-c.il b/mcs/ilasm/tests/test-data-c.il
new file mode 100644 (file)
index 0000000..8fd47cd
--- /dev/null
@@ -0,0 +1,41 @@
+//
+// Test emitting data and the field mapping with the data
+// defined in another class. (Actually all .data is global,
+// even if it is defined in a class)
+//
+// Author(s):
+//  Jackson Harper (Jackson@LatitudeGeo.com)
+//
+// (C) 2003 Jackson Harper, All rights reserved
+//
+
+.assembly extern mscorlib { }
+.assembly 'test-data-b' { }
+
+.class public Stub extends [mscorlib]System.Object {
+       .data some_data = int32 (1)
+}
+
+.class public T extends [mscorlib]System.Object {
+
+        .field private static int32 some_field at some_data
+
+        .method public static int32 main ()
+        {
+                .entrypoint
+
+                ldsfld int32 T::some_field
+                brfalse fail
+
+        pass:
+                ldstr "PASS"
+                call void [mscorlib]System.Console::WriteLine (string)
+                ldc.i4.0
+                ret
+        fail:
+                ldstr "FAIL"
+                call void [mscorlib]System.Console::WriteLine (string)
+                ldc.i4.1
+                ret
+        }
+}