Clang: Add lastModified to the precompiled header

It is important to know then the PCH generation started, so we can compare
the header file time stamps against it.

Change-Id: Id8ee91e886c153d9d4a37cc0438c682f2098f7fa
Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
This commit is contained in:
Marco Bubke
2018-02-15 14:29:20 +01:00
parent f67df4f9ab
commit 1f0562742e
13 changed files with 48 additions and 44 deletions

View File

@@ -42,8 +42,11 @@ void PchManagerClient::alive()
void PchManagerClient::precompiledHeadersUpdated(ClangBackEnd::PrecompiledHeadersUpdatedMessage &&message)
{
for (const ClangBackEnd::ProjectPartPch &projectPartPch : message.projectPartPchs())
precompiledHeaderUpdated(QString(projectPartPch.id()), QString(projectPartPch.path()));
for (const ClangBackEnd::ProjectPartPch &projectPartPch : message.projectPartPchs()) {
precompiledHeaderUpdated(QString(projectPartPch.projectPartId),
QString(projectPartPch.pchPath),
projectPartPch.lastModified);
}
}
void PchManagerClient::precompiledHeaderRemoved(const QString &projectPartId)
@@ -78,10 +81,12 @@ const std::vector<PchManagerNotifierInterface *> &PchManagerClient::notifiers()
return m_notifiers;
}
void PchManagerClient::precompiledHeaderUpdated(const QString &projectPartId, const QString &pchFilePath)
void PchManagerClient::precompiledHeaderUpdated(const QString &projectPartId,
const QString &pchFilePath,
long long lastModified)
{
for (auto notifier : m_notifiers)
notifier->precompiledHeaderUpdated(projectPartId, pchFilePath);
notifier->precompiledHeaderUpdated(projectPartId, pchFilePath, lastModified);
}
} // namespace ClangPchManager

View File

@@ -47,7 +47,9 @@ public:
unittest_public:
const std::vector<PchManagerNotifierInterface*> &notifiers() const;
void precompiledHeaderUpdated(const QString &projectPartId, const QString &pchFilePath);
void precompiledHeaderUpdated(const QString &projectPartId,
const QString &pchFilePath,
long long lastModified);
void attach(PchManagerNotifierInterface *notifier);
void detach(PchManagerNotifierInterface *notifier);

View File

@@ -40,7 +40,8 @@ public:
virtual ~PchManagerNotifierInterface();
virtual void precompiledHeaderUpdated(const QString &projectPartId,
const QString &pchFilePath) = 0;
const QString &pchFilePath,
long long lastModified) = 0;
virtual void precompiledHeaderRemoved(const QString &projectPartId) = 0;
PchManagerClient &m_pchManagerClient;