clang 22.0.0git
CIRGenClass.cpp File Reference

Go to the source code of this file.

Functions

static void emitLValueForAnyFieldInitialization (CIRGenFunction &cgf, CXXCtorInitializer *memberInit, LValue &lhs)
static void emitMemberInitializer (CIRGenFunction &cgf, const CXXRecordDecl *classDecl, CXXCtorInitializer *memberInit, const CXXConstructorDecl *constructor, FunctionArgList &args)
static bool isInitializerOfDynamicClass (const CXXCtorInitializer *baseInit)
static bool baseInitializerUsesThis (ASTContext &c, const Expr *init)
static Address applyNonVirtualAndVirtualOffset (mlir::Location loc, CIRGenFunction &cgf, Address addr, CharUnits nonVirtualOffset, mlir::Value virtualOffset, const CXXRecordDecl *derivedClass, const CXXRecordDecl *nearestVBase, mlir::Type baseValueTy={}, bool assumeNotNull=true)

Function Documentation

◆ applyNonVirtualAndVirtualOffset()

Address applyNonVirtualAndVirtualOffset ( mlir::Location loc,
CIRGenFunction & cgf,
Address addr,
CharUnits nonVirtualOffset,
mlir::Value virtualOffset,
const CXXRecordDecl * derivedClass,
const CXXRecordDecl * nearestVBase,
mlir::Type baseValueTy = {},
bool assumeNotNull = true )
static

◆ baseInitializerUsesThis()

bool baseInitializerUsesThis ( ASTContext & c,
const Expr * init )
static

Definition at line 148 of file CIRGenClass.cpp.

References c.

Referenced by clang::CIRGen::CIRGenFunction::emitBaseInitializer().

◆ emitLValueForAnyFieldInitialization()

◆ emitMemberInitializer()

◆ isInitializerOfDynamicClass()