LdParser: Do not interpret .data as a source filename

Change-Id: Ide088490db3c48f5036cc2969d4841e08d9a15cd
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
This commit is contained in:
Orgad Shaneh
2013-07-19 10:17:14 +03:00
committed by Orgad Shaneh
parent f262593596
commit 531cba5812
2 changed files with 27 additions and 3 deletions

View File

@@ -97,9 +97,12 @@ void LdParser::stdError(const QString &line)
if (!ok)
lineno = -1;
Utils::FileName filename = Utils::FileName::fromUserInput(m_regExpLinker.cap(1));
if (!m_regExpLinker.cap(4).isEmpty()
&& !m_regExpLinker.cap(4).startsWith(QLatin1String("(.text")))
filename = Utils::FileName::fromUserInput(m_regExpLinker.cap(4));
const QString sourceFileName = m_regExpLinker.cap(4);
if (!sourceFileName.isEmpty()
&& !sourceFileName.startsWith(QLatin1String("(.text"))
&& !sourceFileName.startsWith(QLatin1String("(.data"))) {
filename = Utils::FileName::fromUserInput(sourceFileName);
}
QString description = m_regExpLinker.cap(8).trimmed();
Task task(Task::Error, description, filename, lineno,
Core::Id(Constants::TASK_CATEGORY_COMPILE));