summaryrefslogtreecommitdiffstats
path: root/clang/lib/Frontend/PCHReader.cpp
diff options
context:
space:
mode:
authorDouglas Gregor <dgregor@apple.com>2009-04-27 22:23:34 +0000
committerDouglas Gregor <dgregor@apple.com>2009-04-27 22:23:34 +0000
commit7b71e63120e596c03201e3499caff3bfe1f92072 (patch)
tree109198982043628a6927f77ee95a653c82142938 /clang/lib/Frontend/PCHReader.cpp
parent1d72888cfc78844efacc33f8f85ca92eaaa2ffc0 (diff)
downloadbcm5719-llvm-7b71e63120e596c03201e3499caff3bfe1f92072.tar.gz
bcm5719-llvm-7b71e63120e596c03201e3499caff3bfe1f92072.zip
Add a header containing the Clang version; make the driver use this
Clang version value rather than hard-coding "1.0". Add PCH and Clang version information into the PCH file. Reject PCH files with the wrong version information. llvm-svn: 70264
Diffstat (limited to 'clang/lib/Frontend/PCHReader.cpp')
-rw-r--r--clang/lib/Frontend/PCHReader.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/clang/lib/Frontend/PCHReader.cpp b/clang/lib/Frontend/PCHReader.cpp
index 24e4e2b02fb..c1cb87bc160 100644
--- a/clang/lib/Frontend/PCHReader.cpp
+++ b/clang/lib/Frontend/PCHReader.cpp
@@ -928,7 +928,13 @@ PCHReader::ReadPCHBlock() {
return IgnorePCH;
break;
- case pch::TARGET_TRIPLE: {
+ case pch::METADATA: {
+ if (Record[0] != pch::VERSION_MAJOR) {
+ Diag(Record[0] < pch::VERSION_MAJOR? diag::warn_pch_version_too_old
+ : diag::warn_pch_version_too_new);
+ return IgnorePCH;
+ }
+
std::string TargetTriple(BlobStart, BlobLen);
if (TargetTriple != PP.getTargetInfo().getTargetTriple()) {
Diag(diag::warn_pch_target_triple)
OpenPOWER on IntegriCloud