clang 22.0.0git
clang::CIRGen::CIRGenCXXABI Class Referenceabstract

Implements C++ ABI-specific code generation functions. More...

#include "/home/buildbot/as-worker-4/publish-doxygen-docs/llvm-project/clang/lib/CIR/CodeGen/CIRGenCXXABI.h"

Classes

struct  AddedStructorArgCounts
 Similar to AddedStructorArgs, but only notes the number of additional arguments. More...
struct  AddedStructorArgs
 Additional implicit arguments to add to the beginning (Prefix) and end (Suffix) of a constructor / destructor arg list. More...

Public Types

using DeleteOrMemberCallExpr

Public Member Functions

 CIRGenCXXABI (CIRGenModule &cgm)
virtual ~CIRGenCXXABI ()
void setCXXABIThisValue (CIRGenFunction &cgf, mlir::Value thisPtr)
virtual void initializeHiddenVirtualInheritanceMembers (CIRGenFunction &cgf, const CXXRecordDecl *rd)
 Emit the code to initialize hidden members required to handle virtual inheritance, if needed by the ABI.
virtual void emitCXXStructor (clang::GlobalDecl gd)=0
 Emit a single constructor/destructor with the gen type from a C++ constructor/destructor Decl.
virtual mlir::Value getVirtualBaseClassOffset (mlir::Location loc, CIRGenFunction &cgf, Address thisAddr, const CXXRecordDecl *classDecl, const CXXRecordDecl *baseClassDecl)=0
virtual mlir::Value emitDynamicCast (CIRGenFunction &cgf, mlir::Location loc, QualType srcRecordTy, QualType destRecordTy, cir::PointerType destCIRTy, bool isRefCast, Address src)=0
virtual AddedStructorArgCounts buildStructorSignature (GlobalDecl gd, llvm::SmallVectorImpl< CanQualType > &argTys)=0
 Build the signature of the given constructor or destructor vairant by adding any required parameters.
AddedStructorArgCounts addImplicitConstructorArgs (CIRGenFunction &cgf, const CXXConstructorDecl *d, CXXCtorType type, bool forVirtualBase, bool delegating, CallArgList &args)
clang::ImplicitParamDeclgetThisDecl (CIRGenFunction &cgf)
virtual AddedStructorArgs getImplicitConstructorArgs (CIRGenFunction &cgf, const CXXConstructorDecl *d, CXXCtorType type, bool forVirtualBase, bool delegating)=0
virtual void emitInstanceFunctionProlog (SourceLocation loc, CIRGenFunction &cgf)=0
 Emit the ABI-specific prolog for the function.
virtual void emitRethrow (CIRGenFunction &cgf, bool isNoReturn)=0
virtual void emitThrow (CIRGenFunction &cgf, const CXXThrowExpr *e)=0
virtual void emitBadCastCall (CIRGenFunction &cgf, mlir::Location loc)=0
virtual mlir::Attribute getAddrOfRTTIDescriptor (mlir::Location loc, QualType ty)=0
virtual const clang::CXXRecordDeclgetThisArgumentTypeForMethod (const clang::CXXMethodDecl *md)
 Get the type of the implicit "this" parameter used by a method.
virtual bool needsVTTParameter (clang::GlobalDecl gd)
 Return whether the given global decl needs a VTT (virtual table table) parameter.
virtual Address adjustThisArgumentForVirtualFunctionCall (CIRGenFunction &cgf, clang::GlobalDecl gd, Address thisPtr, bool virtualCall)
 Perform ABI-specific "this" argument adjustment required prior to a call of a virtual function.
void buildThisParam (CIRGenFunction &cgf, FunctionArgList &params)
 Build a parameter variable suitable for 'this'.
mlir::Value loadIncomingCXXThis (CIRGenFunction &cgf)
 Loads the incoming C++ this pointer as it was passed by the caller.
virtual CatchTypeInfo getCatchAllTypeInfo ()
virtual mlir::Value getCXXDestructorImplicitParam (CIRGenFunction &cgf, const CXXDestructorDecl *dd, CXXDtorType type, bool forVirtualBase, bool delegating)=0
 Get the implicit (second) parameter that comes after the "this" pointer, or nullptr if there is isn't one.
virtual void emitCXXConstructors (const clang::CXXConstructorDecl *d)=0
 Emit constructor variants required by this ABI.
virtual void emitCXXDestructors (const clang::CXXDestructorDecl *d)=0
 Emit dtor variants required by this ABI.
virtual void emitDestructorCall (CIRGenFunction &cgf, const CXXDestructorDecl *dd, CXXDtorType type, bool forVirtualBase, bool delegating, Address thisAddr, QualType thisTy)=0
virtual void registerGlobalDtor (const VarDecl *vd, cir::FuncOp dtor, mlir::Value addr)=0
 Emit code to force the execution of a destructor during global teardown.
virtual bool isVirtualOffsetNeededForVTableField (CIRGenFunction &cgf, CIRGenFunction::VPtr vptr)=0
 Checks if ABI requires extra virtual offset for vtable field.
virtual void emitVTableDefinitions (CIRGenVTables &cgvt, const CXXRecordDecl *rd)=0
 Emits the VTable definitions required for the given record type.
virtual mlir::Value emitVirtualDestructorCall (CIRGenFunction &cgf, const CXXDestructorDecl *dtor, CXXDtorType dtorType, Address thisAddr, DeleteOrMemberCallExpr e)=0
virtual void emitVirtualInheritanceTables (const CXXRecordDecl *rd)=0
 Emit any tables needed to implement virtual inheritance.
virtual bool useThunkForDtorVariant (const CXXDestructorDecl *dtor, CXXDtorType dt) const =0
 Returns true if the given destructor type should be emitted as a linkonce delegating thunk, regardless of whether the dtor is defined in this TU or not.
virtual cir::GlobalLinkageKind getCXXDestructorLinkage (GVALinkage linkage, const CXXDestructorDecl *dtor, CXXDtorType dt) const
virtual cir::GlobalOp getAddrOfVTable (const CXXRecordDecl *rd, CharUnits vptrOffset)=0
 Get the address of the vtable for the given record decl which should be used for the vptr at the given offset in RD.
virtual CIRGenCallee getVirtualFunctionPointer (CIRGenFunction &cgf, clang::GlobalDecl gd, Address thisAddr, mlir::Type ty, SourceLocation loc)=0
 Build a virtual function pointer in the ABI-specific way.
virtual mlir::Value getVTableAddressPoint (BaseSubobject base, const CXXRecordDecl *vtableClass)=0
 Get the address point of the vtable for the given base subobject.
virtual mlir::Value getVTableAddressPointInStructor (CIRGenFunction &cgf, const CXXRecordDecl *vtableClass, BaseSubobject base, const CXXRecordDecl *nearestVBase)=0
 Get the address point of the vtable for the given base subobject while building a constructor or a destructor.
virtual void addImplicitStructorParams (CIRGenFunction &cgf, clang::QualType &resTy, FunctionArgList &params)=0
 Insert any ABI-specific implicit parameters into the parameter list for a function.
virtual bool doStructorsInitializeVPtrs (const clang::CXXRecordDecl *vtableClass)=0
 Checks if ABI requires to initialize vptrs for given dynamic class.
virtual bool hasThisReturn (clang::GlobalDecl gd) const
 Returns true if the given constructor or destructor is one of the kinds that the ABI says returns 'this' (only applies when called non-virtually for destructors).
virtual bool hasMostDerivedReturn (clang::GlobalDecl gd) const
virtual bool canCallMismatchedFunctionType () const
 Returns true if the target allows calling a function through a pointer with a different signature than the actual function (or equivalently, bitcasting a function or function pointer to a different function type).
clang::MangleContextgetMangleContext ()
 Gets the mangle context.
clang::ImplicitParamDecl *& getStructorImplicitParamDecl (CIRGenFunction &cgf)
mlir::Value getStructorImplicitParamValue (CIRGenFunction &cgf)
void setStructorImplicitParamValue (CIRGenFunction &cgf, mlir::Value val)
virtual CharUnits getArrayCookieSize (const CXXNewExpr *e)
 Returns the extra size required in order to store the array cookie for the given new-expression.
virtual Address initializeArrayCookie (CIRGenFunction &cgf, Address newPtr, mlir::Value numElements, const CXXNewExpr *e, QualType elementType)=0
 Initialize the array cookie for the given allocation.

Protected Member Functions

virtual bool requiresArrayCookie (const CXXNewExpr *e)
virtual CharUnits getArrayCookieSizeImpl (QualType elementType)=0
 Returns the extra size required in order to store the array cookie for the given type.

Protected Attributes

CIRGenModulecgm
std::unique_ptr< clang::MangleContextmangleContext

Detailed Description

Implements C++ ABI-specific code generation functions.

Definition at line 27 of file CIRGenCXXABI.h.

Member Typedef Documentation

◆ DeleteOrMemberCallExpr

Initial value:
llvm::PointerUnion<const CXXDeleteExpr *, const CXXMemberCallExpr *>

Definition at line 199 of file CIRGenCXXABI.h.

Constructor & Destructor Documentation

◆ CIRGenCXXABI()

clang::CIRGen::CIRGenCXXABI::CIRGenCXXABI ( CIRGenModule & cgm)
inline

Definition at line 37 of file CIRGenCXXABI.h.

References cgm, and mangleContext.

◆ ~CIRGenCXXABI()

CIRGenCXXABI::~CIRGenCXXABI ( )
virtual

Definition at line 24 of file CIRGenCXXABI.cpp.

Member Function Documentation

◆ addImplicitConstructorArgs()

◆ addImplicitStructorParams()

virtual void clang::CIRGen::CIRGenCXXABI::addImplicitStructorParams ( CIRGenFunction & cgf,
clang::QualType & resTy,
FunctionArgList & params )
pure virtual

Insert any ABI-specific implicit parameters into the parameter list for a function.

This generally involves extra data for constructors and destructors.

ABIs may also choose to override the return type, which has been initialized with the type of 'this' if HasThisReturn(CGF.CurGD) is true or the formal return type of the function otherwise.

◆ adjustThisArgumentForVirtualFunctionCall()

virtual Address clang::CIRGen::CIRGenCXXABI::adjustThisArgumentForVirtualFunctionCall ( CIRGenFunction & cgf,
clang::GlobalDecl gd,
Address thisPtr,
bool virtualCall )
inlinevirtual

Perform ABI-specific "this" argument adjustment required prior to a call of a virtual function.

The "VirtualCall" argument is true iff the call itself is virtual.

Definition at line 148 of file CIRGenCXXABI.h.

◆ buildStructorSignature()

virtual AddedStructorArgCounts clang::CIRGen::CIRGenCXXABI::buildStructorSignature ( GlobalDecl gd,
llvm::SmallVectorImpl< CanQualType > & argTys )
pure virtual

Build the signature of the given constructor or destructor vairant by adding any required parameters.

For convenience, ArgTys has been initialized with the type of 'this'.

References clang::ast_matchers::type.

◆ buildThisParam()

◆ canCallMismatchedFunctionType()

virtual bool clang::CIRGen::CIRGenCXXABI::canCallMismatchedFunctionType ( ) const
inlinevirtual

Returns true if the target allows calling a function through a pointer with a different signature than the actual function (or equivalently, bitcasting a function or function pointer to a different function type).

In principle in the most general case this could depend on the target, the calling convention, and the actual types of the arguments and return value. Here it just means whether the signature mismatch could ever be allowed; in other words, does the target do strict checking of signatures for all calls.

Definition at line 280 of file CIRGenCXXABI.h.

Referenced by emitDeclDestroy().

◆ doStructorsInitializeVPtrs()

virtual bool clang::CIRGen::CIRGenCXXABI::doStructorsInitializeVPtrs ( const clang::CXXRecordDecl * vtableClass)
pure virtual

Checks if ABI requires to initialize vptrs for given dynamic class.

◆ emitBadCastCall()

virtual void clang::CIRGen::CIRGenCXXABI::emitBadCastCall ( CIRGenFunction & cgf,
mlir::Location loc )
pure virtual

Referenced by emitDynamicCastToNull().

◆ emitCXXConstructors()

virtual void clang::CIRGen::CIRGenCXXABI::emitCXXConstructors ( const clang::CXXConstructorDecl * d)
pure virtual

Emit constructor variants required by this ABI.

Referenced by clang::CIRGen::CIRGenModule::emitTopLevelDecl().

◆ emitCXXDestructors()

virtual void clang::CIRGen::CIRGenCXXABI::emitCXXDestructors ( const clang::CXXDestructorDecl * d)
pure virtual

Emit dtor variants required by this ABI.

