clang 24.0.0git
ItaniumCXXABIUtils.cpp File Reference
#include "clang/CodeGenUtils/ItaniumCXXABIUtils.h"
#include "clang/AST/CXXInheritance.h"
#include "clang/AST/RecordLayout.h"
#include "clang/Basic/OpenCLImageTypes.def"
#include "clang/Basic/OpenCLExtensionTypes.def"
#include "clang/Basic/AArch64ACLETypes.def"
#include "clang/Basic/PPCTypes.def"
#include "clang/Basic/RISCVVTypes.def"
#include "clang/Basic/WebAssemblyReferenceTypes.def"
#include "clang/Basic/AMDGPUTypes.def"
#include "clang/Basic/HLSLIntangibleTypes.def"
#include "clang/Basic/HLSLPackedTypes.def"
#include "clang/Basic/SPIRVTypes.def"
#include "clang/AST/BuiltinTypes.def"

Go to the source code of this file.

Namespaces

namespace  clang
 Top level wrappers for InstallAPI frontend operations.
namespace  clang::CodeGenUtils

Macros

#define IMAGE_TYPE(ImgType, Id, SingletonId, Access, Suffix)
#define EXT_OPAQUE_TYPE(ExtType, Id, Ext)
#define SVE_TYPE(Name, Id, SingletonId)
#define PPC_VECTOR_TYPE(Name, Id, Size)
#define RVV_TYPE(Name, Id, SingletonId)
#define WASM_TYPE(Name, Id, SingletonId)
#define AMDGPU_TYPE(Name, Id, SingletonId, Width, Align)
#define HLSL_INTANGIBLE_TYPE(Name, Id, SingletonId)
#define HLSL_PACKED_TYPE(Name, Id, SingletonId)
#define SPIRV_TYPE(Name, Id, SingletonId)
#define BUILTIN_TYPE(Id, SingletonId)
#define PLACEHOLDER_TYPE(Id, SingletonId)

Functions

CharUnits clang::CodeGenUtils::computeOffsetHint (ASTContext &Ctx, const CXXRecordDecl *Src, const CXXRecordDecl *Dst)
 Compute the src2dst_offset hint as described in the Itanium C++ ABI [2.9.7].
bool clang::CodeGenUtils::canUseSingleInheritance (const CXXRecordDecl *RD)
 Return whether the given record decl has a "single, public, non-virtual base at offset zero (i.e.
static unsigned clang::CodeGenUtils::computeVMIClassTypeInfoFlags (const CXXBaseSpecifier *Base, SeenBases &Bases)
unsigned clang::CodeGenUtils::computeVMIClassTypeInfoFlags (const CXXRecordDecl *RD)
 Compute the value of the flags member in abi::__vmi_class_type_info.
static bool clang::CodeGenUtils::isIncompleteClassType (const RecordType *RecordTy)
 Returns whether the given record type is incomplete.
bool clang::CodeGenUtils::containsIncompleteClassType (QualType Ty)
 Returns whether the given type contains an incomplete class type.
unsigned clang::CodeGenUtils::extractPBaseFlags (const ASTContext &Ctx, QualType &Type)
 Compute the flags for a __pbase_type_info, and remove the corresponding pieces from Type.
static bool clang::CodeGenUtils::typeInfoIsInStandardLibrary (const BuiltinType *Ty)
 Given a builtin type, returns whether the type info for that type is defined in the standard library.
static bool clang::CodeGenUtils::typeInfoIsInStandardLibrary (const PointerType *PointerTy)
bool clang::CodeGenUtils::isStandardLibraryRTTIDescriptor (QualType Ty)
 Returns whether the type information for the given type exists in the standard library.

Macro Definition Documentation

◆ AMDGPU_TYPE

#define AMDGPU_TYPE ( Name,
Id,
SingletonId,
Width,
Align )
Value:
case BuiltinType::Id:

◆ BUILTIN_TYPE

#define BUILTIN_TYPE ( Id,
SingletonId )

◆ EXT_OPAQUE_TYPE

#define EXT_OPAQUE_TYPE ( ExtType,
Id,
Ext )
Value:
case BuiltinType::Id:

◆ HLSL_INTANGIBLE_TYPE

#define HLSL_INTANGIBLE_TYPE ( Name,
Id,
SingletonId )
Value:
case BuiltinType::Id:

◆ HLSL_PACKED_TYPE

#define HLSL_PACKED_TYPE ( Name,
Id,
SingletonId )
Value:
case BuiltinType::Id:

◆ IMAGE_TYPE

#define IMAGE_TYPE ( ImgType,
Id,
SingletonId,
Access,
Suffix )
Value:
case BuiltinType::Id:

◆ PLACEHOLDER_TYPE

#define PLACEHOLDER_TYPE ( Id,
SingletonId )
Value:
case BuiltinType::Id:

◆ PPC_VECTOR_TYPE

#define PPC_VECTOR_TYPE ( Name,
Id,
Size )
Value:
case BuiltinType::Id:

◆ RVV_TYPE

#define RVV_TYPE ( Name,
Id,
SingletonId )
Value:
case BuiltinType::Id:

◆ SPIRV_TYPE

#define SPIRV_TYPE ( Name,
Id,
SingletonId )
Value:
case BuiltinType::Id:

◆ SVE_TYPE

#define SVE_TYPE ( Name,
Id,
SingletonId )
Value:
case BuiltinType::Id:

◆ WASM_TYPE

#define WASM_TYPE ( Name,
Id,
SingletonId )
Value:
case BuiltinType::Id: