aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/projectexplorer/msvcparser.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/projectexplorer/msvcparser.cpp')
-rw-r--r--src/plugins/projectexplorer/msvcparser.cpp25
1 files changed, 23 insertions, 2 deletions
diff --git a/src/plugins/projectexplorer/msvcparser.cpp b/src/plugins/projectexplorer/msvcparser.cpp
index 39a41f3663..9512ed94a3 100644
--- a/src/plugins/projectexplorer/msvcparser.cpp
+++ b/src/plugins/projectexplorer/msvcparser.cpp
@@ -202,7 +202,7 @@ void MsvcParser::doFlush()
// ".\qwindowsgdinativeinterface.cpp(48,3) : error: unknown type name 'errr'"
static inline QString clangClCompilePattern()
{
- return QLatin1String(FILE_POS_PATTERN) + " (warning|error): (.*)$";
+ return QLatin1String(FILE_POS_PATTERN) + " ?(warning|error): (.*)$";
}
ClangClParser::ClangClParser()
@@ -624,6 +624,27 @@ void ProjectExplorerPlugin::testClangClOutputParsers_data()
<< CompileTask(Task::Error, error2.trimmed(),
FilePath::fromUserInput(".\\qwindowsgdinativeinterface.cpp"), 51))
<< "";
+
+ QTest::newRow("other error")
+ << "C:\\Program Files\\LLVM\\bin\\clang-cl.exe /nologo /c /EHsc /Od -m64 /Zi /MDd "
+ "/DUNICODE /D_UNICODE /DWIN32 /FdTestForError.cl.pdb "
+ "/FoC:\\MyData\\Project_home\\cpp\build-TestForError-msvc_2017_clang-Debug\\Debug_msvc_201_47eca974c876c8b3\\TestForError.b6dd39ae\\3a52ce780950d4d9\\main.cpp.obj "
+ "C:\\MyData\\Project_home\\cpp\\TestForError\\main.cpp /TP\r\n"
+ "C:\\MyData\\Project_home\\cpp\\TestForError\\main.cpp(3,10): error: expected ';' after return statement\r\n"
+ "return 0\r\n"
+ " ^\r\n"
+ " ;"
+ << OutputParserTester::STDERR
+ << ""
+ << "C:\\Program Files\\LLVM\\bin\\clang-cl.exe /nologo /c /EHsc /Od -m64 /Zi /MDd "
+ "/DUNICODE /D_UNICODE /DWIN32 /FdTestForError.cl.pdb "
+ "/FoC:\\MyData\\Project_home\\cpp\build-TestForError-msvc_2017_clang-Debug\\Debug_msvc_201_47eca974c876c8b3\\TestForError.b6dd39ae\\3a52ce780950d4d9\\main.cpp.obj "
+ "C:\\MyData\\Project_home\\cpp\\TestForError\\main.cpp /TP\r\n"
+ " ;\n"
+ << Tasks{CompileTask(Task::Error, "expected ';' after return statement\nreturn 0",
+ FilePath::fromUserInput("C:\\MyData\\Project_home\\cpp\\TestForError\\main.cpp"),
+ 3)}
+ << "";
}
void ProjectExplorerPlugin::testClangClOutputParsers()
@@ -632,9 +653,9 @@ void ProjectExplorerPlugin::testClangClOutputParsers()
testbench.appendOutputParser(new ClangClParser);
QFETCH(QString, input);
QFETCH(OutputParserTester::Channel, inputChannel);
- QFETCH(Tasks, tasks);
QFETCH(QString, childStdOutLines);
QFETCH(QString, childStdErrLines);
+ QFETCH(Tasks, tasks);
QFETCH(QString, outputLines);
testbench.testParsing(input, inputChannel,