2004-11-07 Miguel de Icaza <miguel@ximian.com>
authorMiguel de Icaza <miguel@gnome.org>
Mon, 8 Nov 2004 00:48:47 +0000 (00:48 -0000)
committerMiguel de Icaza <miguel@gnome.org>
Mon, 8 Nov 2004 00:48:47 +0000 (00:48 -0000)
* expression.cs (Invocation.OverloadResolve): Flag error if we are
calling an unsafe method from a safe location.

svn path=/trunk/mcs/; revision=35795

mcs/mcs/ChangeLog
mcs/mcs/expression.cs

index ff18e3effec69af3b5381fb4f24e92465d3705ec..68ea4ddfadb1af77e66e9511d3db6e446bc3ca0c 100755 (executable)
@@ -1,3 +1,8 @@
+2004-11-07  Miguel de Icaza  <miguel@ximian.com>
+
+       * expression.cs (Invocation.OverloadResolve): Flag error if we are
+       calling an unsafe method from a safe location.
+
 2004-11-06  Marek Safar  <marek.safar@seznam.cz>
 
        Fix #69167
index bc187da80ce042108117d2b6925dc99717dbe7a8..c04d1e34e1bb7705840864a5807d1f59bec565fe 100755 (executable)
@@ -5014,6 +5014,13 @@ namespace Mono.CSharp {
                                                a.Expr = conv;
                                }
 
+                               if (parameter_type.IsPointer){
+                                       if (!ec.InUnsafe){
+                                               UnsafeError (loc);
+                                               return false;
+                                       }
+                               }
+                               
                                Parameter.Modifier a_mod = a.GetParameterModifier () &
                                        unchecked (~(Parameter.Modifier.OUT | Parameter.Modifier.REF));
                                Parameter.Modifier p_mod = pd.ParameterModifier (j) &