diff options
Diffstat (limited to 'include/clang/Basic/LangOptions.h')
| -rw-r--r-- | include/clang/Basic/LangOptions.h | 20 | 
1 files changed, 18 insertions, 2 deletions
| diff --git a/include/clang/Basic/LangOptions.h b/include/clang/Basic/LangOptions.h index 5ac96c519855..84836eb4e5c3 100644 --- a/include/clang/Basic/LangOptions.h +++ b/include/clang/Basic/LangOptions.h @@ -21,6 +21,7 @@  #include "clang/Basic/Sanitizers.h"  #include "clang/Basic/Visibility.h"  #include <string> +#include <vector>  namespace clang { @@ -66,13 +67,20 @@ public:    enum AddrSpaceMapMangling { ASMM_Target, ASMM_On, ASMM_Off }; +  enum MSVCMajorVersion { +    MSVC2010 = 16, +    MSVC2012 = 17, +    MSVC2013 = 18, +    MSVC2015 = 19 +  }; +  public:    /// \brief Set of enabled sanitizers.    SanitizerSet Sanitize; -  /// \brief Path to blacklist file specifying which objects +  /// \brief Paths to blacklist files specifying which objects    /// (files, functions, variables) should not be instrumented. -  std::string SanitizerBlacklistFile; +  std::vector<std::string> SanitizerBlacklistFiles;    clang::ObjCRuntime ObjCRuntime; @@ -92,6 +100,10 @@ public:    /// treat this as the CurrentModule.    std::string ImplementationOfModule; +  /// \brief The names of any features to enable in module 'requires' decls +  /// in addition to the hard-coded list in Module.cpp and the target features. +  std::vector<std::string> ModuleFeatures; +    /// \brief Options for parsing comments.    CommentOptions CommentOpts; @@ -113,6 +125,10 @@ public:             !ObjCSubscriptingLegacyRuntime;    } +  bool isCompatibleWithMSVC(MSVCMajorVersion MajorVersion) const { +    return MSCompatibilityVersion >= MajorVersion * 10000000U; +  } +    /// \brief Reset all of the options that are not considered when building a    /// module.    void resetNonModularOptions(); | 
