summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordt <qtc-committer@nokia.com>2009-02-05 17:19:27 +0100
committerdt <qtc-committer@nokia.com>2009-02-05 17:19:27 +0100
commit2c4023b5dc8f1d92474e973a483af52939d17cb7 (patch)
tree89012ee25331a6fc345be1ff9cf4415f7ba0e0e9
parent4d4324628a2b51372f164b8ee66c2122ca3fc049 (diff)
downloadqt-creator-2c4023b5dc8f1d92474e973a483af52939d17cb7.tar.gz
Fixes: Hopefully parse more gcc/ld errors.
Details: If we know don't parse some errors, then i'd like to know.
-rw-r--r--src/plugins/qt4projectmanager/gccparser.cpp47
-rw-r--r--src/plugins/qt4projectmanager/gccparser.h1
2 files changed, 14 insertions, 34 deletions
diff --git a/src/plugins/qt4projectmanager/gccparser.cpp b/src/plugins/qt4projectmanager/gccparser.cpp
index 1d43e77f57..b71a3362f5 100644
--- a/src/plugins/qt4projectmanager/gccparser.cpp
+++ b/src/plugins/qt4projectmanager/gccparser.cpp
@@ -46,14 +46,12 @@ GccParser::GccParser()
m_regExpIncluded.setPattern("^.*from\\s([^:]+):(\\d+)(,|:)$");
m_regExpIncluded.setMinimal(true);
- m_regExpLinker.setPattern("^(\\S+)\\(\\S+\\):\\s(.+)$");
+ m_regExpLinker.setPattern("^(\\S*)\\(\\S+\\):\\s(.+)$");
m_regExpLinker.setMinimal(true);
//make[4]: Entering directory `/home/kkoehne/dev/ide-explorer/src/plugins/qtscripteditor'
m_makeDir.setPattern("^make.*: (\\w+) directory .(.+).$");
m_makeDir.setMinimal(true);
-
- m_linkIndent = false;
}
QString GccParser::name() const
@@ -76,7 +74,15 @@ void GccParser::stdOutput(const QString & line)
void GccParser::stdError(const QString & line)
{
QString lne = line.trimmed();
- if (m_regExp.indexIn(lne) > -1) {
+ if (m_regExpLinker.indexIn(lne) > -1) {
+ QString description = m_regExpLinker.cap(2);
+ emit addToTaskWindow(
+ m_regExpLinker.cap(1), //filename
+ ProjectExplorer::BuildParserInterface::Error,
+ -1, //linenumber
+ description);
+ //qDebug()<<"m_regExpLinker"<<m_regExpLinker.cap(2);
+ } else if (m_regExp.indexIn(lne) > -1) {
ProjectExplorer::BuildParserInterface::PatternType type;
if (m_regExp.cap(5) == "warning")
type = ProjectExplorer::BuildParserInterface::Warning;
@@ -86,17 +92,14 @@ void GccParser::stdError(const QString & line)
type = ProjectExplorer::BuildParserInterface::Unknown;
QString description = m_regExp.cap(6);
- if (m_linkIndent)
- description.prepend(QLatin1String("-> "));
- //qDebug()<<m_regExp.cap(1)<<m_regExp.cap(2)<<m_regExp.cap(3)<<m_regExp.cap(4);
+ //qDebug()<<"m_regExp"<<m_regExp.cap(1)<<m_regExp.cap(2)<<m_regExp.cap(5);
emit addToTaskWindow(
m_regExp.cap(1), //filename
type,
m_regExp.cap(2).toInt(), //line number
description);
-
} else if (m_regExpIncluded.indexIn(lne) > -1) {
emit addToTaskWindow(
m_regExpIncluded.cap(1), //filename
@@ -104,29 +107,7 @@ void GccParser::stdError(const QString & line)
m_regExpIncluded.cap(2).toInt(), //linenumber
lne //description
);
- } else if (m_regExpLinker.indexIn(lne) > -1) {
- ProjectExplorer::BuildParserInterface::PatternType type = ProjectExplorer::BuildParserInterface::Error;
- QString description = m_regExpLinker.cap(2);
- if (lne.endsWith(QLatin1Char(':'))) {
- m_linkIndent = true;
- } else if (m_linkIndent) {
- description.prepend(QLatin1String("-> "));
- type = ProjectExplorer::BuildParserInterface::Unknown;
- }
- emit addToTaskWindow(
- m_regExpLinker.cap(1), //filename
- type,
- -1, //linenumber
- description);
+ //qDebug()<<"m_regExpInclude"<<m_regExpIncluded.cap(1)<<m_regExpIncluded.cap(2);
} else if (lne.startsWith(QLatin1String("collect2:"))) {
- emit addToTaskWindow(
- "",
- ProjectExplorer::BuildParserInterface::Error,
- -1,
- lne //description
- );
- m_linkIndent = false;
- } else {
- m_linkIndent = false;
- }
-}
+ emit addToTaskWindow("", ProjectExplorer::BuildParserInterface::Error, -1, lne);
+ }}
diff --git a/src/plugins/qt4projectmanager/gccparser.h b/src/plugins/qt4projectmanager/gccparser.h
index 24b21cde6f..80796f4be2 100644
--- a/src/plugins/qt4projectmanager/gccparser.h
+++ b/src/plugins/qt4projectmanager/gccparser.h
@@ -54,7 +54,6 @@ private:
QRegExp m_regExpIncluded;
QRegExp m_regExpLinker;
QRegExp m_makeDir;
- bool m_linkIndent;
};
} // namespace ProjectExplorer