diff --git a/src/plugins/qt4projectmanager/qtparser.cpp b/src/plugins/qt4projectmanager/qtparser.cpp index e8b7c9a44396d1672110767294e400e85d88499e..641236b66f5b54a7cb6146590fd4419a637f8e53 100644 --- a/src/plugins/qt4projectmanager/qtparser.cpp +++ b/src/plugins/qt4projectmanager/qtparser.cpp @@ -44,13 +44,13 @@ using ProjectExplorer::Task; namespace { // opt. drive letter + filename: (2 brackets) - const char * const FILE_PATTERN = "^(([A-Za-z]:)?[^:]+\\.[^:]+):"; + const char * const FILE_PATTERN = "^(([A-Za-z]:)?[^:]+\\.[^:]+)"; } QtParser::QtParser() { setObjectName(QLatin1String("QtParser")); - m_mocRegExp.setPattern(QString::fromLatin1(FILE_PATTERN) + "(\\d+):\\s(Warning|Error):\\s(.+)$"); + m_mocRegExp.setPattern(QString::fromLatin1(FILE_PATTERN) + "[:\\(](\\d+)\\)?:\\s(Warning|Error):\\s(.+)$"); m_mocRegExp.setMinimal(true); } @@ -131,6 +131,15 @@ void Qt4ProjectManagerPlugin::testQtOutputParser_data() QLatin1String("..\\untitled\\errorfile.h"), 0, ProjectExplorer::Constants::TASK_CATEGORY_COMPILE)) << QString(); + QTest::newRow("moc warning 2") + << QString::fromLatin1("c:\\code\\test.h(96): Warning: Property declaration ) has no READ accessor function. The property will be invalid.") + << OutputParserTester::STDERR + << QString() << QString() + << (QList<ProjectExplorer::Task>() << Task(Task::Warning, + QLatin1String("Property declaration ) has no READ accessor function. The property will be invalid."), + QLatin1String("c:\\code\\test.h"), 96, + ProjectExplorer::Constants::TASK_CATEGORY_COMPILE)) + << QString(); } void Qt4ProjectManagerPlugin::testQtOutputParser()