static ErrorMatch ParseClangMatch(ReadOnlyLineBuffer Input, ErrorSeverity Severity) { string Indent = ExtractIndent(Input[0]); int MinOffset = Input.MatchBackwards(0, String.Format(@"^(?:{0}).*(?:In (member )?function|In file included from)", Indent)); int MaxOffset = Input.MatchForwards(0, String.Format(@"^({0} |{0}{1}\s*note:| *\$)", Indent, ClangFileLinePattern)); return(new ErrorMatch(Severity, ErrorPriority.High, "Compile", Input, MinOffset, MaxOffset)); }
public ErrorMatch Match(ReadOnlyLineBuffer Input) { if (Input.IsMatch(@"error: linker command failed with exit code ")) { int MinIdx = Input.MatchBackwards(0, ": In function |: undefined reference to |[^a-zA-Z]ld: "); return(new ErrorMatch(ErrorSeverity.Error, ErrorPriority.Normal, "Link", Input, MinIdx, 0)); } if (Input.IsMatch("Undefined symbols for architecture")) { int MaxOffset = Input.MatchForwardsUntil(0, "ld: symbol"); return(new ErrorMatch(ErrorSeverity.Error, ErrorPriority.Normal, "Link", Input, 0, MaxOffset)); } if (Input.IsMatch(@"LINK : fatal error")) { return(new ErrorMatch(ErrorSeverity.Error, ErrorPriority.Normal, "Link", Input)); } return(null); }