diff --git a/src/plugins/baremetal/sdccparser.cpp b/src/plugins/baremetal/sdccparser.cpp index e84021dd7b0..46dfa71463a 100644 --- a/src/plugins/baremetal/sdccparser.cpp +++ b/src/plugins/baremetal/sdccparser.cpp @@ -125,7 +125,7 @@ void SdccParser::stdError(const QString &line) return; } - re.setPattern("^at (\\d+): (error) \\d+: (.+)$"); + re.setPattern("^at (\\d+): (warning|error) \\d+: (.+)$"); match = re.match(lne); if (match.hasMatch()) { enum CaptureIndex { MessageCodeIndex = 1, MessageTypeIndex, MessageTextIndex }; @@ -292,6 +292,18 @@ void BareMetalPlugin::testSdccOutputParsers_data() categoryCompile)) << QString(); + QTest::newRow("Compiler bad option warning") + << QString::fromLatin1("at 1: warning 123: Some warning") + << OutputParserTester::STDERR + << QString() + << QString::fromLatin1("at 1: warning 123: Some warning\n") + << (Tasks() << Task(Task::Warning, + QLatin1String("Some warning"), + Utils::FilePath(), + -1, + categoryCompile)) + << QString(); + QTest::newRow("Linker warning") << QString::fromLatin1("?ASlink-Warning-Couldn't find library 'foo.lib'") << OutputParserTester::STDERR