diff --git a/src/plugins/projectexplorer/gccparser.cpp b/src/plugins/projectexplorer/gccparser.cpp index f6094984fe8..c1682dca486 100644 --- a/src/plugins/projectexplorer/gccparser.cpp +++ b/src/plugins/projectexplorer/gccparser.cpp @@ -682,6 +682,28 @@ void ProjectExplorerPlugin::testGccOutputParsers_data() QLatin1String("cns5k_ins_parser_tests.cpp"), -1, categoryCompile)) << QString(); + + QTest::newRow("uic warning") + << QString::fromLatin1("mainwindow.ui: Warning: The name 'pushButton' (QPushButton) is already in use, defaulting to 'pushButton1'.") + << OutputParserTester::STDERR + << QString() << QString() + << ( QList() + << Task(Task::Warning, + QLatin1String("The name 'pushButton' (QPushButton) is already in use, defaulting to 'pushButton1'."), + QLatin1String("mainwindow.ui"), -1, + Constants::TASK_CATEGORY_COMPILE)) + << QString(); + + QTest::newRow("libimf warning") + << QString::fromLatin1("libimf.so: warning: warning: feupdateenv is not implemented and will always fail") + << OutputParserTester::STDERR + << QString() << QString() + << ( QList() + << Task(Task::Warning, + QLatin1String("warning: feupdateenv is not implemented and will always fail"), + QLatin1String("libimf.so"), -1, + Constants::TASK_CATEGORY_COMPILE)) + << QString(); } void ProjectExplorerPlugin::testGccOutputParsers() diff --git a/src/plugins/projectexplorer/ldparser.cpp b/src/plugins/projectexplorer/ldparser.cpp index 6cfccc58c94..b4a41ca7820 100644 --- a/src/plugins/projectexplorer/ldparser.cpp +++ b/src/plugins/projectexplorer/ldparser.cpp @@ -106,6 +106,10 @@ void LdParser::stdError(const QString &line) description.startsWith(QLatin1String("instantiated from ")) || description.startsWith(QLatin1String("In "))) task.type = Task::Unknown; + if (description.startsWith(QLatin1String("warning: "), Qt::CaseInsensitive)) { + task.type = Task::Warning; + task.description = description.mid(9); + } emit addTask(task); return;