2008-05-08 Rodrigo Kumpera <rkumpera@novell.com>
authorRodrigo Kumpera <kumpera@gmail.com>
Thu, 8 May 2008 15:03:55 +0000 (15:03 -0000)
committerRodrigo Kumpera <kumpera@gmail.com>
Thu, 8 May 2008 15:03:55 +0000 (15:03 -0000)
* bug-387274.2.il: Regression test for bug #387274.

svn path=/trunk/mono/; revision=102808

mono/tests/ChangeLog
mono/tests/Makefile.am
mono/tests/bug-387274.2.il [new file with mode: 0644]

index a1bef1e13d47021f2320c5186f154341876a77ac..5ba8ce6792c284e8188c5b96c6ed82ff558556a2 100644 (file)
@@ -1,3 +1,7 @@
+2008-05-08  Rodrigo Kumpera  <rkumpera@novell.com>
+
+       * bug-387274.2.il: Regression test for bug #387274.
+
 2008-05-07  Robert Jordan  <robertj@gmx.net>
 
        * Makefile.am: don't pull libeglib.a twice. Fixes #387491.
index c97d2fba0a8275e298547dcdcf434ccc7730505f..2ce3d2b575108f5e0d562537e012cc8ff3d19b43 100644 (file)
@@ -356,6 +356,7 @@ TEST_IL_SRC=                        \
        bug-79215.2.il  \
        bug-79956.2.il  \
        bug-327438.2.il \
+       bug-387274.2.il \
        ldtoken_with_byref_typespec.2.il \
        resolve_method_bug.2.il \
        resolve_field_bug.2.il \
diff --git a/mono/tests/bug-387274.2.il b/mono/tests/bug-387274.2.il
new file mode 100644 (file)
index 0000000..0e00030
--- /dev/null
@@ -0,0 +1,86 @@
+.assembly extern mscorlib
+{
+  .ver 2:0:0:0
+  .publickeytoken = (B7 7A 5C 56 19 34 E0 89 )
+}
+.assembly extern Microsoft.VisualC
+{
+  .ver 8:0:0:0
+  .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+}
+
+.assembly 'PureApp'
+{
+  .permissionset reqmin = {[mscorlib]System.Security.Permissions.SecurityPermissionAttribute = {property bool 'SkipVerification' = bool(true)}}
+  .hash algorithm 0x00008004
+  .ver  0:0:0:0
+}
+.module PureApp.exe // GUID = {DB842872-06AD-4D53-B0A8-D39869A4A91F}
+
+
+.method assembly static default char& modopt ([mscorlib]System.Runtime.CompilerServices.IsExplicitlyDereferenced)  modopt ([mscorlib]System.Runtime.CompilerServices.IsConst)  PtrToStringChars (string modopt ([mscorlib]System.Runtime.CompilerServices.IsConst)  s)  cil managed 
+{
+       .maxstack 2
+       .locals ( unsigned int8& modopt ([mscorlib]System.Runtime.CompilerServices.IsExplicitlyDereferenced)    V_0)
+       ldarg.0 
+       stloc.0 
+       ldloc.0 
+       brfalse.s END
+
+       call int32 class [mscorlib]System.Runtime.CompilerServices.RuntimeHelpers::get_OffsetToStringData()
+       ldloc.0 
+       add 
+       stloc.0 
+END:
+       ldloc.0 
+       ret 
+}
+
+.method assembly static default void WriteStringManaged (char modopt ([mscorlib]System.Runtime.CompilerServices.IsConst) * str)  cil managed 
+{
+       .maxstack 1
+       ldarg.0 
+       call native int native int::op_Explicit(void*)
+       call string class [mscorlib]System.Runtime.InteropServices.Marshal::PtrToStringUni(native int)
+       call void class [mscorlib]System.Console::WriteLine(string)
+       ret 
+}
+
+.method assembly static default int32 main (string[] args)  cil managed 
+{
+       .entrypoint
+       .maxstack 2
+       .locals (
+               unsigned int8& modopt ([mscorlib]System.Runtime.CompilerServices.IsExplicitlyDereferenced)      V_0,
+               char& pinned modopt ([mscorlib]System.Runtime.CompilerServices.IsExplicitlyDereferenced) modopt ([mscorlib]     System.Runtime.CompilerServices.IsConst)        V_1)
+
+       ldstr "Pure console application"
+       call void class [mscorlib]System.Console::WriteLine(string)
+       ldstr "WriteStringManaged"
+       stloc.0 
+       ldloc.0 
+       brfalse.s END
+
+       call int32 class [mscorlib]System.Runtime.CompilerServices.RuntimeHelpers::get_OffsetToStringData()
+       ldloc.0 
+       add 
+       stloc.0 
+       ldloc.0 
+       stloc.1
+
+END:
+       ldloc.1 
+       call native int native int::op_Explicit(void*)
+       call string class [mscorlib]System.Runtime.InteropServices.Marshal::PtrToStringUni(native int)
+       call void class [mscorlib]System.Console::WriteLine(string)
+       ldc.i4.0 
+       ret 
+}
+
+.method assembly static  specialname  rtspecialname 
+       default void '.cctor' ()  cil managed 
+{
+       .maxstack 0
+       ret 
+}
+