23 if (
cgm.getLangOpts().OpenMPIsTargetDevice &&
24 (triple.isNVPTX() || triple.isAMDGCN())) {
25 cgm.errorNYI(
"emitCXXThrowExpr OpenMP with NVPTX or AMDGCN Triples");
30 QualType throwType = subExpr->getType();
32 cgm.errorNYI(
"emitCXXThrowExpr ObjCObjectPointerType");
36 cgm.getCXXABI().emitThrow(*
this, e);
40 cgm.getCXXABI().emitRethrow(*
this,
true);
69 if (
s.getTryBlock()->body_empty())
70 return mlir::LogicalResult::success();
72 cgm.errorNYI(
"exitCXXTryStmt: CXXTryStmt with non-empty body");
73 return mlir::LogicalResult::success();
__device__ __2f16 float __ockl_bool s
Address withElementType(CIRGenBuilderTy &builder, mlir::Type ElemTy) const
Return address with different element type, a bitcast pointer, and the same alignment.
const TargetInfo & getTarget() const
void emitAnyExprToExn(const Expr *e, Address addr)
void emitAnyExprToMem(const Expr *e, Address location, Qualifiers quals, bool isInitializer)
Emits the code necessary to evaluate an arbitrary expression into the given memory location.
mlir::Type convertTypeForMem(QualType t)
mlir::LogicalResult emitCXXTryStmt(const clang::CXXTryStmt &s)
void emitCXXThrowExpr(const CXXThrowExpr *e)
A C++ throw-expression (C++ [except.throw]).
const Expr * getSubExpr() const
CXXTryStmt - A C++ try block, including all handlers.
This represents one expression.
A (possibly-)qualified type.
Qualifiers getQualifiers() const
Retrieve the set of qualifiers applied to this type.
const llvm::Triple & getTriple() const
Returns the target triple of the primary target.
bool isObjCObjectPointerType() const
The JSON file list parser is used to communicate input to InstallAPI.
static bool ehCleanupScope()