[mcs] Add lang version
authorMarek Safar <marek.safar@gmail.com>
Fri, 30 May 2014 13:12:44 +0000 (15:12 +0200)
committerMarek Safar <marek.safar@gmail.com>
Fri, 30 May 2014 13:13:19 +0000 (15:13 +0200)
mcs/errors/cs1617.cs
mcs/errors/cs1644-35.cs [new file with mode: 0644]
mcs/mcs/settings.cs

index 6feb97925c79bb29e9e52577c2058724f8df774d..88f9c12deca51b8d214bd2e87c42b18b4efa6746 100644 (file)
@@ -1,3 +1,3 @@
-// CS1617: Invalid -langversion option `ISO'. It must be `ISO-1', `ISO-2', `3', `4', `5', `Default' or `Future'
+// CS1617: Invalid -langversion option `ISO'. It must be `ISO-1', `ISO-2', Default or value in range 1 to 6
 // Line: 0
 // Compiler options: -langversion:ISO
diff --git a/mcs/errors/cs1644-35.cs b/mcs/errors/cs1644-35.cs
new file mode 100644 (file)
index 0000000..c97b37d
--- /dev/null
@@ -0,0 +1,17 @@
+// CS1644: Feature `exception filter' cannot be used because it is not part of the C# 5.0 language specification
+// Line: 14
+// Compiler options: -langversion:5
+
+using System;
+
+class X
+{
+       public static void Main ()
+       {
+               int x = 4;
+               try {
+                       throw null;
+               } catch (Exception) if (x > 0) {
+               }
+       }
+}
index 5e56f614f232f985a567d6ec9d7d3f2029cee2a1..3c7f13bdb13b4b3922fc19d5f57593c2334418e1 100644 (file)
@@ -28,6 +28,7 @@ namespace Mono.CSharp {
                V_3 = 3,
                V_4 = 4,
                V_5 = 5,
+               V_6 = 6,
                Future = 100,
 
                Default = LanguageVersion.Future,
@@ -1136,11 +1137,13 @@ namespace Mono.CSharp {
 
                                switch (value.ToLowerInvariant ()) {
                                case "iso-1":
+                               case "1":
                                        settings.Version = LanguageVersion.ISO_1;
                                        return ParseResult.Success;
                                case "default":
                                        settings.Version = LanguageVersion.Default;
                                        return ParseResult.Success;
+                               case "2":
                                case "iso-2":
                                        settings.Version = LanguageVersion.ISO_2;
                                        return ParseResult.Success;
@@ -1153,12 +1156,15 @@ namespace Mono.CSharp {
                                case "5":
                                        settings.Version = LanguageVersion.V_5;
                                        return ParseResult.Success;
+                               case "6":
+                                       settings.Version = LanguageVersion.V_6;
+                                       return ParseResult.Success;
                                case "future":
                                        settings.Version = LanguageVersion.Future;
                                        return ParseResult.Success;
                                }
 
-                               report.Error (1617, "Invalid -langversion option `{0}'. It must be `ISO-1', `ISO-2', `3', `4', `5', `Default' or `Future'", value);
+                               report.Error (1617, "Invalid -langversion option `{0}'. It must be `ISO-1', `ISO-2', Default or value in range 1 to 6", value);
                                return ParseResult.Error;
 
                        case "/codepage":