[Mono-bugs] [Bug 78816][Nor] Changed - [gmcs] Generating invalid IL code
bugzilla-daemon at bugzilla.ximian.com
bugzilla-daemon at bugzilla.ximian.com
Wed Jul 12 21:09:52 EDT 2006
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 miguel at ximian.com.
http://bugzilla.ximian.com/show_bug.cgi?id=78816
--- shadow/78816 2006-07-12 17:29:28.000000000 -0400
+++ shadow/78816.tmp.31315 2006-07-12 21:09:52.000000000 -0400
@@ -48,6 +48,24 @@
------- Additional Comments From miguel at ximian.com 2006-07-12 17:29 -------
This is actually a verifier regression; The code generated by the
compiler is correct.
The code generated by gmcs verifies and runs on MS.NET
+
+------- Additional Comments From miguel at ximian.com 2006-07-12 21:09 -------
+I did some digging.
+
+The problem is that the verifier uses the can_access_method assuming
+the .NET 1.1 semantics, that is that the called method will have its
+class set to the BaseClass (this is how it appears on the CIL
+instruction stream).
+
+But instead, since this method is generic, after the inflation the
+class for the method is not the BaseClass, but the ChildClass, which
+triggers this failure.
+
+The issue is that we loose the information that the call is being done
+to the abstract method in the current class.
+
+A fix would be to return the method after decoding before the
+inflation, and do the checks against that one.
More information about the mono-bugs
mailing list