2004-02-16 Marek Safar <marek.safar@seznam.cz>
authorMarek Safar <marek.safar@gmail.com>
Mon, 16 Feb 2004 09:11:30 +0000 (09:11 -0000)
committerMarek Safar <marek.safar@gmail.com>
Mon, 16 Feb 2004 09:11:30 +0000 (09:11 -0000)
* cs3001-{7,8}.cs,
  cs3005-(1-22}.cs,
  cs3006-{1-6}.cs,
  cs3012.cs,
  cs3013.cs New error tests for CLS-compliance.

* cs186-2.cs,
  cs0579-2.cs New error tests.

* makefile: Added CS3005-16-lib.cs and CS3013-module.cs as helpers for errors cs3005-16.cs and cs3013.cs.

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

44 files changed:
mcs/errors/CS3005-16-lib.cs [new file with mode: 0644]
mcs/errors/CS3013-module.cs [new file with mode: 0644]
mcs/errors/ChangeLog
mcs/errors/Makefile
mcs/errors/cs0186-2.cs [new file with mode: 0644]
mcs/errors/cs0579-2.cs [new file with mode: 0644]
mcs/errors/cs3001-7.cs
mcs/errors/cs3001-8.cs [new file with mode: 0644]
mcs/errors/cs3002-10.cs
mcs/errors/cs3005-1.cs [new file with mode: 0644]
mcs/errors/cs3005-10.cs [new file with mode: 0644]
mcs/errors/cs3005-11.cs [new file with mode: 0644]
mcs/errors/cs3005-12.cs [new file with mode: 0644]
mcs/errors/cs3005-13.cs [new file with mode: 0644]
mcs/errors/cs3005-14.cs [new file with mode: 0644]
mcs/errors/cs3005-15.cs [new file with mode: 0644]
mcs/errors/cs3005-16.cs [new file with mode: 0644]
mcs/errors/cs3005-17.cs [new file with mode: 0644]
mcs/errors/cs3005-18.cs [new file with mode: 0644]
mcs/errors/cs3005-19.cs [new file with mode: 0644]
mcs/errors/cs3005-2.cs [new file with mode: 0644]
mcs/errors/cs3005-20.cs [new file with mode: 0644]
mcs/errors/cs3005-21.cs [new file with mode: 0644]
mcs/errors/cs3005-22.cs [new file with mode: 0644]
mcs/errors/cs3005-3.cs [new file with mode: 0644]
mcs/errors/cs3005-4.cs [new file with mode: 0644]
mcs/errors/cs3005-5.cs [new file with mode: 0644]
mcs/errors/cs3005-6.cs [new file with mode: 0644]
mcs/errors/cs3005-7.cs [new file with mode: 0644]
mcs/errors/cs3005-8.cs [new file with mode: 0644]
mcs/errors/cs3005-9.cs [new file with mode: 0644]
mcs/errors/cs3005.cs
mcs/errors/cs3006-1.cs [new file with mode: 0644]
mcs/errors/cs3006-2.cs [new file with mode: 0644]
mcs/errors/cs3006-3.cs [new file with mode: 0644]
mcs/errors/cs3006-4.cs [new file with mode: 0644]
mcs/errors/cs3006-5.cs [new file with mode: 0644]
mcs/errors/cs3006-6.cs [new file with mode: 0644]
mcs/errors/cs3006.cs [new file with mode: 0644]
mcs/errors/cs3009-1.cs [new file with mode: 0644]
mcs/errors/cs3009-2.cs [new file with mode: 0644]
mcs/errors/cs3009.cs [new file with mode: 0644]
mcs/errors/cs3012.cs [new file with mode: 0644]
mcs/errors/cs3013.cs [new file with mode: 0644]

