diff options
| author | Ben Langmuir <blangmuir@apple.com> | 2014-04-08 15:36:28 +0000 |
|---|---|---|
| committer | Ben Langmuir <blangmuir@apple.com> | 2014-04-08 15:36:28 +0000 |
| commit | 1e25822f4d8fb8300e9292ef3d670e9d9803c83a (patch) | |
| tree | 469211c236f1788cf41abe08a9edf85b9067e509 | |
| parent | 35289340de1f8ad3cb845bcbbd7e2e74526cfcd3 (diff) | |
| download | bcm5719-llvm-1e25822f4d8fb8300e9292ef3d670e9d9803c83a.tar.gz bcm5719-llvm-1e25822f4d8fb8300e9292ef3d670e9d9803c83a.zip | |
Have validate-system-headers override validate-once-per-build-session
llvm-svn: 205773
| -rw-r--r-- | clang/lib/Serialization/ASTReader.cpp | 2 | ||||
| -rw-r--r-- | clang/test/Modules/validate-system-headers.m | 18 |
2 files changed, 19 insertions, 1 deletions
diff --git a/clang/lib/Serialization/ASTReader.cpp b/clang/lib/Serialization/ASTReader.cpp index ff0b1dd6294..67c917bba49 100644 --- a/clang/lib/Serialization/ASTReader.cpp +++ b/clang/lib/Serialization/ASTReader.cpp @@ -2117,7 +2117,7 @@ ASTReader::ReadControlBlock(ModuleFile &F, unsigned NumUserInputs = Record[1]; if (!DisableValidation && - (!HSOpts.ModulesValidateOncePerBuildSession || + (ValidateSystemInputs || !HSOpts.ModulesValidateOncePerBuildSession || F.InputFilesValidationTimestamp <= HSOpts.BuildSessionTimestamp)) { bool Complain = (ClientLoadCapabilities & ARR_OutOfDate) == 0; diff --git a/clang/test/Modules/validate-system-headers.m b/clang/test/Modules/validate-system-headers.m index 9fb2bd2a637..48ea64c5a93 100644 --- a/clang/test/Modules/validate-system-headers.m +++ b/clang/test/Modules/validate-system-headers.m @@ -20,6 +20,24 @@ // RUN: %clang_cc1 -triple x86_64-apple-darwin10 -isysroot %t/Inputs -fmodules -fmodules-validate-system-headers -fmodules-cache-path=%t/ModuleCache -fdisable-module-hash -x objective-c-header -fsyntax-only %s // RUN: not diff %t/ModuleCache/Foo.pcm %t/Foo.pcm.saved + +//// +// This should override -fmodules-validate-once-per-build-session +// RUN: cp %t/ModuleCache/Foo.pcm %t/Foo.pcm.saved +// RUN: %clang_cc1 -triple x86_64-apple-darwin10 -isysroot %t/Inputs -fmodules -fmodules-cache-path=%t/ModuleCache -fdisable-module-hash -x objective-c-header -fsyntax-only %s -fbuild-session-timestamp=1390000000 -fmodules-validate-once-per-build-session +// RUN: diff %t/ModuleCache/Foo.pcm %t/Foo.pcm.saved + +// Modify the system header... +// RUN: echo ' ' >> %t/Inputs/usr/include/foo.h + +// Don't recompile due to -fmodules-validate-once-per-build-session +// RUN: %clang_cc1 -triple x86_64-apple-darwin10 -isysroot %t/Inputs -fmodules -fmodules-cache-path=%t/ModuleCache -fdisable-module-hash -x objective-c-header -fsyntax-only %s -fbuild-session-timestamp=1390000000 -fmodules-validate-once-per-build-session +// RUN: diff %t/ModuleCache/Foo.pcm %t/Foo.pcm.saved + +// Now add -fmodules-validate-system-headers and rebuild +// RUN: %clang_cc1 -triple x86_64-apple-darwin10 -isysroot %t/Inputs -fmodules -fmodules-validate-system-headers -fmodules-cache-path=%t/ModuleCache -fdisable-module-hash -x objective-c-header -fsyntax-only %s -fbuild-session-timestamp=1390000000 -fmodules-validate-once-per-build-session +// RUN: not diff %t/ModuleCache/Foo.pcm %t/Foo.pcm.saved + // REQUIRES: shell @import Foo; |

