class CXXABI
Declaration
class CXXABI { /* full declaration omitted */ };
Description
Implements C++ ABI-specific semantic analysis functions.
Declared at: clang/lib/AST/CXXABI.h:29
Method Overview
- public virtual void addCopyConstructorForExceptionObject(clang::CXXRecordDecl *, clang::CXXConstructorDecl *)
- public virtual void addDeclaratorForUnnamedTagDecl(clang::TagDecl * TD, clang::DeclaratorDecl * DD)
- public virtual void addTypedefNameForUnnamedTagDecl(clang::TagDecl * TD, clang::TypedefNameDecl * DD)
- public virtual std::unique_ptr<MangleNumberingContext> createMangleNumberingContext() const
- public virtual const clang::CXXConstructorDecl * getCopyConstructorForExceptionObject(clang::CXXRecordDecl *)
- public virtual clang::DeclaratorDecl * getDeclaratorForUnnamedTagDecl(const clang::TagDecl * TD)
- public virtual clang::CallingConv getDefaultMethodCallConv(bool isVariadic) const
- public virtual clang::CXXABI::MemberPointerInfo getMemberPointerInfo(const clang::MemberPointerType * MPT) const
- public virtual clang::TypedefNameDecl * getTypedefNameForUnnamedTagDecl(const clang::TagDecl * TD)
- public virtual bool isNearlyEmpty(const clang::CXXRecordDecl * RD) const
- public virtual ~CXXABI()
Methods
¶virtual void addCopyConstructorForExceptionObject(
clang::CXXRecordDecl*,
clang::CXXConstructorDecl*)
virtual void addCopyConstructorForExceptionObject(
clang::CXXRecordDecl*,
clang::CXXConstructorDecl*)
Description
Adds a mapping from class to copy constructor for this C++ ABI.
Declared at: clang/lib/AST/CXXABI.h:56
Parameters
¶virtual void addDeclaratorForUnnamedTagDecl(
clang::TagDecl* TD,
clang::DeclaratorDecl* DD)
virtual void addDeclaratorForUnnamedTagDecl(
clang::TagDecl* TD,
clang::DeclaratorDecl* DD)
Declared at: clang/lib/AST/CXXABI.h:69
Parameters
¶virtual void addTypedefNameForUnnamedTagDecl(
clang::TagDecl* TD,
clang::TypedefNameDecl* DD)
virtual void addTypedefNameForUnnamedTagDecl(
clang::TagDecl* TD,
clang::TypedefNameDecl* DD)
Declared at: clang/lib/AST/CXXABI.h:63
Parameters
¶virtual std::unique_ptr<MangleNumberingContext>
createMangleNumberingContext() const
virtual std::unique_ptr<MangleNumberingContext>
createMangleNumberingContext() const
Description
Returns a new mangling number context for this C++ ABI.
Declared at: clang/lib/AST/CXXABI.h:53
¶virtual const clang::CXXConstructorDecl*
getCopyConstructorForExceptionObject(
clang::CXXRecordDecl*)
virtual const clang::CXXConstructorDecl*
getCopyConstructorForExceptionObject(
clang::CXXRecordDecl*)
Description
Retrieves the mapping from class to copy constructor for this C++ ABI.
Declared at: clang/lib/AST/CXXABI.h:61
Parameters
¶virtual clang::DeclaratorDecl*
getDeclaratorForUnnamedTagDecl(
const clang::TagDecl* TD)
virtual clang::DeclaratorDecl*
getDeclaratorForUnnamedTagDecl(
const clang::TagDecl* TD)
Declared at: clang/lib/AST/CXXABI.h:72
Parameters
- const clang::TagDecl* TD
¶virtual clang::CallingConv
getDefaultMethodCallConv(bool isVariadic) const
virtual clang::CallingConv
getDefaultMethodCallConv(bool isVariadic) const
Description
Returns the default calling convention for C++ methods.
Declared at: clang/lib/AST/CXXABI.h:45
Parameters
- bool isVariadic
¶virtual clang::CXXABI::MemberPointerInfo
getMemberPointerInfo(
const clang::MemberPointerType* MPT) const
virtual clang::CXXABI::MemberPointerInfo
getMemberPointerInfo(
const clang::MemberPointerType* MPT) const
Description
Returns the width and alignment of a member pointer in bits, as well as whether it has padding.
Declared at: clang/lib/AST/CXXABI.h:42
Parameters
- const clang::MemberPointerType* MPT
¶virtual clang::TypedefNameDecl*
getTypedefNameForUnnamedTagDecl(
const clang::TagDecl* TD)
virtual clang::TypedefNameDecl*
getTypedefNameForUnnamedTagDecl(
const clang::TagDecl* TD)
Declared at: clang/lib/AST/CXXABI.h:67
Parameters
- const clang::TagDecl* TD
¶virtual bool isNearlyEmpty(
const clang::CXXRecordDecl* RD) const
virtual bool isNearlyEmpty(
const clang::CXXRecordDecl* RD) const
Description
Returns whether the given class is nearly empty, with just virtual pointers and no data except possibly virtual bases.
Declared at: clang/lib/AST/CXXABI.h:49
Parameters
- const clang::CXXRecordDecl* RD
¶virtual ~CXXABI()
virtual ~CXXABI()
Declared at: clang/lib/AST/CXXABI.h:31