|
clang 23.0.0git
|
Same as CompilerInvocation, but with copy-on-write optimization.
More...
#include "clang/Frontend/CompilerInvocation.h"
Classes | |
| struct | VisitConstResult |
| The result of const visitation. More... | |
| struct | VisitMutResult |
| The result of mutable visitation. More... | |
Additional Inherited Members | |
| using | StringAllocator = llvm::function_ref<const char *(const Twine &)> |
| Command line generation. | |
| using | ArgumentConsumer = llvm::function_ref<void(const Twine &)> |
| Protected Member Functions inherited from clang::CompilerInvocationBase | |
| CompilerInvocationBase () | |
| CompilerInvocationBase (EmptyConstructor) | |
| CompilerInvocationBase (const CompilerInvocationBase &X)=delete | |
| CompilerInvocationBase (CompilerInvocationBase &&X)=default | |
| CompilerInvocationBase & | operator= (const CompilerInvocationBase &X)=delete |
| CompilerInvocationBase & | deep_copy_assign (const CompilerInvocationBase &X) |
| CompilerInvocationBase & | shallow_copy_assign (const CompilerInvocationBase &X) |
| CompilerInvocationBase & | operator= (CompilerInvocationBase &&X)=default |
| ~CompilerInvocationBase ()=default | |
| Protected Attributes inherited from clang::CompilerInvocationBase | |
| std::shared_ptr< LangOptions > | LangOpts |
| Options controlling the language variant. | |
| std::shared_ptr< TargetOptions > | TargetOpts |
| Options controlling the target. | |
| std::shared_ptr< DiagnosticOptions > | DiagnosticOpts |
| Options controlling the diagnostic engine. | |
| std::shared_ptr< HeaderSearchOptions > | HSOpts |
| Options controlling the #include directive. | |
| std::shared_ptr< PreprocessorOptions > | PPOpts |
| Options controlling the preprocessor (aside from #include handling). | |
| std::shared_ptr< AnalyzerOptions > | AnalyzerOpts |
| Options controlling the static analyzer. | |
| std::shared_ptr< MigratorOptions > | MigratorOpts |
| std::shared_ptr< APINotesOptions > | APINotesOpts |
| Options controlling API notes. | |
| std::shared_ptr< CodeGenOptions > | CodeGenOpts |
| Options controlling IRgen and the backend. | |
| std::shared_ptr< FileSystemOptions > | FSOpts |
| Options controlling file system operations. | |
| std::shared_ptr< FrontendOptions > | FrontendOpts |
| Options controlling the frontend itself. | |
| std::shared_ptr< DependencyOutputOptions > | DependencyOutputOpts |
| Options controlling dependency output. | |
| std::shared_ptr< PreprocessorOutputOptions > | PreprocessorOutputOpts |
| Options controlling preprocessed output. | |
| std::shared_ptr< ssaf::SSAFOptions > | SSAFOpts |
| Options controlling the Scalable Static Analysis Framework (SSAF). | |
Same as CompilerInvocation, but with copy-on-write optimization.
Definition at line 375 of file CompilerInvocation.h.
|
default |
Referenced by CowCompilerInvocation(), CowCompilerInvocation(), operator=(), and visitPaths().
|
inline |
Definition at line 378 of file CompilerInvocation.h.
References clang::CompilerInvocationBase::CompilerInvocationBase(), CowCompilerInvocation(), clang::CompilerInvocationBase::shallow_copy_assign(), and X.
|
default |
References CowCompilerInvocation().
|
default |
|
inline |
Definition at line 389 of file CompilerInvocation.h.
References clang::CompilerInvocationBase::CompilerInvocationBase(), clang::CompilerInvocationBase::deep_copy_assign(), and X.
|
inline |
Definition at line 394 of file CompilerInvocation.h.
References clang::CompilerInvocationBase::CompilerInvocationBase(), and X.
|
inline |
Construct a CowCompilerInvocation that aliases the option storage of X without deep-copying.
Subsequent mutations through getMut*Opts() will copy-on-write per group as usual, leaving X unaffected. The caller must guarantee that X is not mutated for the lifetime of the constructed invocation.
Definition at line 402 of file CompilerInvocation.h.
References clang::CompilerInvocationBase::CompilerInvocationBase(), clang::CompilerInvocationBase::shallow_copy_assign(), and X.
| AnalyzerOptions & CowCompilerInvocation::getMutAnalyzerOpts | ( | ) |
Definition at line 220 of file CompilerInvocation.cpp.
References clang::CompilerInvocationBase::AnalyzerOpts, and ensureOwned().
| APINotesOptions & CowCompilerInvocation::getMutAPINotesOpts | ( | ) |
Definition at line 228 of file CompilerInvocation.cpp.
References clang::CompilerInvocationBase::APINotesOpts, and ensureOwned().
| CodeGenOptions & CowCompilerInvocation::getMutCodeGenOpts | ( | ) |
Definition at line 232 of file CompilerInvocation.cpp.
References clang::CompilerInvocationBase::CodeGenOpts, and ensureOwned().
Referenced by optimizeCWD().
| DependencyOutputOptions & CowCompilerInvocation::getMutDependencyOutputOpts | ( | ) |
Definition at line 248 of file CompilerInvocation.cpp.
References clang::CompilerInvocationBase::DependencyOutputOpts, and ensureOwned().
| DiagnosticOptions & CowCompilerInvocation::getMutDiagnosticOpts | ( | ) |
Definition at line 208 of file CompilerInvocation.cpp.
References clang::CompilerInvocationBase::DiagnosticOpts, and ensureOwned().
| FileSystemOptions & CowCompilerInvocation::getMutFileSystemOpts | ( | ) |
Definition at line 236 of file CompilerInvocation.cpp.
References ensureOwned(), and clang::CompilerInvocationBase::FSOpts.
Referenced by optimizeCWD().
| FrontendOptions & CowCompilerInvocation::getMutFrontendOpts | ( | ) |
Definition at line 240 of file CompilerInvocation.cpp.
References ensureOwned(), and clang::CompilerInvocationBase::FrontendOpts.
| HeaderSearchOptions & CowCompilerInvocation::getMutHeaderSearchOpts | ( | ) |
Definition at line 212 of file CompilerInvocation.cpp.
References ensureOwned(), and clang::CompilerInvocationBase::HSOpts.
| LangOptions & CowCompilerInvocation::getMutLangOpts | ( | ) |
Mutable getters.
Definition at line 200 of file CompilerInvocation.cpp.
References ensureOwned(), and clang::CompilerInvocationBase::LangOpts.
| MigratorOptions & CowCompilerInvocation::getMutMigratorOpts | ( | ) |
Definition at line 224 of file CompilerInvocation.cpp.
References ensureOwned(), and clang::CompilerInvocationBase::MigratorOpts.
| PreprocessorOptions & CowCompilerInvocation::getMutPreprocessorOpts | ( | ) |
Definition at line 216 of file CompilerInvocation.cpp.
References ensureOwned(), and clang::CompilerInvocationBase::PPOpts.
| PreprocessorOutputOptions & CowCompilerInvocation::getMutPreprocessorOutputOpts | ( | ) |
Definition at line 253 of file CompilerInvocation.cpp.
References ensureOwned(), and clang::CompilerInvocationBase::PreprocessorOutputOpts.
| ssaf::SSAFOptions & CowCompilerInvocation::getMutSSAFOpts | ( | ) |
Definition at line 244 of file CompilerInvocation.cpp.
References ensureOwned(), and clang::CompilerInvocationBase::SSAFOpts.
| TargetOptions & CowCompilerInvocation::getMutTargetOpts | ( | ) |
Definition at line 204 of file CompilerInvocation.cpp.
References ensureOwned(), and clang::CompilerInvocationBase::TargetOpts.
|
inline |
Definition at line 383 of file CompilerInvocation.h.
References CowCompilerInvocation(), clang::CompilerInvocationBase::shallow_copy_assign(), and X.
| void CowCompilerInvocation::visitMutPaths | ( | llvm::function_ref< VisitMutResult(StringRef, std::string &)> | Cb | ) |
Visits paths stored in the invocation, allowing the callback to mutate them via the out-param.
This upholds the same copy-on-write semantics as the mutable getters.
Definition at line 5375 of file CompilerInvocation.cpp.
References clang::CompilerInvocationBase::CodeGenOpts, clang::CompilerInvocationBase::DependencyOutputOpts, clang::File, clang::CompilerInvocationBase::FrontendOpts, clang::CompilerInvocationBase::FSOpts, clang::CompilerInvocationBase::HSOpts, clang::CompilerInvocationBase::LangOpts, clang::CompilerInvocationBase::PPOpts, RETURN_IF, and RETURN_IF_MANY.
Referenced by visitPaths().
| void CowCompilerInvocation::visitPaths | ( | llvm::function_ref< VisitConstResult(StringRef)> | Cb | ) | const |
Visits paths stored in the invocation.
Definition at line 5451 of file CompilerInvocation.cpp.
References CowCompilerInvocation(), and visitMutPaths().
Referenced by isSafeToIgnoreCWD().