From ca73b6b95fbddd84f89b83c9c90544ce90406a63 Mon Sep 17 00:00:00 2001
From: Tobias Hunger <tobias.hunger@nokia.com>
Date: Thu, 20 Jan 2011 11:16:00 +0100
Subject: [PATCH] Parser: Handle changed moc error reporting

---
 src/plugins/qt4projectmanager/qtparser.cpp | 13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)

diff --git a/src/plugins/qt4projectmanager/qtparser.cpp b/src/plugins/qt4projectmanager/qtparser.cpp
index e8b7c9a4439..641236b66f5 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()
-- 
GitLab