Referenced by clang::CIRGen::CIRGenModule::emitTopLevelDecl().

◆ emitCXXStructor()

virtual void clang::CIRGen::CIRGenCXXABI::emitCXXStructor ( clang::GlobalDecl gd)
pure virtual

Emit a single constructor/destructor with the gen type from a C++ constructor/destructor Decl.

◆ emitDestructorCall()

virtual void clang::CIRGen::CIRGenCXXABI::emitDestructorCall ( CIRGenFunction & cgf,
const CXXDestructorDecl * dd,
CXXDtorType type,
bool forVirtualBase,
bool delegating,
Address thisAddr,
QualType thisTy )
pure virtual

◆ emitDynamicCast()

virtual mlir::Value clang::CIRGen::CIRGenCXXABI::emitDynamicCast ( CIRGenFunction & cgf,
mlir::Location loc,
QualType srcRecordTy,
QualType destRecordTy,
cir::PointerType destCIRTy,
bool isRefCast,
Address src )
pure virtual

◆ emitInstanceFunctionProlog()

virtual void clang::CIRGen::CIRGenCXXABI::emitInstanceFunctionProlog ( SourceLocation loc,
CIRGenFunction & cgf )
pure virtual

Emit the ABI-specific prolog for the function.

◆ emitRethrow()

virtual void clang::CIRGen::CIRGenCXXABI::emitRethrow ( CIRGenFunction & cgf,
bool isNoReturn )
pure virtual

◆ emitThrow()

virtual void clang::CIRGen::CIRGenCXXABI::emitThrow ( CIRGenFunction & cgf,
const CXXThrowExpr * e )
pure virtual

◆ emitVirtualDestructorCall()

virtual mlir::Value clang::CIRGen::CIRGenCXXABI::emitVirtualDestructorCall ( CIRGenFunction & cgf,
const CXXDestructorDecl * dtor,
CXXDtorType dtorType,
Address thisAddr,
DeleteOrMemberCallExpr e )
pure virtual

◆ emitVirtualInheritanceTables()

virtual void clang::CIRGen::CIRGenCXXABI::emitVirtualInheritanceTables ( const CXXRecordDecl * rd)
pure virtual

Emit any tables needed to implement virtual inheritance.

For Itanium, this emits virtual table tables.

◆ emitVTableDefinitions()

virtual void clang::CIRGen::CIRGenCXXABI::emitVTableDefinitions ( CIRGenVTables & cgvt,
const CXXRecordDecl * rd )
pure virtual

Emits the VTable definitions required for the given record type.

◆ getAddrOfRTTIDescriptor()

virtual mlir::Attribute clang::CIRGen::CIRGenCXXABI::getAddrOfRTTIDescriptor ( mlir::Location loc,
QualType ty )
pure virtual

◆ getAddrOfVTable()

virtual cir::GlobalOp clang::CIRGen::CIRGenCXXABI::getAddrOfVTable ( const CXXRecordDecl * rd,
CharUnits vptrOffset )
pure virtual

Get the address of the vtable for the given record decl which should be used for the vptr at the given offset in RD.

Referenced by getAddrOfVTTVTable().

◆ getArrayCookieSize()

CharUnits CIRGenCXXABI::getArrayCookieSize ( const CXXNewExpr * e)
virtual

Returns the extra size required in order to store the array cookie for the given new-expression.

May return 0 to indicate that no array cookie is required.

Several cases are filtered out before this method is called:

  • non-array allocations never need a cookie
  • calls to ::operator new(size_t, void*) never need a cookie
Parameters
e- the new-expression being allocated.

Definition at line 84 of file CIRGenCXXABI.cpp.

References clang::CXXNewExpr::getAllocatedType(), getArrayCookieSizeImpl(), requiresArrayCookie(), and clang::CharUnits::Zero().

Referenced by calculateCookiePadding().

◆ getArrayCookieSizeImpl()

virtual CharUnits clang::CIRGen::CIRGenCXXABI::getArrayCookieSizeImpl ( QualType elementType)
protectedpure virtual

Returns the extra size required in order to store the array cookie for the given type.

Assumes that an array cookie is required.

Referenced by getArrayCookieSize().

◆ getCatchAllTypeInfo()

CatchTypeInfo CIRGenCXXABI::getCatchAllTypeInfo ( )
virtual