diff --git a/mcs/errors/CS3005-16-lib.cs b/mcs/errors/CS3005-16-lib.cs
new file mode 100644 (file)
index 0000000..ae55419
--- /dev/null
@@ -0,0 +1,11 @@
+using System;
+[assembly: CLSCompliantAttribute (true)]
+
+public class CLSClass_A {
+       [CLSCompliantAttribute(true)]
+       virtual public bool Universal {
+            get {
+               return false;
+            }
+        }
+}
\ No newline at end of file
diff --git a/mcs/errors/CS3013-module.cs b/mcs/errors/CS3013-module.cs
new file mode 100644 (file)
index 0000000..c75cba9
--- /dev/null
@@ -0,0 +1,6 @@
+// Extra test date for cs3013.cs 
+
+using System;
+
+public class CLSClass {
+}
\ No newline at end of file
index 4e4a00db6fe6819c7bd955221960e9b0c2eaaab4..a9ce1786673becb14415ddeeb4b71ef6d4f81c5f 100644 (file)
@@ -1,21 +1,35 @@
+2004-02-16 Marek Safar <marek.safar@seznam.cz>
+
+       * cs3001-{7,8}.cs,
+         cs3005-(1-22}.cs,
+         cs3006-{1-6}.cs,
+         cs3012.cs,
+         cs3013.cs New error tests for CLS-compliance.
+
+       * cs186-2.cs,
+         cs0579-2.cs New error tests.
+
+       * makefile: Added CS3005-16-lib.cs and CS3013-module.cs as helpers for errors cs3005-16.cs and cs3013.cs.
+
+
 2004-02-10 Marek Safar <marek.safar@seznam.cz>
 
        * cs0111-2.cs: Fixed error message.
-          cs0111-5.cs,
+         cs0111-5.cs,
          cs0528-2.cs: New error tests.
 
 2004-02-03 Marek Safar <marek.safar@seznam.cz>
 
        * cs0102-{2,3,4,5}.cs,
-          cs0111-{3,4}.cs,
-          cs0547-2.cs: New error tests.
+         cs0111-{3,4}.cs,
+         cs0547-2.cs: New error tests.
 
 2004-01-21 Marek Safar <marek.safar@seznam.cz>
 
        * cs0102.cs,
-          cs0111-2.cs,
-          cs246-{2,3,4}.cs,
-          cs663.cs: New tests.
+         cs0111-2.cs,
+         cs246-{2,3,4}.cs,
+         cs663.cs: New tests.
 
 2004-01-05 Marek Safar <marek.safar@seznam.cz>
 
          cs3016-1.cs,
          cs3016-2.cs,
          cs3016-3.cs: New tests for CLS-compliance.
-          
-        * cs108-2.cs,
-          cs116-2.cs,
-          cs592-4.cs,
-          cs592-5.cs,
-          cs592-6.cs: New tests.
-        
+
+       * cs108-2.cs,
+         cs116-2.cs,
+         cs592-4.cs,
+         cs592-5.cs,
+         cs592-6.cs: New tests.
+
 2004-01-04 Ben Maurer  <bmaurer@users.sourceforge.net>
 
        * cs157-{2,3,4}: test cases we fail.
 
 2003-11-01  Marek Safar <marek.safar@seznam.cz>
 
-        * makefile: Added "// Compiler options:" handling.
-        
+       * makefile: Added "// Compiler options:" handling.
+
 2003-09-22  Martin Baulig  <martin@ximian.com>
 
        * errors.txt: Added -219.
index 26c7c8e48ab8d9602eac5cbb32615b2ba251a75b..cbbc27a2770a196db7a284b45ff5d7e1effe4bda 100644 (file)
@@ -19,7 +19,7 @@ DISTFILES = \
        $(wildcard *.cs)
 
 #all-local: run-test-local test-multi-local
-all-local:
+all-local: CS3005-16-lib.dll CS3013-module.dll
 
 test-local:
 
@@ -76,3 +76,9 @@ clean-local:
 dist-local: dist-default
 
 install-local uninstall-local:
