clang 22.0.0git
|
#include "LoweringPrepareCXXABI.h"
#include "mlir/IR/BuiltinAttributes.h"
#include "mlir/IR/Value.h"
#include "mlir/IR/ValueRange.h"
#include "clang/Basic/TargetInfo.h"
#include "clang/CIR/Dialect/Builder/CIRBaseBuilder.h"
#include "clang/CIR/Dialect/IR/CIRAttrs.h"
#include "clang/CIR/Dialect/IR/CIRDataLayout.h"
#include "clang/CIR/Dialect/IR/CIRDialect.h"
#include "clang/CIR/MissingFeatures.h"
Go to the source code of this file.
Classes | |
class | LoweringPrepareItaniumCXXABI |
Functions | |
static void | buildBadCastCall (cir::CIRBaseBuilderTy &builder, mlir::Location loc, mlir::FlatSymbolRefAttr badCastFuncRef) |
static mlir::Value | buildDynamicCastAfterNullCheck (cir::CIRBaseBuilderTy &builder, cir::DynamicCastOp op) |
static mlir::Value | buildDynamicCastToVoidAfterNullCheck (cir::CIRBaseBuilderTy &builder, clang::ASTContext &astCtx, cir::DynamicCastOp op) |
|
static |
Definition at line 37 of file LoweringPrepareItaniumCXXABI.cpp.
References cir::CIRBaseBuilderTy::createCallOp(), and cir::MissingFeatures::opFuncNoReturn().
Referenced by buildDynamicCastAfterNullCheck().
|
static |
C++ [expr.dynamic.cast]p9: A failed cast to reference type throws std::bad_cast
Definition at line 48 of file LoweringPrepareItaniumCXXABI.cpp.
References cir::MissingFeatures::addressSpace(), buildBadCastCall(), cir::CIRBaseBuilderTy::createBitcast(), cir::CIRBaseBuilderTy::createCallOp(), cir::CIRBaseBuilderTy::createPtrIsNull(), cir::CIRBaseBuilderTy::getConstant(), and cir::CIRBaseBuilderTy::getVoidPtrTy().
Referenced by LoweringPrepareItaniumCXXABI::lowerDynamicCast().
|
static |
Definition at line 92 of file LoweringPrepareItaniumCXXABI.cpp.
Referenced by LoweringPrepareItaniumCXXABI::lowerDynamicCast().