clang 24.0.0git
ItaniumCXXABIUtils.h File Reference

Go to the source code of this file.

Namespaces

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

Enumerations

enum  clang::CodeGenUtils::PointerTypeInfoFlags {
  clang::CodeGenUtils::PTI_Const = 0x1 , clang::CodeGenUtils::PTI_Volatile = 0x2 , clang::CodeGenUtils::PTI_Restrict = 0x4 , clang::CodeGenUtils::PTI_Incomplete = 0x8 ,
  clang::CodeGenUtils::PTI_ContainingClassIncomplete = 0x10 , clang::CodeGenUtils::PTI_Noexcept = 0x40
}
 Flags for abi::__pbase_type_info. More...
enum  clang::CodeGenUtils::VMIClassTypeInfoFlags { clang::CodeGenUtils::VMI_NonDiamondRepeat = 0x1 , clang::CodeGenUtils::VMI_DiamondShaped = 0x2 }
 Flags for abi::__vmi_class_type_info. More...
enum  clang::CodeGenUtils::BaseClassTypeInfoFlags { clang::CodeGenUtils::BCTI_Virtual = 0x1 , clang::CodeGenUtils::BCTI_Public = 0x2 }
 Flags for abi::__base_class_type_info. More...

Functions

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.
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].
unsigned clang::CodeGenUtils::computeVMIClassTypeInfoFlags (const CXXRecordDecl *RD)
 Compute the value of the flags member in abi::__vmi_class_type_info.
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.