+
+CS3005-16-lib.dll: 
+       $(BOOTSTRAP_MCS) /target:library /out:$@ CS3005-16-lib.cs
+       
+CS3013-module.dll:
+       $(BOOTSTRAP_MCS) /target:module /out:$@ CS3013-module.cs
diff --git a/mcs/errors/cs0186-2.cs b/mcs/errors/cs0186-2.cs
new file mode 100644 (file)
index 0000000..6cb8bcd
--- /dev/null
@@ -0,0 +1,6 @@
+// cs0186.cs: Use of null is not valid in this context// Line: 2
+class ClassMain {        public static void Main() {
+                foreach (System.Type type in null) {
+                }                    }
+}
+
diff --git a/mcs/errors/cs0579-2.cs b/mcs/errors/cs0579-2.cs
new file mode 100644 (file)
index 0000000..4d252ba
--- /dev/null
@@ -0,0 +1,11 @@
+// cs0579.cs : Duplicate 'DebuggableAttribute' attribute// Line : 6
+using System.Diagnostics;
+
+[module: DebuggableAttribute (false, false)] 
+[module: DebuggableAttribute (false, false)] 
+
+class MainClass {
+        static void Main()
+        {
+        }
+}
index 2ffebcfad6c826f812cffb87535722d853cc05a8..77dd35d4ea1651bc9d460241208034ccfdc8b1af 100644 (file)
@@ -1,14 +1,9 @@
-// cs3001-4.cs: Identifier 'CLSClass.vAluE' differing only in case is not CLS-compliant
+// cs3001.cs: Argument type 'ulong' is not CLS-compliant
 // Line: 8
 
 using System;
 [assembly:CLSCompliant(true)]
 
-[CLSCompliant(false)]
 public interface I {
-        [CLSCompliant(false)]
-        void Foo();
-
-        [CLSCompliant(true)]
-        long this[uint indexA] { set; }
+        long this[ulong indexA] { set; }
 }
diff --git a/mcs/errors/cs3001-8.cs b/mcs/errors/cs3001-8.cs
new file mode 100644 (file)
index 0000000..51df1f8
--- /dev/null
@@ -0,0 +1,10 @@
+// cs3001.cs: Argument type 'int*' is not CLS-compliant
+// Line: 9
+// Compiler options: --unsafe
+
+using System;
+[assembly:CLSCompliant(true)]
+
+unsafe public abstract class CLSClass {
+        public void Method (int* param) {}
+}
index fc97275f16466427d60053666ab8d0b67832b295..daea488fea8686add7ca2b19df6724485705a90a 100644 (file)
@@ -1,7 +1,7 @@
-// cs3002-2.cs: Return type of 'I.Error()' is not CLS-compliant
-// Line: 13
+// cs3002.cs: Return type of 'I.Error()' is not CLS-compliant
+// Line: 8
 
-[assembly:System.CLSCompliant (true)]
+[assembly:System.CLSCompliant(true)]
 
 public interface I 
 {
diff --git a/mcs/errors/cs3005-1.cs b/mcs/errors/cs3005-1.cs
new file mode 100644 (file)
index 0000000..c8e9752
--- /dev/null
@@ -0,0 +1,12 @@
+// cs3005.cs: Identifier 'CLSClass.Method(int)' differing only in case is not CLS-compliant
+// Line: 8
+
+[assembly:System.CLSCompliant (true)]
+
+public class BaseClass {
+        public int method;
+}
+
+public class CLSClass : BaseClass {
+        public static void Method(int arg) {}
+}
\ No newline at end of file
diff --git a/mcs/errors/cs3005-10.cs b/mcs/errors/cs3005-10.cs
new file mode 100644 (file)
index 0000000..897f54c
--- /dev/null
@@ -0,0 +1,9 @@
+// cs3005.cs: error CS3005: Identifier 'System.Icomparable' differing only in case is not CLS-compliant
+// Line: 8
+
+[assembly:System.CLSCompliant(true)]
+
+namespace System {
+    public interface Icomparable {
+    }
+}
\ No newline at end of file
diff --git a/mcs/errors/cs3005-11.cs b/mcs/errors/cs3005-11.cs
new file mode 100644 (file)
index 0000000..cd0ff6b
--- /dev/null
@@ -0,0 +1,11 @@
+// cs3005.cs: Identifier 'clsInterface' differing only in case is not CLS-compliant
+// Line: 10
+
+using System;
+[assembly:CLSCompliant (true)]
+
+public interface CLSInterface {
+}
+
+public class clsInterface: CLSInterface {
+}
\ No newline at end of file
diff --git a/mcs/errors/cs3005-12.cs b/mcs/errors/cs3005-12.cs
new file mode 100644 (file)
index 0000000..4efba92
--- /dev/null
@@ -0,0 +1,10 @@
+// cs3005.cs: Identifier 'CLSClass.NameAbC(int)' differing only in case is not CLS-compliant
+// Line: 9
+
+using System;
+[assembly:CLSCompliant (true)]
+
+public class CLSClass {
+        public int NameABC;
+        public static void NameAbC(int arg) {}
+}
\ No newline at end of file
diff --git a/mcs/errors/cs3005-13.cs b/mcs/errors/cs3005-13.cs
new file mode 100644 (file)
index 0000000..a2309bd
--- /dev/null
@@ -0,0 +1,10 @@
+// cs3005.cs: Identifier 'CLSEnum.Label' differing only in case is not CLS-compliant
+// Line: 9
+
+using System;
+[assembly:CLSCompliant (true)]
+
+public enum CLSEnum {
+        label,
+        Label
+}
\ No newline at end of file
diff --git a/mcs/errors/cs3005-14.cs b/mcs/errors/cs3005-14.cs
new file mode 100644 (file)
index 0000000..cbfecf2
--- /dev/null
@@ -0,0 +1,10 @@
+// cs3005.cs: Identifier 'i1' differing only in case is not CLS-compliant
+// Line: 9
+
+[assembly:System.CLSCompliant(true)]
+
+public interface I1 {
+}
+
+public interface i1 {
+}
\ No newline at end of file
diff --git a/mcs/errors/cs3005-15.cs b/mcs/errors/cs3005-15.cs
new file mode 100644 (file)
index 0000000..b848c4c
--- /dev/null
@@ -0,0 +1,11 @@
+// cs3005.cs: Identifier 'a' differing only in case is not CLS-compliant
+// Line: 10
+
+using System;
+[assembly:CLSCompliant (true)]
+
+public enum A {
+}
+
+public interface a {
+}
\ No newline at end of file
diff --git a/mcs/errors/cs3005-16.cs b/mcs/errors/cs3005-16.cs
new file mode 100644 (file)
index 0000000..187f9cf
--- /dev/null
@@ -0,0 +1,10 @@
+// cs3005.cs: Identifier 'CLSClass_B.uNIVERSAL' differing only in case is not CLS-compliant
+// Line: 9
+// Compiler options: -reference:cs3005-16-lib.dll
+
+using System;
+[assembly: CLSCompliantAttribute (true)]
+
+public class CLSClass_B: CLSClass_A {
+        public const int uNIVERSAL = 3;
+}
\ No newline at end of file
diff --git a/mcs/errors/cs3005-17.cs b/mcs/errors/cs3005-17.cs
new file mode 100644 (file)
index 0000000..e9acf4e
--- /dev/null
@@ -0,0 +1,13 @@
+// cs3005.cs: Identifier 'CLSClass.op_implicit()' differing only in case is not CLS-compliant
+// Line: 12
+
+using System;
+[assembly:CLSCompliant(true)]
+
+public class CLSClass {
+        static public implicit operator CLSClass(byte value) {
+               return new CLSClass();
+        }
+    
+        public void op_implicit () {}
+}
\ No newline at end of file
diff --git a/mcs/errors/cs3005-18.cs b/mcs/errors/cs3005-18.cs
new file mode 100644 (file)
index 0000000..f816f48
--- /dev/null
@@ -0,0 +1,19 @@
+// cs3005.cs: Identifier 'B.TEST()' differing only in case is not CLS-compliant
+// Line: 15
+
+using System;
+
+[assembly: CLSCompliantAttribute (true)]
+
+public class A
+{
+    [CLSCompliant (false)]
+    public void Test () {}
+        
+    public void test () {}
+}
+
+public class B: A
+{
+    public void TEST () {} 
+}
\ No newline at end of file
diff --git a/mcs/errors/cs3005-19.cs b/mcs/errors/cs3005-19.cs
new file mode 100644 (file)
index 0000000..7800fea
--- /dev/null
@@ -0,0 +1,11 @@
+// cs3005.cs: Identifier 'II.compareto()' differing only in case is not CLS-compliant
+// Line: 10
+
+[assembly:System.CLSCompliant(true)]
+
+public interface I {
+}
+
+public interface II: I, System.IComparable {
+        bool compareto();
+}
diff --git a/mcs/errors/cs3005-2.cs b/mcs/errors/cs3005-2.cs
new file mode 100644 (file)
index 0000000..3241506
--- /dev/null
@@ -0,0 +1,15 @@
+// cs3005.cs: Identifier 'CLSClass.Index.get' differing only in case is not CLS-compliant
+// Line: 14
+
+[assembly:System.CLSCompliant(true)]
+
+public class X {
+        public int index { get { return 0; } }
+}
+
+public class Y: X {
+}
+    
+public class CLSClass: Y {
+        public long Index { get { return 3; } }
+}
\ No newline at end of file
diff --git a/mcs/errors/cs3005-20.cs b/mcs/errors/cs3005-20.cs
new file mode 100644 (file)
index 0000000..1d153d3
--- /dev/null
@@ -0,0 +1,16 @@
+// cs3005.cs: Identifier 'I.BLAH.get' differing only in case is not CLS-compliant
+// Line: 15
+
+using System.Runtime.CompilerServices;
+using System;
+
+[assembly: CLSCompliant (true)]
+
+public interface I {
+       [IndexerName ("blah")]
+       int this [int a] {
+            get;
+       }
+
+       int BLAH { get; }
+}
diff --git a/mcs/errors/cs3005-21.cs b/mcs/errors/cs3005-21.cs
new file mode 100644 (file)
index 0000000..6f0afd1
--- /dev/null
@@ -0,0 +1,13 @@
+// cs3005.cs: Identifier 'CLSClass.NameAbc' differing only in case is not CLS-compliant
+// Line: 12
+
+using System;
+[assembly:CLSCompliant (true)]
+
+public class CLSClass {
+        [CLSCompliant (false)]
+        public int NameABC;
+            
+        public int NameAbc;
+        public int NameAbC;
+}
\ No newline at end of file
diff --git a/mcs/errors/cs3005-22.cs b/mcs/errors/cs3005-22.cs
new file mode 100644 (file)
index 0000000..b598d8e
--- /dev/null
@@ -0,0 +1,10 @@
+// cs3005.cs: Identifier 'X.Index' differing only in case is not CLS-compliant
+// Line: 8
+
+[assembly:System.CLSCompliant(true)]
+
+public class X {
+        public int index { get { return 0; } }
+        public int Index { set {} }
+        
+}
\ No newline at end of file
diff --git a/mcs/errors/cs3005-3.cs b/mcs/errors/cs3005-3.cs
new file mode 100644 (file)
index 0000000..0bfa09f
--- /dev/null
@@ -0,0 +1,16 @@
+// cs3005.cs: Identifier 'CLSClass.value' differing only in case is not CLS-compliant
+// Line: 15
+
+[assembly:System.CLSCompliant(true)]
+
+public class X {
+        public bool Value;
+}
+
+public class Y: X {
+        private readonly bool vAalue;
+}
+    
+public class CLSClass: Y {
+        protected internal bool value;
+}
\ No newline at end of file
diff --git a/mcs/errors/cs3005-4.cs b/mcs/errors/cs3005-4.cs
new file mode 100644 (file)
index 0000000..30e6a3a
--- /dev/null
@@ -0,0 +1,9 @@
+// cs3005.cs: Identifier 'CLSClass.constant' differing only in case is not CLS-compliant
+// Line: 8
+
+[assembly:System.CLSCompliant(true)]
+
+public class CLSClass {
+        protected int Constant = 1;
+        protected const bool constant = false;
+}
\ No newline at end of file
diff --git a/mcs/errors/cs3005-5.cs b/mcs/errors/cs3005-5.cs
new file mode 100644 (file)
index 0000000..76c6b5c
--- /dev/null
@@ -0,0 +1,14 @@
+// cs3005.cs: Identifier 'CLSClass.Event_A' differing only in case is not CLS-compliant
+// Line: 13
+
+[assembly:System.CLSCompliant(true)]
+
+public delegate void MyDelegate(int i);
+
+public class Base {
+        protected event System.ResolveEventHandler Event_a;
+}
+
+public class CLSClass: Base {
+        public event MyDelegate Event_A;
+}
\ No newline at end of file
diff --git a/mcs/errors/cs3005-6.cs b/mcs/errors/cs3005-6.cs
new file mode 100644 (file)
index 0000000..f6f8260
--- /dev/null
@@ -0,0 +1,10 @@
+// cs3005.cs: Identifier 'i1' differing only in case is not CLS-compliant
+// Line: 9
+
+[assembly:System.CLSCompliant(true)]
+
+public class I1 {
+}
+
+public interface i1 {
+}
\ No newline at end of file
diff --git a/mcs/errors/cs3005-7.cs b/mcs/errors/cs3005-7.cs
new file mode 100644 (file)
index 0000000..cd893c3
--- /dev/null
@@ -0,0 +1,9 @@
+// cs3005.cs: Identifier 'CLSClass.this[int].set' differing only in case is not CLS-compliant
+// Line: 8
+
+[assembly:System.CLSCompliant(true)]
+
+public class CLSClass {
+        protected int SET_item;
+        public int this[int index] { set {} }        
+}
\ No newline at end of file
diff --git a/mcs/errors/cs3005-8.cs b/mcs/errors/cs3005-8.cs
new file mode 100644 (file)
index 0000000..e201494
--- /dev/null
@@ -0,0 +1,10 @@
+// cs3005.cs: Identifier 'II.foo' differing only in case is not CLS-compliant
+// Line: 9
+
+using System;
+[assembly:CLSCompliant(true)]
+
+public interface II {
+        int Foo();
+        int foo { get; }
+}
\ No newline at end of file
diff --git a/mcs/errors/cs3005-9.cs b/mcs/errors/cs3005-9.cs
new file mode 100644 (file)
index 0000000..c6f0fdf
--- /dev/null
@@ -0,0 +1,10 @@
+// cs3005.cs: Identifier 'c1' differing only in case is not CLS-compliant
+// Line: 9
+
+[assembly:System.CLSCompliant(true)]
+
+public class C1 {
+}
+
+public class c1 {
+}
\ No newline at end of file
index 46c269a886a4b8ceb2ead50fac097e5a4bcbbf22..7d05a856014a0e95aa705cbf5d2912f231206cb4 100644 (file)
@@ -1,10 +1,10 @@
 // cs3005: Identifier foo differing only in case is not CLS-Compliant.
-// Line: 13 
-
+// Line: 9
 
 using System;
+[assembly: CLSCompliant (true)]
 
-class ErrorCS3005 {
+public class ErrorCS3005 {
        public int FOO = 0;
        public int foo = 1;
 
diff --git a/mcs/errors/cs3006-1.cs b/mcs/errors/cs3006-1.cs
new file mode 100644 (file)
index 0000000..e0eded6
--- /dev/null
@@ -0,0 +1,13 @@
+// cs3006.cs: Overloaded method 'CLSClass.Test(int[,])' differing only in ref or out, or in array rank, is not CLS-compliant
+// Line: 11
+
+using System;
+[assembly: CLSCompliant(true)]
+
+public class CLSClass {
+   public void Test(int[,,] b) {
+   }
+
+   public void Test(int[,] b) {
+   }
+}
diff --git a/mcs/errors/cs3006-2.cs b/mcs/errors/cs3006-2.cs
new file mode 100644 (file)
index 0000000..d0f3066
--- /dev/null
@@ -0,0 +1,12 @@
+// cs3006.cs: Overloaded method 'CLSClass.Test(out bool)' differing only in ref or out, or in array rank, is not CLS-compliant
+// Line: 11
+
+using System;
+[assembly: CLSCompliant(true)]
+
+public abstract class CLSClass {
+   public void Test(bool a) {
+   }
+
+   public abstract void Test(out bool b);
+}
diff --git a/mcs/errors/cs3006-3.cs b/mcs/errors/cs3006-3.cs
new file mode 100644 (file)
index 0000000..362734e
--- /dev/null
@@ -0,0 +1,10 @@
+// cs3006.cs: Overloaded method 'CLSInterface.Test(ref int)' differing only in ref or out, or in array rank, is not CLS-compliant
+// Line: 9
+
+using System;
+[assembly: CLSCompliant(true)]
+
+public interface CLSInterface {
+        void Test(int a);
+        void Test(ref int b);
+}
diff --git a/mcs/errors/cs3006-4.cs b/mcs/errors/cs3006-4.cs
new file mode 100644 (file)
index 0000000..5cd1a1f
--- /dev/null
@@ -0,0 +1,10 @@
+// cs3006.cs: Overloaded method 'CLSInterface.Test(int[,])' differing only in ref or out, or in array rank, is not CLS-compliant
+// Line: 9
+
+using System;
+[assembly: CLSCompliant(true)]
+
+public interface CLSInterface {
+        void Test(int[,,] b);
+        void Test(int[,] b);
+}
diff --git a/mcs/errors/cs3006-5.cs b/mcs/errors/cs3006-5.cs
new file mode 100644 (file)
index 0000000..f9a3f91
--- /dev/null
@@ -0,0 +1,10 @@
+// cs3006.cs: Overloaded method 'CLSInterface.Test(out bool)' differing only in ref or out, or in array rank, is not CLS-compliant
+// Line: 9
+
+using System;
+[assembly: CLSCompliant(true)]
+
+public interface CLSInterface {
+        void Test(bool a);
+        void Test(out bool b);
+}
diff --git a/mcs/errors/cs3006-6.cs b/mcs/errors/cs3006-6.cs
new file mode 100644 (file)
index 0000000..3e1e9bd
--- /dev/null
@@ -0,0 +1,14 @@
+// cs3006-1.cs: Overloaded method 'CLSClass.CLSClass(int[,,])' differing only in ref or out, or in array rank, is not CLS-compliant
+// Line: 11
+
+using System;
+[assembly: CLSCompliant(true)]
+
+public class CLSClass {
+    public CLSClass(int[,,] b) {
+    }
+
+    public CLSClass(int[,] b) {
+    }
+
+}
diff --git a/mcs/errors/cs3006.cs b/mcs/errors/cs3006.cs
new file mode 100644 (file)
index 0000000..d4790cb
--- /dev/null
@@ -0,0 +1,13 @@
+// cs3006.cs: Overloaded method 'CLSClass.Test(ref int)' differing only in ref or out, or in array rank, is not CLS-compliant
+// Line: 11
+
+using System;
+[assembly: CLSCompliant(true)]
+
+public class CLSClass {
+   public void Test(int a) {
+   }
+
+   public void Test(ref int b) {
+   }
+}
diff --git a/mcs/errors/cs3009-1.cs b/mcs/errors/cs3009-1.cs
new file mode 100644 (file)
index 0000000..c238174
--- /dev/null
@@ -0,0 +1,7 @@
+// cs3009.cs: 'Days': base type 'uint' is not CLS-compliant
+// Line: 7
+
+using System;
+[assembly:CLSCompliant(true)]
+
+public enum Days: uint {Sat=1, Sun, Mon, Tue, Wed, Thu, Fri};
diff --git a/mcs/errors/cs3009-2.cs b/mcs/errors/cs3009-2.cs
new file mode 100644 (file)
index 0000000..03b8b08
--- /dev/null
@@ -0,0 +1,10 @@
+// cs3009.cs: 'CLSClass': base type 'System.Runtime.Serialization.Formatter' is not CLS-compliant
+// Line: 9
+
+using System;
+using System.Runtime.Serialization;
+
+[assembly:CLSCompliant (true)]
+
+public abstract class CLSClass: Formatter {
+}
diff --git a/mcs/errors/cs3009.cs b/mcs/errors/cs3009.cs
new file mode 100644 (file)
index 0000000..c574f1a
--- /dev/null
@@ -0,0 +1,12 @@
+// cs3009.cs: 'CLSClass': base type 'BaseClass' is not CLS-compliant
+// Line: 11
+
+using System;
+[assembly:CLSCompliant (true)]
+
+[CLSCompliant (false)]
+public class BaseClass {
+}
+
+public class CLSClass: BaseClass {
+}
diff --git a/mcs/errors/cs3012.cs b/mcs/errors/cs3012.cs
new file mode 100644 (file)
index 0000000..b9f34d6
--- /dev/null
@@ -0,0 +1,11 @@
+// cs3012.cs: You must specify the CLSCompliant attribute on the assembly, not the module, to enable CLS compliance checking
+// Line: 7
+// Compiler options: -warnaserror
+
+using System;
+
+[module: CLSCompliant(true)]
+
+public class ClsMain {
+        public static void Main () {}
+}
\ No newline at end of file
diff --git a/mcs/errors/cs3013.cs b/mcs/errors/cs3013.cs
new file mode 100644 (file)
index 0000000..1bf6826
--- /dev/null
@@ -0,0 +1,7 @@
+// cs3013.cs: Added module is not CLS-compliant, or is missing CLSCompliant attribute
+// Line: 0
+// Compiler options: -addmodule:CS3013-module.dll
+
+using System;
+
+[assembly: CLSCompliant(true)]