diff options
Diffstat (limited to 'include/clang/Frontend/FrontendOptions.h')
-rw-r--r-- | include/clang/Frontend/FrontendOptions.h | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/include/clang/Frontend/FrontendOptions.h b/include/clang/Frontend/FrontendOptions.h index c3aa226..c800a51 100644 --- a/include/clang/Frontend/FrontendOptions.h +++ b/include/clang/Frontend/FrontendOptions.h @@ -11,6 +11,7 @@ #define LLVM_CLANG_FRONTEND_FRONTENDOPTIONS_H #include "clang/Frontend/CommandLineSourceLoc.h" +#include "clang/Serialization/ModuleFileExtension.h" #include "clang/Sema/CodeCompleteOptions.h" #include "llvm/ADT/StringRef.h" #include <string> @@ -91,7 +92,7 @@ class FrontendInputFile { bool IsSystem; public: - FrontendInputFile() : Buffer(nullptr), Kind(IK_None) { } + FrontendInputFile() : Buffer(nullptr), Kind(IK_None), IsSystem(false) { } FrontendInputFile(StringRef File, InputKind Kind, bool IsSystem = false) : File(File.str()), Buffer(nullptr), Kind(Kind), IsSystem(IsSystem) { } FrontendInputFile(llvm::MemoryBuffer *buffer, InputKind Kind, @@ -147,6 +148,10 @@ public: ///< dumps in AST dumps. unsigned ASTDumpLookups : 1; ///< Whether we include lookup table ///< dumps in AST dumps. + unsigned BuildingImplicitModule : 1; ///< Whether we are performing an + ///< implicit module build. + unsigned ModulesEmbedAllFiles : 1; ///< Whether we should embed all used + ///< files into the PCM file. CodeCompleteOptions CodeCompleteOpts; @@ -234,6 +239,9 @@ public: /// The list of plugins to load. std::vector<std::string> Plugins; + /// The list of module file extensions. + std::vector<IntrusiveRefCntPtr<ModuleFileExtension>> ModuleFileExtensions; + /// \brief The list of module map files to load before processing the input. std::vector<std::string> ModuleMapFiles; @@ -241,6 +249,9 @@ public: /// processing the input. std::vector<std::string> ModuleFiles; + /// \brief The list of files to embed into the compiled module file. + std::vector<std::string> ModulesEmbedFiles; + /// \brief The list of AST files to merge. std::vector<std::string> ASTMergeFiles; @@ -251,7 +262,10 @@ public: /// \brief File name of the file that will provide record layouts /// (in the format produced by -fdump-record-layouts). std::string OverrideRecordLayoutsFile; - + + /// \brief Auxiliary triple for CUDA compilation. + std::string AuxTriple; + public: FrontendOptions() : DisableFree(false), RelocatablePCH(false), ShowHelp(false), @@ -260,6 +274,7 @@ public: FixToTemporaries(false), ARCMTMigrateEmitARCErrors(false), SkipFunctionBodies(false), UseGlobalModuleIndex(true), GenerateGlobalModuleIndex(true), ASTDumpDecls(false), ASTDumpLookups(false), + BuildingImplicitModule(false), ModulesEmbedAllFiles(false), ARCMTAction(ARCMT_None), ObjCMTAction(ObjCMT_None), ProgramAction(frontend::ParseSyntaxOnly) {} |