[Mono-bugs] [Bug 70807][Nor] Changed - mcs generates CS0213 (can not fix an already fixed expression) when csc doesn't

bugzilla-daemon@bugzilla.ximian.com bugzilla-daemon@bugzilla.ximian.com
Sun, 26 Dec 2004 00:24:59 -0500 (EST)


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 bmaurer@users.sf.net.

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

--- shadow/70807	2004-12-26 00:04:49.000000000 -0500
+++ shadow/70807.tmp.9536	2004-12-26 00:24:59.000000000 -0500
@@ -61,6 +61,15 @@
   unsafe void Func(out int i)
   { lowLevelCall(&i); // okay in mcs, CS0212 in csc
   }
 
 (CS0212 is "You can only take the address of unfixed expression inside of a
 fixed statement initializer")
+
+------- Additional Comments From bmaurer@users.sf.net  2004-12-26 00:24 -------
+This is happening because the compiler is assuming that any param is
+fixed. However, the pram is really a managed pointer, so the thing it
+points to may or may not be fixed.
+
+The problem is ParameterReference.VerifyFixed. But I don't understand
+the code here. I have no idea what the is_expression has to do with
+anything. Can someone add comments in the source?