Definition at line 40 of file CIRGenCXXABI.cpp.

◆ getCXXDestructorImplicitParam()

virtual mlir::Value clang::CIRGen::CIRGenCXXABI::getCXXDestructorImplicitParam ( CIRGenFunction & cgf,
const CXXDestructorDecl * dd,
CXXDtorType type,
bool forVirtualBase,
bool delegating )
pure virtual

Get the implicit (second) parameter that comes after the "this" pointer, or nullptr if there is isn't one.

References clang::ast_matchers::type.

◆ getCXXDestructorLinkage()

cir::GlobalLinkageKind CIRGenCXXABI::getCXXDestructorLinkage ( GVALinkage linkage,
const CXXDestructorDecl * dtor,
CXXDtorType dt ) const
virtual

Definition at line 63 of file CIRGenCXXABI.cpp.

References cgm.

Referenced by clang::CIRGen::CIRGenModule::getFunctionLinkage().

◆ getImplicitConstructorArgs()

virtual AddedStructorArgs clang::CIRGen::CIRGenCXXABI::getImplicitConstructorArgs ( CIRGenFunction & cgf,
const CXXConstructorDecl * d,
CXXCtorType type,
bool forVirtualBase,
bool delegating )
pure virtual

◆ getMangleContext()

clang::MangleContext & clang::CIRGen::CIRGenCXXABI::getMangleContext ( )
inline

Gets the mangle context.

Definition at line 283 of file CIRGenCXXABI.h.

References mangleContext.

Referenced by getMangledNameImpl().

◆ getStructorImplicitParamDecl()

clang::ImplicitParamDecl *& clang::CIRGen::CIRGenCXXABI::getStructorImplicitParamDecl ( CIRGenFunction & cgf)
inline

◆ getStructorImplicitParamValue()

mlir::Value clang::CIRGen::CIRGenCXXABI::getStructorImplicitParamValue ( CIRGenFunction & cgf)
inline

◆ getThisArgumentTypeForMethod()

virtual const clang::CXXRecordDecl * clang::CIRGen::CIRGenCXXABI::getThisArgumentTypeForMethod ( const clang::CXXMethodDecl * md)
inlinevirtual

Get the type of the implicit "this" parameter used by a method.

May return zero if no specific type is applicable, e.g. if the ABI expects the "this" parameter to point to some artificial offset in a complete object due to vbases being reordered.

Definition at line 137 of file CIRGenCXXABI.h.

References clang::CXXMethodDecl::getParent().

Referenced by commonBuildCXXMemberOrOperatorCall().

◆ getThisDecl()

clang::ImplicitParamDecl * clang::CIRGen::CIRGenCXXABI::getThisDecl ( CIRGenFunction & cgf)
inline

◆ getVirtualBaseClassOffset()

virtual mlir::Value clang::CIRGen::CIRGenCXXABI::getVirtualBaseClassOffset ( mlir::Location loc,
CIRGenFunction & cgf,
Address thisAddr,
const CXXRecordDecl * classDecl,
const CXXRecordDecl * baseClassDecl )
pure virtual

◆ getVirtualFunctionPointer()

virtual CIRGenCallee clang::CIRGen::CIRGenCXXABI::getVirtualFunctionPointer ( CIRGenFunction & cgf,
clang::GlobalDecl gd,
Address thisAddr,
mlir::Type ty,
SourceLocation loc )
pure virtual

Build a virtual function pointer in the ABI-specific way.

Referenced by clang::CIRGen::CIRGenCallee::prepareConcreteCallee().

◆ getVTableAddressPoint()

virtual mlir::Value clang::CIRGen::CIRGenCXXABI::getVTableAddressPoint ( BaseSubobject base,
const CXXRecordDecl * vtableClass )
pure virtual

Get the address point of the vtable for the given base subobject.

◆ getVTableAddressPointInStructor()

virtual mlir::Value clang::CIRGen::CIRGenCXXABI::getVTableAddressPointInStructor ( CIRGenFunction & cgf,
const CXXRecordDecl * vtableClass,
BaseSubobject base,
const CXXRecordDecl * nearestVBase )
pure virtual

Get the address point of the vtable for the given base subobject while building a constructor or a destructor.

◆ hasMostDerivedReturn()

virtual bool clang::CIRGen::CIRGenCXXABI::hasMostDerivedReturn ( clang::GlobalDecl gd) const
inlinevirtual

