clang 20.0.0git
Public Member Functions | List of all members
clang::CowCompilerInvocation Class Reference

Same as CompilerInvocation, but with copy-on-write optimization. More...

#include "clang/Frontend/CompilerInvocation.h"

Inheritance diagram for clang::CowCompilerInvocation:
Inheritance graph
[legend]

Public Member Functions

 CowCompilerInvocation ()=default
 
 CowCompilerInvocation (const CowCompilerInvocation &X)
 
 CowCompilerInvocation (CowCompilerInvocation &&)=default
 
CowCompilerInvocationoperator= (const CowCompilerInvocation &X)
 
 ~CowCompilerInvocation ()=default
 
 CowCompilerInvocation (const CompilerInvocation &X)
 
 CowCompilerInvocation (CompilerInvocation &&X)
 
LangOptionsgetMutLangOpts ()
 Mutable getters.
 
TargetOptionsgetMutTargetOpts ()
 
DiagnosticOptionsgetMutDiagnosticOpts ()
 
HeaderSearchOptionsgetMutHeaderSearchOpts ()
 
PreprocessorOptionsgetMutPreprocessorOpts ()
 
AnalyzerOptionsgetMutAnalyzerOpts ()
 
MigratorOptionsgetMutMigratorOpts ()
 
APINotesOptionsgetMutAPINotesOpts ()
 
CodeGenOptionsgetMutCodeGenOpts ()
 
FileSystemOptionsgetMutFileSystemOpts ()
 
FrontendOptionsgetMutFrontendOpts ()
 
DependencyOutputOptionsgetMutDependencyOutputOpts ()
 
PreprocessorOutputOptionsgetMutPreprocessorOutputOpts ()
 
- Public Member Functions inherited from clang::CompilerInvocationBase
const LangOptionsgetLangOpts () const
 Const getters.
 
const TargetOptionsgetTargetOpts () const
 
const DiagnosticOptionsgetDiagnosticOpts () const
 
const HeaderSearchOptionsgetHeaderSearchOpts () const
 
const PreprocessorOptionsgetPreprocessorOpts () const
 
const AnalyzerOptionsgetAnalyzerOpts () const
 
const MigratorOptionsgetMigratorOpts () const
 
const APINotesOptionsgetAPINotesOpts () const
 
const CodeGenOptionsgetCodeGenOpts () const
 
const FileSystemOptionsgetFileSystemOpts () const
 
const FrontendOptionsgetFrontendOpts () const
 
const DependencyOutputOptionsgetDependencyOutputOpts () const
 
const PreprocessorOutputOptionsgetPreprocessorOutputOpts () const
 
void generateCC1CommandLine (llvm::SmallVectorImpl< const char * > &Args, StringAllocator SA) const
 Generate cc1-compatible command line arguments from this instance.
 
void generateCC1CommandLine (ArgumentConsumer Consumer) const
 Generate cc1-compatible command line arguments from this instance.
 
std::vector< std::string > getCC1CommandLine () const
 Generate cc1-compatible command line arguments from this instance, wrapping the result as a std::vector<std::string>.
 

Additional Inherited Members

- Public Types inherited from clang::CompilerInvocationBase
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
 
CompilerInvocationBaseoperator= (const CompilerInvocationBase &X)=delete
 
CompilerInvocationBasedeep_copy_assign (const CompilerInvocationBase &X)
 
CompilerInvocationBaseshallow_copy_assign (const CompilerInvocationBase &X)
 
CompilerInvocationBaseoperator= (CompilerInvocationBase &&X)=default
 
 ~CompilerInvocationBase ()=default
 
- Protected Attributes inherited from clang::CompilerInvocationBase
std::shared_ptr< LangOptionsLangOpts
 Options controlling the language variant.
 
std::shared_ptr< TargetOptionsTargetOpts
 Options controlling the target.
 
IntrusiveRefCntPtr< DiagnosticOptionsDiagnosticOpts
 Options controlling the diagnostic engine.
 
std::shared_ptr< HeaderSearchOptionsHSOpts
 Options controlling the #include directive.
 
