summaryrefslogtreecommitdiffstats
path: root/clang
diff options
context:
space:
mode:
authorPierre Gousseau <pierregousseau14@gmail.com>2016-07-13 11:58:28 +0000
committerPierre Gousseau <pierregousseau14@gmail.com>2016-07-13 11:58:28 +0000
commit6b2fcef271fe8379d8e60d714af4b0eddce8ded4 (patch)
tree14c47766e9da2f63862989e00c01093b6550d519 /clang
parent1ee89eb8d9cbee88595c6715c53bd74983722048 (diff)
downloadbcm5719-llvm-6b2fcef271fe8379d8e60d714af4b0eddce8ded4.tar.gz
bcm5719-llvm-6b2fcef271fe8379d8e60d714af4b0eddce8ded4.zip
[PCH] Fix timestamp check on windows hosts.
On Linux, if the timestamp of a header file, included in the pch, is modified, then including the pch without regenerating it causes a fatal error, which is reasonable. On Windows the check is ifdefed out, allowing the compilation to continue in a broken state. The root of the broken state is that, if timestamps dont match, the preprocessor will reparse a header without discarding the pch data. This leads to "#pragma once" header to be included twice. The reason behind the ifdefing of the check lacks documentation, and was done 6 years ago. This change tentatively removes the ifdefing. First part of patch proposed at: Differential Revision: http://reviews.llvm.org/D20867 llvm-svn: 275261
Diffstat (limited to 'clang')
-rw-r--r--clang/lib/Serialization/ASTReader.cpp9
1 files changed, 0 insertions, 9 deletions
diff --git a/clang/lib/Serialization/ASTReader.cpp b/clang/lib/Serialization/ASTReader.cpp
index 80fef7d39e3..820f339a75d 100644
--- a/clang/lib/Serialization/ASTReader.cpp
+++ b/clang/lib/Serialization/ASTReader.cpp
@@ -2010,17 +2010,8 @@ InputFile ASTReader::getInputFile(ModuleFile &F, unsigned ID, bool Complain) {
// For an overridden file, there is nothing to validate.
if (!Overridden && //
(StoredSize != File->getSize() ||
-#if defined(LLVM_ON_WIN32)
- false
-#else
- // In our regression testing, the Windows file system seems to
- // have inconsistent modification times that sometimes
- // erroneously trigger this error-handling path.
- //
- // FIXME: This probably also breaks HeaderFileInfo lookups on Windows.
(StoredTime && StoredTime != File->getModificationTime() &&
!DisableValidation)
-#endif
)) {
if (Complain) {
// Build a list of the PCH imports that got us here (in reverse).
OpenPOWER on IntegriCloud