Please do not reply to this email- if you want to comment on the bug, go to the
URL shown below and enter your comments there.

Changed by [EMAIL PROTECTED]

http://bugzilla.ximian.com/show_bug.cgi?id=76485

--- shadow/76485        2006-01-16 11:21:01.000000000 -0500
+++ shadow/76485.tmp.11701      2006-01-18 05:36:22.000000000 -0500
@@ -42,6 +42,107 @@
 ------- Additional Comments From [EMAIL PROTECTED]  2006-01-16 11:21 -------
 monodis seems to be working with Nemerle.dll fine. ilasm2(svn) can
 roundtrip it also now. But am not sure whether there might be any
 issues with the roundtripped assembly. It would be nice if nemerle's
 test-suite could be tried on this and let us know if there are issues
 with that. Thanks.
+
+------- Additional Comments From [EMAIL PROTECTED]  2006-01-18 05:36 -------
+So the good news: it works fine with the testsuite.
+
+There is a single tiny problem: monodis says special-name, while ilasm
+accepts only specialname. I think ilasm is right.
+
+However there are issues with PEVerify run on the resulting assemblies:
+
+[IL]: Error: [C:\cygwin\home\malekith\boot\Nemerle.dll :
+Nemerle.Collections.Set`1['a]::Sum['a]][offset 0x00000006] Unable to
+resolve token.
+[token  0x0200002F] Type load failed.
+2 Errors Verifying Nemerle.dll
+
+(similar errors occur in Nemerle.Compiler.dll).
+
+Offending method, when disassembled by MS ildasm:
+  .method public hidebysig instance class
+Nemerle.Collections.Set`1<!'\'a'>
+          Sum(class Nemerle.Collections.Set`1<!'\'a'> s) cil managed
+  {
+    // Code size       30 (0x1e)
+    .maxstack  4
+    .locals init (class Nemerle.Builtins.Function`3<!'\'a',class
+Nemerle.Collections.Tree/Node`1<!'\'a'>,
+             class Nemerle.Collections.Tree/Node`1<!'\'a'>> V_0)
+    IL_0000:  ldarg.1
+    IL_0001:  ldfld      class Nemerle.Collections.Tree/Node`1<!0>
+class Nemerle.Collections.Set`1<!'\'a'>::root
+    IL_0006:  ldarg.0
+    IL_0007:  ldfld      class Nemerle.Collections.Tree/Node`1<!0>
+class Nemerle.Collections.Set`1<!'\'a'>::root
+    IL_000c:  newobj     instance void class
+Nemerle.Collections.Set`1/_N__N_l10568_10578<!'\'a'>::.ctor()
+    IL_0011:  stloc.0
+    IL_0012:  ldloc.0
+    IL_0013:  call       !!1
+Nemerle.Collections.Tree::Fold<!'\'a',class
+Nemerle.Collections.Tree/Node`1<!'\'a'>>(class
+Nemerle.Collections.Tree/Node`1<!!0>,!!1,class
+Nemerle.Builtins.Function`3<!!0,
+                                                                     
+                                            !!1,
+                                                                     
+                                            !!1>)
+    IL_0018:  newobj     instance void class
+Nemerle.Collections.Set`1<!'\'a'>::.ctor(class
+Nemerle.Collections.Tree/Node`1<!0>)
+    IL_001d:  ret
+  } // end of method Set`1::Sum
+
+and by monodis:
+
+    // method line 610
+    .method public hidebysig
+           instance default class Nemerle.Collections.Set`1<!'\'a'>
+Sum (class Nemerle.Collections.Set`1<!'\'a'> s) -> cil managed
+    {
+        // Method begins at RVA 0xcd0c
+        // Code size 30 (0x1e)         .maxstack 4
+        .locals init (
+                class Nemerle.Builtins.Function`3<!'\'a', class
+Nemerle.Collections.Tree/Node`1<!'\'a'>, class ->
+Nemerle.Collections.Tree/Node`1<!'\'a'>>        V_0)
+        IL_0000:  ldarg.1
+        IL_0001:  ldfld  class Nemerle.Collections.Tree/Node`1<!0>
+class Nemerle.Collections.Set`1<!0>::root
+        IL_0006:  ldarg.0
+        IL_0007:  ldfld  class Nemerle.Collections.Tree/Node`1<!0>
+class Nemerle.Collections.Set`1<!0>::root
+        IL_000c:  newobj instance void class
+Nemerle.Collections.Set`1/_N__N_l10577_10587<!'\'a'>::.ctor()        
+IL_0011:  stloc.0
+        IL_0012:  ldloc.0         IL_0013:  call !!1 class
+Nemerle.Collections.Tree::Fold<!0, class
+Nemerle.Collections.Tree/Node`1<!0>> -> (class
+Nemerle.Collections.Tree/Node`1<!!0>, !!1, class
+Nemerle.Builtins.Function`3<!!0,!!1,!!1>)
+        IL_0018:  newobj instance void class
+Nemerle.Collections.Set`1<!'\'a'>::.ctor(class
+Nemerle.Collections.Tree/-> Node`1<!0>)
+        IL_001d:  ret
+    } // end of method Set`1::instance default class
+Nemerle.Collections.Set`1<!'\'a'> Sum (class Nemerle. ->
+Collections.Set`1<!'\'a'> s)
+
+
+Also when trying to ms.ilasm monodis produced assembly, it assembles
+fine, but later PEVerify screams:
+[IL]: Error: [C:\cygwin\home\malekith\stage3\n.dll :
+Nemerle.Utility.Getopt::Usage] Type load failed.
+[IL]: Error: [C:\cygwin\home\malekith\stage3\n.dll :
+Nemerle.Utility.Getopt::Parse] Type load failed.
+[IL]: Error: [C:\cygwin\home\malekith\stage3\n.dll :
+Nemerle.Utility.Getopt::Parse] Type load failed.
+[IL]: Error: [C:\cygwin\home\malekith\stage3\n.dll :
+Nemerle.Utility.Getopt::_N_concat4729] Type load failed.
+
+and so on, but it can be something wrong with my setup here.
+
_______________________________________________
mono-bugs maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-bugs

Reply via email to