diff options
Diffstat (limited to 'contrib/llvm/tools/clang/lib/Basic/LangOptions.cpp')
-rw-r--r-- | contrib/llvm/tools/clang/lib/Basic/LangOptions.cpp | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/contrib/llvm/tools/clang/lib/Basic/LangOptions.cpp b/contrib/llvm/tools/clang/lib/Basic/LangOptions.cpp index 991992a..f8714b2 100644 --- a/contrib/llvm/tools/clang/lib/Basic/LangOptions.cpp +++ b/contrib/llvm/tools/clang/lib/Basic/LangOptions.cpp @@ -14,10 +14,14 @@ using namespace clang; +const SanitizerOptions SanitizerOptions::Disabled = {}; + LangOptions::LangOptions() { #define LANGOPT(Name, Bits, Default, Description) Name = Default; #define ENUM_LANGOPT(Name, Type, Bits, Default, Description) set##Name(Default); #include "clang/Basic/LangOptions.def" + + Sanitize = SanitizerOptions::Disabled; } void LangOptions::resetNonModularOptions() { @@ -26,7 +30,11 @@ void LangOptions::resetNonModularOptions() { #define BENIGN_ENUM_LANGOPT(Name, Type, Bits, Default, Description) \ Name = Default; #include "clang/Basic/LangOptions.def" - + + // FIXME: This should not be reset; modules can be different with different + // sanitizer options (this affects __has_feature(address_sanitizer) etc). + Sanitize = SanitizerOptions::Disabled; + CurrentModule.clear(); } |