Skip to content
Snippets Groups Projects
Commit e6ab80a9 authored by con's avatar con
Browse files

Revert "Fix unit tests for gcc parser"

This reverts commit a797b1f9.
parent f9d314d1
No related branches found
No related tags found
No related merge requests found
...@@ -33,56 +33,42 @@ ...@@ -33,56 +33,42 @@
using namespace ProjectExplorer; using namespace ProjectExplorer;
namespace {
const char * const FILE_PATTERN("^(([a-zA-Z]:)?[^:]*\\.[^:]+):");
}
GccParser::GccParser() GccParser::GccParser()
{ {
// e.g. m_regExp.setPattern("^([^\\(\\)]+[^\\d]):(\\d+):(\\d+:)*(\\s(warning|error):)?\\s(.+)$");
//
m_regExp.setPattern(QString::fromLatin1(FILE_PATTERN) + "(\\d+):(\\d+:)*(\\s#?(warning|error):?)?\\s(.+)$");
m_regExp.setMinimal(true); m_regExp.setMinimal(true);
m_regExpIncluded.setPattern("^.*from\\s([^:]+):(\\d+)(,|:)$"); m_regExpIncluded.setPattern("^.*from\\s([^:]+):(\\d+)(,|:)$");
m_regExpIncluded.setMinimal(true); m_regExpIncluded.setMinimal(true);
// e.g.: m_regExpLinker.setPattern("^(\\S*)\\(\\S+\\):\\s(.+)$");
// c:\Qt\4.6\lib/QtGuid4.dll: file not recognized: File format not recognized
m_regExpLinker.setPattern(QString::fromLatin1(FILE_PATTERN) + "((\\d+|[^:]*):)?\\s(.+)$");
m_regExpLinker.setMinimal(true); m_regExpLinker.setMinimal(true);
} }
void GccParser::stdError(const QString &line) void GccParser::stdError(const QString &line)
{ {
QString lne = line.trimmed(); QString lne = line.trimmed();
if (m_regExp.indexIn(lne) > -1) { if (m_regExpLinker.indexIn(lne) > -1) {
QString description = m_regExpLinker.cap(2);
emit addTask(TaskWindow::Task(TaskWindow::Error,
description,
m_regExpLinker.cap(1) /* filename */,
-1 /* linenumber */,
Constants::TASK_CATEGORY_COMPILE));
return;
} else if (m_regExp.indexIn(lne) > -1) {
TaskWindow::Task task(TaskWindow::Unknown, TaskWindow::Task task(TaskWindow::Unknown,
m_regExp.cap(7) /* description */, m_regExp.cap(6) /* description */,
m_regExp.cap(1) /* filename */, m_regExp.cap(1) /* filename */,
m_regExp.cap(3).toInt() /* line number */, m_regExp.cap(2).toInt() /* line number */,
Constants::TASK_CATEGORY_COMPILE); Constants::TASK_CATEGORY_COMPILE);
if (m_regExp.cap(5) == QLatin1String("warning")) if (m_regExp.cap(5) == "warning")
task.type = TaskWindow::Warning; task.type = TaskWindow::Warning;
else if (m_regExp.cap(5) == QLatin1String("error")) else if (m_regExp.cap(5) == "error")
task.type = TaskWindow::Error;
else if (task.description.startsWith(QLatin1String("undefined reference to")))
task.type = TaskWindow::Error; task.type = TaskWindow::Error;
emit addTask(task); emit addTask(task);
return; return;
} else if (m_regExpLinker.indexIn(lne) > -1) {
bool ok;
int lineno = m_regExpLinker.cap(4).toInt(&ok);
if (!ok)
lineno = -1;
QString description = m_regExpLinker.cap(5);
emit addTask(TaskWindow::Task(TaskWindow::Error,
description,
m_regExpLinker.cap(1) /* filename */,
lineno,
Constants::TASK_CATEGORY_COMPILE));
return;
} else if (m_regExpIncluded.indexIn(lne) > -1) { } else if (m_regExpIncluded.indexIn(lne) > -1) {
emit addTask(TaskWindow::Task(TaskWindow::Unknown, emit addTask(TaskWindow::Task(TaskWindow::Unknown,
lne /* description */, lne /* description */,
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment