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
