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

Methods

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

clang::CXXRecordDecl*
clang::CXXConstructorDecl*

virtual void addDeclaratorForUnnamedTagDecl(
    clang::TagDecl* TD,
    clang::DeclaratorDecl* DD)

Declared at: clang/lib/AST/CXXABI.h:69

Parameters

clang::TagDecl* TD
clang::DeclaratorDecl* DD

virtual void addTypedefNameForUnnamedTagDecl(
    clang::TagDecl* TD,
    clang::TypedefNameDecl* DD)

Declared at: clang/lib/AST/CXXABI.h:63

Parameters

clang::TagDecl* TD
clang::TypedefNameDecl* DD

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*)

Description

Retrieves the mapping from class to copy constructor for this C++ ABI.

Declared at: clang/lib/AST/CXXABI.h:61

Parameters

clang::CXXRecordDecl*

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

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

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)

Declared at: clang/lib/AST/CXXABI.h:67

Parameters

const clang::TagDecl* TD

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()

Declared at: clang/lib/AST/CXXABI.h:31