9 #ifndef LLVM_CLANG_FRONTEND_COMPILERINVOCATION_H 10 #define LLVM_CLANG_FRONTEND_COMPILERINVOCATION_H 23 #include "llvm/ADT/IntrusiveRefCntPtr.h" 24 #include "llvm/ADT/ArrayRef.h" 48 class DiagnosticsEngine;
49 class HeaderSearchOptions;
50 class PreprocessorOptions;
61 DiagnosticsEngine *Diags =
nullptr,
62 bool DefaultDiagColor =
true,
63 bool DefaultShowOpt =
true);
98 return *HeaderSearchOpts;
102 return HeaderSearchOpts;
106 return PreprocessorOpts;
112 return *PreprocessorOpts;
169 static std::string GetResourcesPath(
const char *Argv0,
void *MainAddr);
185 std::string getModuleHash()
const;
200 return DependencyOutputOpts;
204 return DependencyOutputOpts;
210 return FileSystemOpts;
217 return PreprocessorOutputOpts;
221 return PreprocessorOutputOpts;
237 #endif // LLVM_CLANG_FRONTEND_COMPILERINVOCATION_H HeaderSearchOptions & getHeaderSearchOpts()
bool ParseDiagnosticArgs(DiagnosticOptions &Opts, llvm::opt::ArgList &Args, DiagnosticsEngine *Diags=nullptr, bool DefaultDiagColor=true, bool DefaultShowOpt=true)
Fill out Opts based on the options given in Args.
IntrusiveRefCntPtr< llvm::vfs::FileSystem > createVFSFromCompilerInvocation(const CompilerInvocation &CI, DiagnosticsEngine &Diags, IntrusiveRefCntPtr< llvm::vfs::FileSystem > BaseFS)
const HeaderSearchOptions & getHeaderSearchOpts() const
TargetOptions & getTargetOpts()
Specialize PointerLikeTypeTraits to allow LazyGenerationalUpdatePtr to be placed into a PointerUnion...
DependencyOutputOptions & getDependencyOutputOpts()
std::shared_ptr< HeaderSearchOptions > HeaderSearchOpts
Options controlling the #include directive.
std::shared_ptr< LangOptions > LangOpts
Options controlling the language variant.
PreprocessorOptions - This class is used for passing the various options used in preprocessor initial...
const MigratorOptions & getMigratorOpts() const
Options for controlling the target.
const PreprocessorOutputOptions & getPreprocessorOutputOpts() const
const LangOptions * getLangOpts() const
Keeps track of the various options that can be enabled, which controls the dialect of C or C++ that i...
const PreprocessorOptions & getPreprocessorOpts() const
std::shared_ptr< PreprocessorOptions > PreprocessorOpts
Options controlling the preprocessor (aside from #include handling).
CodeGenOptions & getCodeGenOpts()
Forward-declares and imports various common LLVM datatypes that clang wants to use unqualified...
Concrete class used by the front-end to report problems and issues.
std::shared_ptr< PreprocessorOptions > getPreprocessorOptsPtr()
PreprocessorOutputOptions & getPreprocessorOutputOpts()
FrontendOptions & getFrontendOpts()
MigratorOptions & getMigratorOpts()
PreprocessorOutputOptions - Options for controlling the C preprocessor output (e.g., -E).
Defines the clang::LangOptions interface.
AnalyzerOptionsRef getAnalyzerOpts() const
Options for controlling the compiler diagnostics engine.
const FrontendOptions & getFrontendOpts() const
const CodeGenOptions & getCodeGenOpts() const
DiagnosticOptions & getDiagnosticOpts() const
DependencyOutputOptions - Options for controlling the compiler dependency file generation.
std::shared_ptr< TargetOptions > TargetOpts
Options controlling the target.
std::shared_ptr< HeaderSearchOptions > getHeaderSearchOptsPtr() const
const FileSystemOptions & getFileSystemOpts() const
Dataflow Directional Tag Classes.
PreprocessorOptions & getPreprocessorOpts()
Helper class for holding the data necessary to invoke the compiler.
FrontendOptions - Options for controlling the behavior of the frontend.
Defines the clang::FileSystemOptions interface.
CodeGenOptions - Track various options which control how the code is optimized and passed to the back...
IntrusiveRefCntPtr< DiagnosticOptions > DiagnosticOpts
Options controlling the diagnostic engine.
Stores options for the analyzer from the command line.
Keeps track of options that affect how file operations are performed.
X
Add a minimal nested name specifier fixit hint to allow lookup of a tag name from an outer enclosing ...
FileSystemOptions & getFileSystemOpts()
LangOptions * getLangOpts()
const TargetOptions & getTargetOpts() const
const DependencyOutputOptions & getDependencyOutputOpts() const