clang
9.0.0
|
FrontendOptions - Options for controlling the behavior of the frontend. More...
#include "clang/Frontend/FrontendOptions.h"
Public Types | |
enum | { ARCMT_None, ARCMT_Check, ARCMT_Modify, ARCMT_Migrate } |
enum | { ObjCMT_None = 0, ObjCMT_Literals = 0x1, ObjCMT_Subscripting = 0x2, ObjCMT_ReadonlyProperty = 0x4, ObjCMT_ReadwriteProperty = 0x8, ObjCMT_Property = (ObjCMT_ReadonlyProperty | ObjCMT_ReadwriteProperty), ObjCMT_Annotation = 0x10, ObjCMT_Instancetype = 0x20, ObjCMT_NsMacros = 0x40, ObjCMT_ProtocolConformance = 0x80, ObjCMT_AtomicProperty = 0x100, ObjCMT_ReturnsInnerPointerProperty = 0x200, ObjCMT_NsAtomicIOSOnlyProperty = 0x400, ObjCMT_DesignatedInitializer = 0x800, ObjCMT_PropertyDotSyntax = 0x1000, ObjCMT_MigrateDecls, ObjCMT_MigrateAll } |
Public Member Functions | |
FrontendOptions () | |
Static Public Member Functions | |
static InputKind | getInputKindForExtension (StringRef Extension) |
getInputKindForExtension - Return the appropriate input kind for a file extension. More... | |
Public Attributes | |
unsigned | DisableFree: 1 |
Disable memory freeing on exit. More... | |
unsigned | RelocatablePCH: 1 |
When generating PCH files, instruct the AST writer to create relocatable PCH files. More... | |
unsigned | ShowHelp: 1 |
Show the -help text. More... | |
unsigned | ShowStats: 1 |
Show frontend performance metrics and statistics. More... | |
unsigned | ShowTimers: 1 |
Show timers for individual actions. More... | |
unsigned | PrintSupportedCPUs: 1 |
print the supported cpus for the current target More... | |
unsigned | TimeTrace: 1 |
Output time trace profile. More... | |
unsigned | ShowVersion: 1 |
Show the -version text. More... | |
unsigned | FixWhatYouCan: 1 |
Apply fixes even if there are unfixable errors. More... | |
unsigned | FixOnlyWarnings: 1 |
Apply fixes only for warnings. More... | |
unsigned | FixAndRecompile: 1 |
Apply fixes and recompile. More... | |
unsigned | FixToTemporaries: 1 |
Apply fixes to temporary files. More... | |
unsigned | ARCMTMigrateEmitARCErrors: 1 |
Emit ARC errors even if the migrator can fix them. More... | |
unsigned | SkipFunctionBodies: 1 |
Skip over function bodies to speed up parsing in cases you do not need them (e.g. More... | |
unsigned | UseGlobalModuleIndex: 1 |
Whether we can use the global module index if available. More... | |
unsigned | GenerateGlobalModuleIndex: 1 |
Whether we can generate the global module index if needed. More... | |
unsigned | ASTDumpDecls: 1 |
Whether we include declaration dumps in AST dumps. More... | |
unsigned | ASTDumpAll: 1 |
Whether we deserialize all decls when forming AST dumps. More... | |
unsigned | ASTDumpLookups: 1 |
Whether we include lookup table dumps in AST dumps. More... | |
unsigned | BuildingImplicitModule: 1 |
Whether we are performing an implicit module build. More... | |
unsigned | ModulesEmbedAllFiles: 1 |
Whether we should embed all used files into the PCM file. More... | |
unsigned | IncludeTimestamps: 1 |
Whether timestamps should be written to the produced PCH file. More... | |
CodeCompleteOptions | CodeCompleteOpts |
ASTDumpOutputFormat | ASTDumpFormat = ADOF_Default |
Specifies the output format of the AST. More... | |
enum clang::FrontendOptions:: { ... } | ARCMTAction = ARCMT_None |
unsigned | ObjCMTAction = ObjCMT_None |
std::string | ObjCMTWhiteListPath |
std::string | MTMigrateDir |
std::string | ARCMTMigrateReportOut |
std::vector< FrontendInputFile > | Inputs |
The input files and their types. More... | |
std::string | OriginalModuleMap |
When the input is a module map, the original module map file from which that map was inferred, if any (for umbrella modules). More... | |
std::string | OutputFile |
The output file, if any. More... | |
std::string | FixItSuffix |
If given, the new suffix for fix-it rewritten files. More... | |
std::string | ASTDumpFilter |
If given, filter dumped AST Decl nodes by this substring. More... | |
ParsedSourceLocation | CodeCompletionAt |
If given, enable code completion at the provided location. More... | |
frontend::ActionKind | ProgramAction = frontend::ParseSyntaxOnly |
The frontend action to perform. More... | |
std::string | ActionName |
The name of the action to run when using a plugin action. More... | |
std::unordered_map< std::string, std::vector< std::string > > | PluginArgs |
Args to pass to the plugins. More... | |
std::vector< std::string > | AddPluginActions |
The list of plugin actions to run in addition to the normal action. More... | |
std::vector< std::string > | Plugins |
The list of plugins to load. More... | |
std::vector< std::shared_ptr< ModuleFileExtension > > | ModuleFileExtensions |
The list of module file extensions. More... | |
std::vector< std::string > | ModuleMapFiles |
The list of module map files to load before processing the input. More... | |
std::vector< std::string > | ModuleFiles |
The list of additional prebuilt module files to load before processing the input. More... | |
std::vector< std::string > | ModulesEmbedFiles |
The list of files to embed into the compiled module file. More... | |
std::vector< std::string > | ASTMergeFiles |
The list of AST files to merge. More... | |
std::vector< std::string > | LLVMArgs |
A list of arguments to forward to LLVM's option processing; this should only be used for debugging and experimental features. More... | |
std::string | OverrideRecordLayoutsFile |
File name of the file that will provide record layouts (in the format produced by -fdump-record-layouts). More... | |
std::string | AuxTriple |
Auxiliary triple for CUDA compilation. More... | |
std::string | StatsFile |
Filename to write statistics to. More... | |
FrontendOptions - Options for controlling the behavior of the frontend.
Definition at line 249 of file FrontendOptions.h.
anonymous enum |
Enumerator | |
---|---|
ARCMT_None | |
ARCMT_Check | |
ARCMT_Modify | |
ARCMT_Migrate |
Definition at line 324 of file FrontendOptions.h.
anonymous enum |
Definition at line 331 of file FrontendOptions.h.
|
inline |
Definition at line 455 of file FrontendOptions.h.
|
static |
getInputKindForExtension - Return the appropriate input kind for a file extension.
For example, "c" would return InputKind::C.
Definition at line 14 of file FrontendOptions.cpp.
References clang::InputKind::Asm, clang::InputKind::C, clang::InputKind::CUDA, clang::InputKind::CXX, clang::InputKind::LLVM_IR, clang::InputKind::ObjC, clang::InputKind::ObjCXX, clang::InputKind::OpenCL, clang::InputKind::Precompiled, and clang::InputKind::Unknown.
Referenced by ParseFrontendArgs(), and clang::CodeGen::CGDebugInfo::remapDIPath().
std::string clang::FrontendOptions::ActionName |
The name of the action to run when using a plugin action.
Definition at line 413 of file FrontendOptions.h.
Referenced by clang::CreateFrontendBaseAction(), clang::ExecuteCompilerInvocation(), and ParseFrontendArgs().
std::vector<std::string> clang::FrontendOptions::AddPluginActions |
The list of plugin actions to run in addition to the normal action.
Definition at line 419 of file FrontendOptions.h.
Referenced by clang::FrontendAction::getCurrentModule(), and ParseFrontendArgs().
enum { ... } clang::FrontendOptions::ARCMTAction |
Referenced by clang::CreateFrontendAction(), and ParseFrontendArgs().
unsigned clang::FrontendOptions::ARCMTMigrateEmitARCErrors |
Emit ARC errors even if the migrator can fix them.
Definition at line 289 of file FrontendOptions.h.
Referenced by clang::CreateFrontendAction(), and ParseFrontendArgs().
std::string clang::FrontendOptions::ARCMTMigrateReportOut |
Definition at line 388 of file FrontendOptions.h.
Referenced by clang::CreateFrontendAction(), and ParseFrontendArgs().
unsigned clang::FrontendOptions::ASTDumpAll |
Whether we deserialize all decls when forming AST dumps.
Definition at line 305 of file FrontendOptions.h.
Referenced by clang::ASTDumpAction::CreateASTConsumer(), and ParseFrontendArgs().
unsigned clang::FrontendOptions::ASTDumpDecls |
Whether we include declaration dumps in AST dumps.
Definition at line 302 of file FrontendOptions.h.
Referenced by clang::ASTDumpAction::CreateASTConsumer(), and ParseFrontendArgs().
std::string clang::FrontendOptions::ASTDumpFilter |
If given, filter dumped AST Decl nodes by this substring.
Definition at line 404 of file FrontendOptions.h.
Referenced by clang::ASTPrintAction::CreateASTConsumer(), clang::ASTDumpAction::CreateASTConsumer(), and ParseFrontendArgs().
ASTDumpOutputFormat clang::FrontendOptions::ASTDumpFormat = ADOF_Default |
Specifies the output format of the AST.
Definition at line 322 of file FrontendOptions.h.
Referenced by clang::ASTDumpAction::CreateASTConsumer(), and ParseFrontendArgs().
unsigned clang::FrontendOptions::ASTDumpLookups |
Whether we include lookup table dumps in AST dumps.
Definition at line 308 of file FrontendOptions.h.
Referenced by clang::ASTDumpAction::CreateASTConsumer(), and ParseFrontendArgs().
std::vector<std::string> clang::FrontendOptions::ASTMergeFiles |
The list of AST files to merge.
Definition at line 438 of file FrontendOptions.h.
Referenced by clang::CreateFrontendAction(), and ParseFrontendArgs().
std::string clang::FrontendOptions::AuxTriple |
Auxiliary triple for CUDA compilation.
Definition at line 449 of file FrontendOptions.h.
Referenced by clang::CompilerInvocation::CreateFromArgs(), and ParseFrontendArgs().
unsigned clang::FrontendOptions::BuildingImplicitModule |
Whether we are performing an implicit module build.
Definition at line 311 of file FrontendOptions.h.
Referenced by compileModuleImpl(), and clang::GenerateModuleAction::CreateASTConsumer().
CodeCompleteOptions clang::FrontendOptions::CodeCompleteOpts |
Definition at line 319 of file FrontendOptions.h.
Referenced by clang::ASTUnit::CodeComplete(), and ParseFrontendArgs().
ParsedSourceLocation clang::FrontendOptions::CodeCompletionAt |
If given, enable code completion at the provided location.
Definition at line 407 of file FrontendOptions.h.
Referenced by clang::ASTUnit::CodeComplete(), clang::CompilerInstance::createCodeCompletionConsumer(), clang::ASTFrontendAction::ExecuteAction(), and ParseFrontendArgs().
unsigned clang::FrontendOptions::DisableFree |
Disable memory freeing on exit.
Definition at line 252 of file FrontendOptions.h.
Referenced by compileModuleImpl(), clang::FrontendAction::EndSourceFile(), clang::ExecuteCompilerInvocation(), and ParseFrontendArgs().
unsigned clang::FrontendOptions::FixAndRecompile |
Apply fixes and recompile.
Definition at line 283 of file FrontendOptions.h.
Referenced by clang::CreateFrontendAction(), and ParseFrontendArgs().
std::string clang::FrontendOptions::FixItSuffix |
If given, the new suffix for fix-it rewritten files.
Definition at line 401 of file FrontendOptions.h.
Referenced by clang::FixItAction::BeginSourceFileAction(), and ParseFrontendArgs().
unsigned clang::FrontendOptions::FixOnlyWarnings |
Apply fixes only for warnings.
Definition at line 280 of file FrontendOptions.h.
Referenced by clang::FixItRecompile::BeginInvocation(), and ParseFrontendArgs().
unsigned clang::FrontendOptions::FixToTemporaries |
Apply fixes to temporary files.
Definition at line 286 of file FrontendOptions.h.
Referenced by clang::FixItRecompile::BeginInvocation(), and ParseFrontendArgs().
unsigned clang::FrontendOptions::FixWhatYouCan |
Apply fixes even if there are unfixable errors.
Definition at line 277 of file FrontendOptions.h.
Referenced by clang::FixItRecompile::BeginInvocation(), clang::FixItAction::BeginSourceFileAction(), and ParseFrontendArgs().
unsigned clang::FrontendOptions::GenerateGlobalModuleIndex |
Whether we can generate the global module index if needed.
Definition at line 299 of file FrontendOptions.h.
Referenced by compileModuleImpl(), ParseFrontendArgs(), and clang::CompilerInstance::shouldBuildGlobalModuleIndex().
unsigned clang::FrontendOptions::IncludeTimestamps |
Whether timestamps should be written to the produced PCH file.
Definition at line 317 of file FrontendOptions.h.
Referenced by ParseFrontendArgs().
std::vector<FrontendInputFile> clang::FrontendOptions::Inputs |
The input files and their types.
Definition at line 391 of file FrontendOptions.h.
Referenced by applyTransforms(), clang::FixItRecompile::BeginInvocation(), compileModuleImpl(), clang::GenerateModuleAction::CreateASTConsumer(), clang::createChainedIncludesSource(), makeStandaloneDiagnostic(), clang::PrecompiledPreamble::OverridePreamble(), and ParseFrontendArgs().
std::vector<std::string> clang::FrontendOptions::LLVMArgs |
A list of arguments to forward to LLVM's option processing; this should only be used for debugging and experimental features.
Definition at line 442 of file FrontendOptions.h.
Referenced by clang::ExecuteCompilerInvocation(), and ParseFrontendArgs().
std::vector<std::shared_ptr<ModuleFileExtension> > clang::FrontendOptions::ModuleFileExtensions |
The list of module file extensions.
Definition at line 425 of file FrontendOptions.h.
Referenced by clang::GenerateModuleAction::CreateASTConsumer(), clang::VerifyPCHAction::ExecuteAction(), clang::CompilerInvocation::getModuleHash(), and ParseFrontendArgs().
std::vector<std::string> clang::FrontendOptions::ModuleFiles |
The list of additional prebuilt module files to load before processing the input.
Definition at line 432 of file FrontendOptions.h.
Referenced by clang::FrontendAction::BeginSourceFile(), and ParseFrontendArgs().
std::vector<std::string> clang::FrontendOptions::ModuleMapFiles |
The list of module map files to load before processing the input.
Definition at line 428 of file FrontendOptions.h.
Referenced by clang::FrontendAction::BeginSourceFile(), and ParseFrontendArgs().
unsigned clang::FrontendOptions::ModulesEmbedAllFiles |
Whether we should embed all used files into the PCM file.
Definition at line 314 of file FrontendOptions.h.
Referenced by clang::FrontendAction::BeginSourceFile(), and ParseFrontendArgs().
std::vector<std::string> clang::FrontendOptions::ModulesEmbedFiles |
The list of files to embed into the compiled module file.
Definition at line 435 of file FrontendOptions.h.
Referenced by clang::FrontendAction::BeginSourceFile(), and ParseFrontendArgs().
std::string clang::FrontendOptions::MTMigrateDir |
Definition at line 387 of file FrontendOptions.h.
Referenced by clang::CreateFrontendAction(), and ParseFrontendArgs().
unsigned clang::FrontendOptions::ObjCMTAction = ObjCMT_None |
Definition at line 384 of file FrontendOptions.h.
Referenced by clang::arcmt::MigrateSourceAction::CreateASTConsumer(), clang::CreateFrontendAction(), and ParseFrontendArgs().
std::string clang::FrontendOptions::ObjCMTWhiteListPath |
Definition at line 385 of file FrontendOptions.h.
Referenced by clang::arcmt::MigrateSourceAction::CreateASTConsumer(), and ParseFrontendArgs().
std::string clang::FrontendOptions::OriginalModuleMap |
When the input is a module map, the original module map file from which that map was inferred, if any (for umbrella modules).
Definition at line 395 of file FrontendOptions.h.
Referenced by compileModuleImpl(), clang::GenerateModuleAction::CreateASTConsumer(), and prepareToBuildModule().
std::string clang::FrontendOptions::OutputFile |
The output file, if any.
Definition at line 398 of file FrontendOptions.h.
Referenced by compileModuleImpl(), clang::ento::CreateAnalysisConsumer(), clang::arcmt::MigrateSourceAction::CreateASTConsumer(), clang::GenerateModuleAction::CreateASTConsumer(), clang::GeneratePCHAction::CreateOutputFile(), clang::DumpModuleInfoAction::ExecuteAction(), and ParseFrontendArgs().
std::string clang::FrontendOptions::OverrideRecordLayoutsFile |
File name of the file that will provide record layouts (in the format produced by -fdump-record-layouts).
Definition at line 446 of file FrontendOptions.h.
Referenced by clang::FrontendAction::BeginSourceFile(), and ParseFrontendArgs().
std::unordered_map<std::string,std::vector<std::string> > clang::FrontendOptions::PluginArgs |
Args to pass to the plugins.
Definition at line 416 of file FrontendOptions.h.
Referenced by clang::CreateFrontendBaseAction(), clang::FrontendAction::getCurrentModule(), and ParseFrontendArgs().
std::vector<std::string> clang::FrontendOptions::Plugins |
The list of plugins to load.
Definition at line 422 of file FrontendOptions.h.
Referenced by clang::ExecuteCompilerInvocation(), and ParseFrontendArgs().
unsigned clang::FrontendOptions::PrintSupportedCPUs |
print the supported cpus for the current target
Definition at line 268 of file FrontendOptions.h.
Referenced by ParseFrontendArgs().
frontend::ActionKind clang::FrontendOptions::ProgramAction = frontend::ParseSyntaxOnly |
The frontend action to perform.
Definition at line 410 of file FrontendOptions.h.
Referenced by clang::CompilerInvocation::CreateFromArgs(), clang::CreateFrontendAction(), clang::CreateFrontendBaseAction(), clang::ExecuteCompilerInvocation(), and ParseFrontendArgs().
unsigned clang::FrontendOptions::RelocatablePCH |
When generating PCH files, instruct the AST writer to create relocatable PCH files.
Definition at line 256 of file FrontendOptions.h.
Referenced by clang::GeneratePCHAction::ComputeASTConsumerArguments(), clang::GeneratePCHAction::CreateASTConsumer(), and ParseFrontendArgs().
unsigned clang::FrontendOptions::ShowHelp |
Show the -help text.
Definition at line 259 of file FrontendOptions.h.
Referenced by clang::ExecuteCompilerInvocation(), and ParseFrontendArgs().
unsigned clang::FrontendOptions::ShowStats |
Show frontend performance metrics and statistics.
Definition at line 262 of file FrontendOptions.h.
Referenced by clang::FrontendAction::EndSourceFile(), clang::ASTFrontendAction::ExecuteAction(), and ParseFrontendArgs().
unsigned clang::FrontendOptions::ShowTimers |
Show timers for individual actions.
Definition at line 265 of file FrontendOptions.h.
Referenced by clang::CodeGenAction::CreateASTConsumer(), and ParseFrontendArgs().
unsigned clang::FrontendOptions::ShowVersion |
Show the -version text.
Definition at line 274 of file FrontendOptions.h.
Referenced by clang::ExecuteCompilerInvocation(), and ParseFrontendArgs().
unsigned clang::FrontendOptions::SkipFunctionBodies |
Skip over function bodies to speed up parsing in cases you do not need them (e.g.
with code completion).
Definition at line 293 of file FrontendOptions.h.
Referenced by clang::ASTFrontendAction::ExecuteAction(), and makeStandaloneDiagnostic().
std::string clang::FrontendOptions::StatsFile |
Filename to write statistics to.
Definition at line 452 of file FrontendOptions.h.
Referenced by ParseFrontendArgs().
unsigned clang::FrontendOptions::TimeTrace |
Output time trace profile.
Definition at line 271 of file FrontendOptions.h.
Referenced by ParseFrontendArgs().
unsigned clang::FrontendOptions::UseGlobalModuleIndex |
Whether we can use the global module index if available.
Definition at line 296 of file FrontendOptions.h.
Referenced by clang::CompilerInstance::createModuleManager(), and ParseFrontendArgs().