diff options
author | Christian Kandeler <christian.kandeler@qt.io> | 2020-05-06 11:10:23 +0200 |
---|---|---|
committer | Christian Kandeler <christian.kandeler@qt.io> | 2020-05-07 07:50:36 +0000 |
commit | 83f213bb6a7b8545da8b1844b5fc3d627eb4e70a (patch) | |
tree | 211770613df71c5e1f3bf81f574ac392153b621d | |
parent | 1cb8f525ea92899ee9a9dda10c693b058c9d1a1e (diff) |
ClangClParser: Do not require two spaces before "error:" string
Presumably, this has changed in newer llvm.
Fixes: QTCREATORBUG-23992
Change-Id: I82aaae893e3cf159be7c43fb4d7762875d2be8a8
Reviewed-by: André Hartmann <aha_1980@gmx.de>
-rw-r--r-- | src/plugins/projectexplorer/msvcparser.cpp | 25 |
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, |