|
clang 22.0.0git
|
#include "Descriptor.h"#include "Boolean.h"#include "FixedPoint.h"#include "Floating.h"#include "IntegralAP.h"#include "MemberPointer.h"#include "Pointer.h"#include "PrimType.h"#include "Record.h"#include "Source.h"#include "clang/AST/ExprCXX.h"Go to the source code of this file.
Functions | |
| template<typename T> | |
| static constexpr bool | needsCtor () |
| template<typename T> | |
| static void | ctorTy (Block *, std::byte *Ptr, bool, bool, bool, bool, bool, const Descriptor *) |
| template<typename T> | |
| static void | dtorTy (Block *, std::byte *Ptr, const Descriptor *) |
| template<typename T> | |
| static void | ctorArrayTy (Block *, std::byte *Ptr, bool, bool, bool, bool, bool, const Descriptor *D) |
| template<typename T> | |
| static void | dtorArrayTy (Block *, std::byte *Ptr, const Descriptor *D) |
| static void | ctorArrayDesc (Block *B, std::byte *Ptr, bool IsConst, bool IsMutable, bool IsVolatile, bool IsActive, bool InUnion, const Descriptor *D) |
| static void | dtorArrayDesc (Block *B, std::byte *Ptr, const Descriptor *D) |
| static void | initField (Block *B, std::byte *Ptr, bool IsConst, bool IsMutable, bool IsVolatile, bool IsActive, bool IsUnionField, bool InUnion, const Descriptor *D, unsigned FieldOffset) |
| static void | initBase (Block *B, std::byte *Ptr, bool IsConst, bool IsMutable, bool IsVolatile, bool IsActive, bool InUnion, const Descriptor *D, unsigned FieldOffset, bool IsVirtualBase) |
| static void | ctorRecord (Block *B, std::byte *Ptr, bool IsConst, bool IsMutable, bool IsVolatile, bool IsActive, bool InUnion, const Descriptor *D) |
| static void | destroyField (Block *B, std::byte *Ptr, const Descriptor *D, unsigned FieldOffset) |
| static void | destroyBase (Block *B, std::byte *Ptr, const Descriptor *D, unsigned FieldOffset) |
| static void | dtorRecord (Block *B, std::byte *Ptr, const Descriptor *D) |
| static bool | needsRecordDtor (const Record *R) |
| Whether a record needs its descriptor dtor function called. | |
| static BlockCtorFn | getCtorPrim (PrimType T) |
| static BlockDtorFn | getDtorPrim (PrimType T) |
| static BlockCtorFn | getCtorArrayPrim (PrimType Type) |
| static BlockDtorFn | getDtorArrayPrim (PrimType Type) |
|
static |
Definition at line 80 of file Descriptor.cpp.
References clang::interp::Descriptor::CtorFn, clang::interp::Descriptor::ElemDesc, clang::interp::Fn, clang::interp::Descriptor::getAllocSize(), clang::interp::Descriptor::getNumElems(), clang::interp::Descriptor::IsConst, and clang::interp::Descriptor::IsMutable.
Referenced by clang::interp::Descriptor::Descriptor(), and clang::interp::Descriptor::Descriptor().
|
static |
Definition at line 53 of file Descriptor.cpp.
References clang::interp::Descriptor::getNumElems(), clang::interp::NE(), needsCtor(), and clang::T.
Referenced by getCtorArrayPrim().
|
static |
Definition at line 177 of file Descriptor.cpp.
References clang::interp::Record::bases(), clang::interp::Descriptor::ElemRecord, clang::interp::Record::fields(), initBase(), initField(), clang::interp::Descriptor::isUnion(), V, and clang::interp::Record::virtual_bases().
Referenced by clang::interp::Descriptor::Descriptor().
|
static |
Definition at line 40 of file Descriptor.cpp.
References needsCtor(), and clang::T.
Referenced by getCtorPrim().
|
static |
Definition at line 201 of file Descriptor.cpp.
References clang::interp::Record::bases(), destroyBase(), destroyField(), clang::interp::Descriptor::ElemRecord, clang::interp::Record::fields(), and V.
Referenced by destroyBase(), and dtorRecord().
|
static |
Definition at line 195 of file Descriptor.cpp.
References clang::interp::Descriptor::DtorFn, and clang::interp::Fn.
Referenced by destroyBase(), and dtorRecord().
|
static |
Definition at line 111 of file Descriptor.cpp.
References clang::interp::Descriptor::DtorFn, clang::interp::Descriptor::ElemDesc, clang::interp::Descriptor::getAllocSize(), and clang::interp::Descriptor::getNumElems().
Referenced by clang::interp::Descriptor::Descriptor(), and clang::interp::Descriptor::Descriptor().
|
static |
Definition at line 66 of file Descriptor.cpp.
References clang::interp::Descriptor::getNumElems(), clang::interp::NE(), needsCtor(), and clang::T.
Referenced by getDtorArrayPrim().
|
static |
Definition at line 212 of file Descriptor.cpp.
References clang::interp::Record::bases(), destroyBase(), destroyField(), clang::interp::Descriptor::ElemRecord, clang::interp::Record::fields(), and clang::interp::Record::virtual_bases().
Referenced by clang::interp::Descriptor::Descriptor().
|
static |
Definition at line 47 of file Descriptor.cpp.
References needsCtor(), and clang::T.
Referenced by emitGlobalDtorWithCXAAtExit(), and getDtorPrim().
|
static |
Definition at line 276 of file Descriptor.cpp.
References ctorArrayTy(), and TYPE_SWITCH.
Referenced by clang::interp::Descriptor::Descriptor(), and clang::interp::Descriptor::Descriptor().
|
static |
Definition at line 240 of file Descriptor.cpp.
References ctorTy(), clang::interp::PT_Float, clang::interp::PT_IntAP, clang::interp::PT_IntAPS, clang::interp::PT_MemberPtr, clang::interp::PT_Ptr, and clang::T.
Referenced by clang::interp::Descriptor::Descriptor().
|
static |
Definition at line 281 of file Descriptor.cpp.
References dtorArrayTy(), and TYPE_SWITCH.
Referenced by clang::interp::Descriptor::Descriptor(), and clang::interp::Descriptor::Descriptor().
|
static |
Definition at line 258 of file Descriptor.cpp.
References dtorTy(), clang::interp::PT_Float, clang::interp::PT_IntAP, clang::interp::PT_IntAPS, clang::interp::PT_MemberPtr, clang::interp::PT_Ptr, and clang::T.
Referenced by clang::interp::Descriptor::Descriptor().
|
static |
Definition at line 149 of file Descriptor.cpp.
References clang::interp::Record::bases(), clang::interp::Descriptor::ElemRecord, clang::interp::Record::fields(), initBase(), initField(), clang::interp::Descriptor::IsArray, clang::interp::Descriptor::IsConst, clang::interp::Descriptor::IsMutable, clang::interp::Record::isUnion(), clang::interp::InlineDescriptor::Offset, and V.
Referenced by ctorRecord(), and initBase().
|
static |
Definition at line 128 of file Descriptor.cpp.
References clang::interp::Descriptor::CtorFn, clang::interp::Fn, clang::interp::Descriptor::IsArray, clang::interp::Descriptor::IsConst, clang::interp::Descriptor::IsMutable, clang::interp::Descriptor::isUnion(), clang::interp::Descriptor::IsVolatile, and clang::interp::InlineDescriptor::Offset.
Referenced by ctorRecord(), and initBase().
|
staticconstexpr |
Definition at line 24 of file Descriptor.cpp.
Referenced by ctorArrayTy(), ctorTy(), dtorArrayTy(), and dtorTy().
Whether a record needs its descriptor dtor function called.
Definition at line 222 of file Descriptor.cpp.
References clang::interp::Record::bases(), clang::interp::Record::fields(), V, and clang::interp::Record::virtual_bases().
Referenced by clang::interp::Descriptor::Descriptor().