std::shared_ptr< PreprocessorOptionsPPOpts
 Options controlling the preprocessor (aside from #include handling).
 
AnalyzerOptionsRef AnalyzerOpts
 Options controlling the static analyzer.
 
std::shared_ptr< MigratorOptionsMigratorOpts
 
std::shared_ptr< APINotesOptionsAPINotesOpts
 Options controlling API notes.
 
std::shared_ptr< CodeGenOptionsCodeGenOpts
 Options controlling IRgen and the backend.
 
std::shared_ptr< FileSystemOptionsFSOpts
 Options controlling file system operations.
 
std::shared_ptr< FrontendOptionsFrontendOpts
 Options controlling the frontend itself.
 
std::shared_ptr< DependencyOutputOptionsDependencyOutputOpts
 Options controlling dependency output.
 
std::shared_ptr< PreprocessorOutputOptionsPreprocessorOutputOpts
 Options controlling preprocessed output.
 

Detailed Description

Same as CompilerInvocation, but with copy-on-write optimization.

Definition at line 360 of file CompilerInvocation.h.

Constructor & Destructor Documentation

◆ CowCompilerInvocation() [1/5]

clang::CowCompilerInvocation::CowCompilerInvocation ( )
default

◆ CowCompilerInvocation() [2/5]

clang::CowCompilerInvocation::CowCompilerInvocation ( const CowCompilerInvocation X)
inline

◆ CowCompilerInvocation() [3/5]

clang::CowCompilerInvocation::CowCompilerInvocation ( CowCompilerInvocation &&  )
default

◆ ~CowCompilerInvocation()

clang::CowCompilerInvocation::~CowCompilerInvocation ( )
default

◆ CowCompilerInvocation() [4/5]

clang::CowCompilerInvocation::CowCompilerInvocation ( const CompilerInvocation X)
inline

Definition at line 374 of file CompilerInvocation.h.

References clang::CompilerInvocationBase::deep_copy_assign(), and X.

◆ CowCompilerInvocation() [5/5]

clang::CowCompilerInvocation::CowCompilerInvocation ( CompilerInvocation &&  X)
inline

Definition at line 379 of file CompilerInvocation.h.

Member Function Documentation

◆ getMutAnalyzerOpts()

AnalyzerOptions & CowCompilerInvocation::getMutAnalyzerOpts ( )

◆ getMutAPINotesOpts()

APINotesOptions & CowCompilerInvocation::getMutAPINotesOpts ( )

◆ getMutCodeGenOpts()

CodeGenOptions & CowCompilerInvocation::getMutCodeGenOpts ( )

◆ getMutDependencyOutputOpts()

DependencyOutputOptions & CowCompilerInvocation::getMutDependencyOutputOpts ( )

◆ getMutDiagnosticOpts()

DiagnosticOptions & CowCompilerInvocation::getMutDiagnosticOpts ( )

◆ getMutFileSystemOpts()

FileSystemOptions & CowCompilerInvocation::getMutFileSystemOpts ( )

Definition at line 257 of file CompilerInvocation.cpp.

References clang::CompilerInvocationBase::FSOpts.

◆ getMutFrontendOpts()

FrontendOptions & CowCompilerInvocation::getMutFrontendOpts ( )

◆ getMutHeaderSearchOpts()

HeaderSearchOptions & CowCompilerInvocation::getMutHeaderSearchOpts ( )

Definition at line 233 of file CompilerInvocation.cpp.

References clang::CompilerInvocationBase::HSOpts.

◆ getMutLangOpts()

LangOptions & CowCompilerInvocation::getMutLangOpts ( )

Mutable getters.

Definition at line 221 of file CompilerInvocation.cpp.

References clang::CompilerInvocationBase::LangOpts.

◆ getMutMigratorOpts()

MigratorOptions & CowCompilerInvocation::getMutMigratorOpts ( )

◆ getMutPreprocessorOpts()

PreprocessorOptions & CowCompilerInvocation::getMutPreprocessorOpts ( )

Definition at line 237 of file CompilerInvocation.cpp.

References clang::CompilerInvocationBase::PPOpts.

◆ getMutPreprocessorOutputOpts()

PreprocessorOutputOptions & CowCompilerInvocation::getMutPreprocessorOutputOpts ( )

◆ getMutTargetOpts()

TargetOptions & CowCompilerInvocation::getMutTargetOpts ( )

Definition at line 225 of file CompilerInvocation.cpp.

References clang::CompilerInvocationBase::TargetOpts.

◆ operator=()

CowCompilerInvocation & clang::CowCompilerInvocation::operator= ( const CowCompilerInvocation X)
inline

The documentation for this class was generated from the following files: