clang 24.0.0git
CIRGenRecordLayoutBuilder.cpp File Reference
#include "CIRGenBuilder.h"
#include "CIRGenModule.h"
#include "CIRGenTypes.h"
#include "TargetInfo.h"
#include "clang/AST/ASTContext.h"
#include "clang/AST/Decl.h"
#include "clang/AST/DeclCXX.h"
#include "clang/AST/RecordLayout.h"
#include "clang/CIR/Dialect/IR/CIRAttrs.h"
#include "clang/CIR/Dialect/IR/CIRDataLayout.h"
#include "clang/CIR/MissingFeatures.h"
#include "llvm/Support/Casting.h"
#include <memory>

Go to the source code of this file.

Functions

static cir::ArgPassingKind convertRecordArgPassingKind (RecordArgPassingKind kind)
static bool marksMatchABIEmptiness (const ASTContext &astContext, const RecordDecl *rd, cir::RecordType recordTy)
 Whether the member kinds on recordTy answer the record's ABI emptiness the same way the AST predicate does.

Function Documentation

◆ convertRecordArgPassingKind()

cir::ArgPassingKind convertRecordArgPassingKind ( RecordArgPassingKind kind)
static

◆ marksMatchABIEmptiness()

bool marksMatchABIEmptiness ( const ASTContext & astContext,
const RecordDecl * rd,
cir::RecordType recordTy )
static

Whether the member kinds on recordTy answer the record's ABI emptiness the same way the AST predicate does.

Definition at line 776 of file CIRGenRecordLayoutBuilder.cpp.

References clang::ASTContext::getCanonicalTagType(), cir::RecordType::isEmptyForABI(), and clang::CIRGen::isEmptyRecordForABI().

Referenced by clang::CIRGen::CIRGenTypes::computeRecordLayout().