aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDenis Shienkov <denis.shienkov@gmail.com>2019-10-13 17:49:10 +0300
committerDenis Shienkov <denis.shienkov@gmail.com>2019-10-14 09:19:55 +0000
commit6d089f33f7719f96614ac01f19587393a2dc8dc9 (patch)
tree5b6866ef8e8bc5ffe2fb5704cb7d8c829d25f22f
parentb84fecfb7d86eaf28dba8a8a52bfcc8c4e813425 (diff)
BareMetal: Parse missed SDCC compiler warning
... in a form like: at 1: warning 117: unknown compiler option '--xram-loc2' ignored Fixes: QTCREATORBUG-23083 Change-Id: If428cb7317d0c13246fcb0c1741d015a80af91b7 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
-rw-r--r--src/plugins/baremetal/sdccparser.cpp14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/plugins/baremetal/sdccparser.cpp b/src/plugins/baremetal/sdccparser.cpp
index e84021dd7b..46dfa71463 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