diff options
author | Douglas Gregor <dgregor@apple.com> | 2010-03-17 15:30:15 +0000 |
---|---|---|
committer | Douglas Gregor <dgregor@apple.com> | 2010-03-17 15:30:15 +0000 |
commit | e39b600582f9183e3301c3e6cb48b76ac5087119 (patch) | |
tree | d54416dc55d18283366cfd3b68340a1938760819 | |
parent | 69247139f5ce3edf46c48344129792b3a05d090a (diff) |
Use a simple diagnostic (file modified) when we detect that a file has
changed, rather than trying to point out how it changed. The "why"
doesn't matter.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98725 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | include/clang/Basic/DiagnosticCommonKinds.td | 3 | ||||
-rw-r--r-- | lib/Basic/SourceManager.cpp | 14 | ||||
-rw-r--r-- | test/PCH/changed-files.c | 6 |
3 files changed, 7 insertions, 16 deletions
diff --git a/include/clang/Basic/DiagnosticCommonKinds.td b/include/clang/Basic/DiagnosticCommonKinds.td index 849e6437fb..8e791c3422 100644 --- a/include/clang/Basic/DiagnosticCommonKinds.td +++ b/include/clang/Basic/DiagnosticCommonKinds.td @@ -65,9 +65,6 @@ def err_target_invalid_feature : Error<"invalid target feature '%0'">; // Source manager def err_cannot_open_file : Error<"cannot open file '%0': %1">, DefaultFatal; -def err_file_size_changed : Error< - "size of file '%0' changed since it was first processed (from %1 to %2)">, - DefaultFatal; def err_file_modified : Error< "file '%0' modified since it was first processed">, DefaultFatal; diff --git a/lib/Basic/SourceManager.cpp b/lib/Basic/SourceManager.cpp index be7c256b5b..440e688cd7 100644 --- a/lib/Basic/SourceManager.cpp +++ b/lib/Basic/SourceManager.cpp @@ -92,18 +92,12 @@ const llvm::MemoryBuffer *ContentCache::getBuffer(Diagnostic &Diag, Diag.Report(diag::err_cannot_open_file) << Entry->getName() << ErrorStr; Buffer.setInt(true); - } else { + } else if (FileInfo.st_size != Entry->getSize() || + FileInfo.st_mtime != Entry->getModificationTime()) { // Check that the file's size and modification time is the same as // in the file entry (which may have come from a stat cache). - if (FileInfo.st_size != Entry->getSize()) { - Diag.Report(diag::err_file_size_changed) - << Entry->getName() << (unsigned)Entry->getSize() - << (unsigned)FileInfo.st_size; - Buffer.setInt(true); - } else if (FileInfo.st_mtime != Entry->getModificationTime()) { - Diag.Report(diag::err_file_modified) << Entry->getName(); - Buffer.setInt(true); - } + Diag.Report(diag::err_file_modified) << Entry->getName(); + Buffer.setInt(true); } } diff --git a/test/PCH/changed-files.c b/test/PCH/changed-files.c index ec4f5b4b1d..5bcb977d12 100644 --- a/test/PCH/changed-files.c +++ b/test/PCH/changed-files.c @@ -6,17 +6,17 @@ const char *s2 = m0; // RUN: %clang_cc1 -emit-pch -o %t.h.pch %t.h // RUN: echo '' > %t.h // RUN: not %clang_cc1 -include-pch %t.h.pch %s 2> %t.stderr -// RUN: grep "size of file" %t.stderr +// RUN: grep "modified" %t.stderr // RUN: echo '#define m0 000' > %t.h // RUN: %clang_cc1 -emit-pch -o %t.h.pch %t.h // RUN: echo '' > %t.h // RUN: not %clang_cc1 -include-pch %t.h.pch %s 2> %t.stderr -// RUN: grep "size of file" %t.stderr +// RUN: grep "modified" %t.stderr // RUN: echo '#define m0 000' > %t.h // RUN: echo "#define m1 'abcd'" >> %t.h // RUN: %clang_cc1 -emit-pch -o %t.h.pch %t.h // RUN: echo '' > %t.h // RUN: not %clang_cc1 -include-pch %t.h.pch %s 2> %t.stderr -// RUN: grep "size of file" %t.stderr +// RUN: grep "modified" %t.stderr |