diff options
m--------- | external/cecil | 0 | ||||
m--------- | external/ikvm | 0 | ||||
-rw-r--r-- | mcs/class/Microsoft.Build.Utilities/Microsoft.Build.Utilities/ToolTask.cs | 3 | ||||
-rw-r--r-- | mcs/class/System/Microsoft.CSharp/CSharpCodeCompiler.cs | 17 |
4 files changed, 16 insertions, 4 deletions
diff --git a/external/cecil b/external/cecil -Subproject 89cfb1d4079002394010fd351628ad057c94422 +Subproject 54e0a50464edbc254b39ea3c885ee91ada73070 diff --git a/external/ikvm b/external/ikvm -Subproject b21af5015e658c102be86d25ccb02a2f6a895fb +Subproject 246083db06aa62f1999ddd0dcffb816b667f1cd diff --git a/mcs/class/Microsoft.Build.Utilities/Microsoft.Build.Utilities/ToolTask.cs b/mcs/class/Microsoft.Build.Utilities/Microsoft.Build.Utilities/ToolTask.cs index 3192344d278..77814aab862 100644 --- a/mcs/class/Microsoft.Build.Utilities/Microsoft.Build.Utilities/ToolTask.cs +++ b/mcs/class/Microsoft.Build.Utilities/Microsoft.Build.Utilities/ToolTask.cs @@ -464,8 +464,7 @@ namespace Microsoft.Build.Utilities } } - // Snatched from our codedom code, with some changes to make it compatible with csc - // (the line+column group is optional is csc) + // Keep in sync with mcs/class/System/Microsoft.CSharp/CSharpCodeCompiler.cs const string ErrorRegexPattern = @" ^ (\s*(?<file>[^\(]+) # filename (optional) diff --git a/mcs/class/System/Microsoft.CSharp/CSharpCodeCompiler.cs b/mcs/class/System/Microsoft.CSharp/CSharpCodeCompiler.cs index 26039bdd79b..62b41de358d 100644 --- a/mcs/class/System/Microsoft.CSharp/CSharpCodeCompiler.cs +++ b/mcs/class/System/Microsoft.CSharp/CSharpCodeCompiler.cs @@ -395,6 +395,20 @@ namespace Mono.CSharp args.AppendFormat("\"{0}\" ",source); return args.ToString(); } + + // Keep in sync with mcs/class/Microsoft.Build.Utilities/Microsoft.Build.Utilities/ToolTask.cs + const string ErrorRegexPattern = @" + ^ + (\s*(?<file>[^\(]+) # filename (optional) + (\((?<line>\d*)(,(?<column>\d*[\+]*))?\))? # line+column (optional) + :\s+)? + (?<level>\w+) # error|warning + \s+ + (?<number>[^:]*\d) # CS1234 + : + \s* + (?<message>.*)$"; + private static CompilerError CreateErrorFromString(string error_string) { if (error_string.StartsWith ("BETA")) @@ -404,8 +418,7 @@ namespace Mono.CSharp return null; CompilerError error=new CompilerError(); - Regex reg = new Regex (@"^(\s*(?<file>.*)\((?<line>\d*)(,(?<column>\d*))?\)(:)?\s+)*(?<level>\w+)\s*(?<number>.*):\s(?<message>.*)", - RegexOptions.Compiled | RegexOptions.ExplicitCapture); + Regex reg = new Regex (ErrorRegexPattern, RegexOptions.Compiled | RegexOptions.ExplicitCapture | RegexOptions.IgnorePatternWhitespace); Match match=reg.Match(error_string); if (!match.Success) { // We had some sort of runtime crash |