From 362bcf6ba353f2dab2ffa9ea1aba9c215b5b8fb3 Mon Sep 17 00:00:00 2001 From: Miguel de Icaza Date: Mon, 17 May 2004 21:22:51 +0000 Subject: [PATCH] 2004-05-17 Miguel de Icaza * class.cs (MemberBase.DoDefine): Pass UNSAFE on interface definitions. (Method): Allow UNSAFE here. * modifiers.cs: Support unsafe reporting. svn path=/trunk/mcs/; revision=27540 --- mcs/mcs/ChangeLog | 9 +++++++++ mcs/mcs/class.cs | 4 ++-- mcs/mcs/modifiers.cs | 2 ++ 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/mcs/mcs/ChangeLog b/mcs/mcs/ChangeLog index a7a4aff058d..25070194971 100755 --- a/mcs/mcs/ChangeLog +++ b/mcs/mcs/ChangeLog @@ -1,3 +1,12 @@ +2004-05-17 Miguel de Icaza + + * class.cs (MemberBase.DoDefine): Pass UNSAFE on interface + definitions. + + (Method): Allow UNSAFE here. + + * modifiers.cs: Support unsafe reporting. + 2004-05-17 Marek Safar * decl.cs: Fix bug #58478. diff --git a/mcs/mcs/class.cs b/mcs/mcs/class.cs index 5d589632324..c013bfad739 100755 --- a/mcs/mcs/class.cs +++ b/mcs/mcs/class.cs @@ -2691,7 +2691,7 @@ namespace Mono.CSharp { Modifiers.EXTERN; const int AllowedInterfaceModifiers = - Modifiers.NEW; + Modifiers.NEW | Modifiers.UNSAFE; // // return_type can be "null" for VOID values. @@ -4228,7 +4228,7 @@ namespace Mono.CSharp { if (IsInterface) { ModFlags = Modifiers.PUBLIC | Modifiers.ABSTRACT | - Modifiers.VIRTUAL; + Modifiers.VIRTUAL | (ModFlags & Modifiers.UNSAFE); flags = MethodAttributes.Public | MethodAttributes.Abstract | diff --git a/mcs/mcs/modifiers.cs b/mcs/mcs/modifiers.cs index 1e17aa3602c..7a39a0673ec 100755 --- a/mcs/mcs/modifiers.cs +++ b/mcs/mcs/modifiers.cs @@ -68,6 +68,8 @@ namespace Mono.CSharp { s = "extern"; break; case Modifiers.VOLATILE: s = "volatile"; break; + case Modifiers.UNSAFE: + s = "unsafe"; break; } return s; -- 2.25.1