diff options
author | Tobias Hunger <tobias.hunger@nokia.com> | 2010-04-09 16:49:04 +0200 |
---|---|---|
committer | con <qtc-committer@nokia.com> | 2010-04-14 17:00:53 +0200 |
commit | 509283941bac1571b2c86a3fde98982e912be36d (patch) | |
tree | bce6c0f18ccd0e1e240d771a5f9f25e7a4ca46df | |
parent | ad89369de8f9dff8b32118ef58ea6f8f7123b377 (diff) | |
download | qt-creator-509283941bac1571b2c86a3fde98982e912be36d.tar.gz |
GCC parser improvements
(cherry picked from commit 37d192099d707589f8dbeda69430c3a72eaef274)
-rw-r--r-- | src/plugins/projectexplorer/gccparser.cpp | 55 |
1 files changed, 54 insertions, 1 deletions
diff --git a/src/plugins/projectexplorer/gccparser.cpp b/src/plugins/projectexplorer/gccparser.cpp index 2f98f8dbd5..b63d80f6df 100644 --- a/src/plugins/projectexplorer/gccparser.cpp +++ b/src/plugins/projectexplorer/gccparser.cpp @@ -131,7 +131,10 @@ void GccParser::stdError(const QString &line) m_regExpLinker.cap(1) /* filename */, lineno, Constants::TASK_CATEGORY_COMPILE); - if (m_regExpInFunction.indexIn(description) > -1) + if (m_regExpInFunction.indexIn(description) > -1 || + description.startsWith(QLatin1String("At global scope")) || + description.startsWith(QLatin1String("instantiated from ")) || + description.startsWith(QLatin1String("In instantiation of "))) task.type = Task::Unknown; emit addTask(task); @@ -429,6 +432,56 @@ void ProjectExplorerPlugin::testGccOutputParsers_data() QString(), -1, Constants::TASK_CATEGORY_COMPILE)) << QString(); + QTest::newRow("In function") + << QString::fromLatin1("../../scriptbug/main.cpp: In function void foo(i) [with i = double]:\n" + "../../scriptbug/main.cpp:22: instantiated from here\n" + "../../scriptbug/main.cpp:8: warning: unused variable c") + << OutputParserTester::STDERR + << QString() << QString() + << ( QList<ProjectExplorer::Task>() + << Task(Task::Unknown, + QLatin1String("In function void foo(i) [with i = double]:"), + QLatin1String("../../scriptbug/main.cpp"), -1, + Constants::TASK_CATEGORY_COMPILE) + << Task(Task::Unknown, + QLatin1String("instantiated from here"), + QLatin1String("../../scriptbug/main.cpp"), 22, + Constants::TASK_CATEGORY_COMPILE) + << Task(Task::Warning, + QLatin1String("unused variable c"), + QLatin1String("../../scriptbug/main.cpp"), 8, + Constants::TASK_CATEGORY_COMPILE)) + << QString(); + QTest::newRow("At global scope") + << QString::fromLatin1("../../scriptbug/main.cpp: At global scope:\n" + "../../scriptbug/main.cpp: In instantiation of void bar(i) [with i = double]:\n" + "../../scriptbug/main.cpp:8: instantiated from void foo(i) [with i = double]\n" + "../../scriptbug/main.cpp:22: instantiated from here\n" + "../../scriptbug/main.cpp:5: warning: unused parameter v") + << OutputParserTester::STDERR + << QString() << QString() + << ( QList<ProjectExplorer::Task>() + << Task(Task::Unknown, + QLatin1String("At global scope:"), + QLatin1String("../../scriptbug/main.cpp"), -1, + Constants::TASK_CATEGORY_COMPILE) + << Task(Task::Unknown, + QLatin1String("In instantiation of void bar(i) [with i = double]:"), + QLatin1String("../../scriptbug/main.cpp"), -1, + Constants::TASK_CATEGORY_COMPILE) + << Task(Task::Unknown, + QLatin1String("instantiated from void foo(i) [with i = double]"), + QLatin1String("../../scriptbug/main.cpp"), 8, + Constants::TASK_CATEGORY_COMPILE) + << Task(Task::Unknown, + QLatin1String("instantiated from here"), + QLatin1String("../../scriptbug/main.cpp"), 22, + Constants::TASK_CATEGORY_COMPILE) + << Task(Task::Warning, + QLatin1String("unused parameter v"), + QLatin1String("../../scriptbug/main.cpp"), 5, + Constants::TASK_CATEGORY_COMPILE)) + << QString(); } void ProjectExplorerPlugin::testGccOutputParsers() |