本文整理汇总了C++中DIBuilder::createExpression方法的典型用法代码示例。如果您正苦于以下问题:C++ DIBuilder::createExpression方法的具体用法?C++ DIBuilder::createExpression怎么用?C++ DIBuilder::createExpression使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类DIBuilder
的用法示例。
在下文中一共展示了DIBuilder::createExpression方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: NewValueObj
int
BuildDbgValue(
ClientData clientData,
Tcl_Interp *interp,
int objc,
Tcl_Obj *const objv[])
{
if (objc != 6) {
Tcl_WrongNumArgs(interp, 1, objv,
"dibuilder builder value location variableInfo");
return TCL_ERROR;
}
DIBuilder *builder;
if (GetDIBuilderFromObj(interp, objv[1], builder) != TCL_OK)
return TCL_ERROR;
IRBuilder<> *b;
if (GetBuilderFromObj(interp, objv[2], b) != TCL_OK)
return TCL_ERROR;
Value *val;
if (GetValueFromObj(interp, objv[3], val) != TCL_OK)
return TCL_ERROR;
DILocation *location;
if (GetMetadataFromObj(interp, objv[4], "location", location) != TCL_OK)
return TCL_ERROR;
DILocalVariable *varInfo;
if (GetMetadataFromObj(interp, objv[5], "variable", varInfo) != TCL_OK)
return TCL_ERROR;
auto expr = builder->createExpression(); // Dummy
auto inst = builder->insertDbgValueIntrinsic(val, 0, varInfo, expr,
location, b->GetInsertBlock());
Tcl_SetObjResult(interp, NewValueObj(inst));
return TCL_OK;
}
示例2: LLVMDIBuilderCreateExpression
LLVMMetadataRef LLVMDIBuilderCreateExpression(LLVMDIBuilderRef Dref,
int64_t *Addr, size_t Length) {
DIBuilder *D = unwrap(Dref);
return wrap(D->createExpression(ArrayRef<int64_t>(Addr, Length)));
}
示例3: LLVMDIBuilderCreateExpression
LLVMValueRef LLVMDIBuilderCreateExpression(LLVMDIBuilderRef Dref, int64_t *Addr,
size_t Length) {
DIBuilder *D = unwrap(Dref);
DIExpression Expr = D->createExpression(ArrayRef<int64_t>(Addr, Length));
return wrap(Expr);
}