Definition at line 268 of file CIRGenCXXABI.h.

◆ hasThisReturn()

virtual bool clang::CIRGen::CIRGenCXXABI::hasThisReturn ( clang::GlobalDecl gd) const
inlinevirtual

Returns true if the given constructor or destructor is one of the kinds that the ABI says returns 'this' (only applies when called non-virtually for destructors).

There currently is no way to indicate if a destructor returns 'this' when called virtually, and CIR generation does not support this case.

Definition at line 266 of file CIRGenCXXABI.h.

◆ initializeArrayCookie()

virtual Address clang::CIRGen::CIRGenCXXABI::initializeArrayCookie ( CIRGenFunction & cgf,
Address newPtr,
mlir::Value numElements,
const CXXNewExpr * e,
QualType elementType )
pure virtual

Initialize the array cookie for the given allocation.

Parameters
newPtr- a char* which is the presumed-non-null return value of the allocation function
numElements- the computed number of elements, potentially collapsed from the multidimensional array case; always a size_t
elementType- the base element allocated type, i.e. the allocated type after stripping all array types

◆ initializeHiddenVirtualInheritanceMembers()

virtual void clang::CIRGen::CIRGenCXXABI::initializeHiddenVirtualInheritanceMembers ( CIRGenFunction & cgf,
const CXXRecordDecl * rd )
inlinevirtual

Emit the code to initialize hidden members required to handle virtual inheritance, if needed by the ABI.

Definition at line 46 of file CIRGenCXXABI.h.

◆ isVirtualOffsetNeededForVTableField()

virtual bool clang::CIRGen::CIRGenCXXABI::isVirtualOffsetNeededForVTableField ( CIRGenFunction & cgf,
CIRGenFunction::VPtr vptr )
pure virtual

Checks if ABI requires extra virtual offset for vtable field.

◆ loadIncomingCXXThis()

◆ needsVTTParameter()

virtual bool clang::CIRGen::CIRGenCXXABI::needsVTTParameter ( clang::GlobalDecl gd)
inlinevirtual

Return whether the given global decl needs a VTT (virtual table table) parameter.

Definition at line 143 of file CIRGenCXXABI.h.

◆ registerGlobalDtor()

virtual void clang::CIRGen::CIRGenCXXABI::registerGlobalDtor ( const VarDecl * vd,
cir::FuncOp dtor,
mlir::Value addr )
pure virtual

Emit code to force the execution of a destructor during global teardown.

The default implementation of this uses atexit.

Parameters
dtor- a function taking a single pointer argument
addr- a pointer to pass to the destructor function.

Referenced by emitDeclDestroy().

◆ requiresArrayCookie()

bool CIRGenCXXABI::requiresArrayCookie ( const CXXNewExpr * e)
protectedvirtual

◆ setCXXABIThisValue()

void CIRGenCXXABI::setCXXABIThisValue ( CIRGenFunction & cgf,
mlir::Value thisPtr )

Initialize the 'this' slot.

Definition at line 77 of file CIRGenCXXABI.cpp.

References clang::CIRGen::CIRGenFunction::cxxabiThisValue, and getThisDecl().

◆ setStructorImplicitParamValue()

void clang::CIRGen::CIRGenCXXABI::setStructorImplicitParamValue ( CIRGenFunction & cgf,
mlir::Value val )
inline

◆ useThunkForDtorVariant()

virtual bool clang::CIRGen::CIRGenCXXABI::useThunkForDtorVariant ( const CXXDestructorDecl * dtor,
CXXDtorType dt ) const
pure virtual

Returns true if the given destructor type should be emitted as a linkonce delegating thunk, regardless of whether the dtor is defined in this TU or not.

Member Data Documentation

◆ cgm

CIRGenModule& clang::CIRGen::CIRGenCXXABI::cgm
protected

Definition at line 29 of file CIRGenCXXABI.h.

Referenced by buildThisParam(), CIRGenCXXABI(), and getCXXDestructorLinkage().

◆ mangleContext

std::unique_ptr<clang::MangleContext> clang::CIRGen::CIRGenCXXABI::mangleContext
protected

Definition at line 30 of file CIRGenCXXABI.h.

Referenced by CIRGenCXXABI(), and getMangleContext().


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