Adjust llvm wrapper for unwinding support for inlineasm
This commit is contained in:
parent
940b2eabad
commit
491dd1f387
3 changed files with 6 additions and 2 deletions
|
@ -450,6 +450,7 @@ pub(crate) fn inline_asm_call(
|
|||
) -> Option<&'ll Value> {
|
||||
let volatile = if volatile { llvm::True } else { llvm::False };
|
||||
let alignstack = if alignstack { llvm::True } else { llvm::False };
|
||||
let can_throw = llvm::False;
|
||||
|
||||
let argtys = inputs
|
||||
.iter()
|
||||
|
@ -475,6 +476,7 @@ pub(crate) fn inline_asm_call(
|
|||
volatile,
|
||||
alignstack,
|
||||
llvm::AsmDialect::from_generic(dia),
|
||||
can_throw,
|
||||
);
|
||||
let call = bx.call(fty, v, inputs, None);
|
||||
|
||||
|
|
|
@ -1847,6 +1847,7 @@ extern "C" {
|
|||
SideEffects: Bool,
|
||||
AlignStack: Bool,
|
||||
Dialect: AsmDialect,
|
||||
CanThrow: Bool,
|
||||
) -> &Value;
|
||||
pub fn LLVMRustInlineAsmVerify(
|
||||
Ty: &Type,
|
||||
|
|
|
@ -445,11 +445,12 @@ extern "C" LLVMValueRef
|
|||
LLVMRustInlineAsm(LLVMTypeRef Ty, char *AsmString, size_t AsmStringLen,
|
||||
char *Constraints, size_t ConstraintsLen,
|
||||
LLVMBool HasSideEffects, LLVMBool IsAlignStack,
|
||||
LLVMRustAsmDialect Dialect) {
|
||||
LLVMRustAsmDialect Dialect, LLVMBool CanThrow) {
|
||||
return wrap(InlineAsm::get(unwrap<FunctionType>(Ty),
|
||||
StringRef(AsmString, AsmStringLen),
|
||||
StringRef(Constraints, ConstraintsLen),
|
||||
HasSideEffects, IsAlignStack, fromRust(Dialect)));
|
||||
HasSideEffects, IsAlignStack,
|
||||
fromRust(Dialect), CanThrow));
|
||||
}
|
||||
|
||||
extern "C" bool LLVMRustInlineAsmVerify(LLVMTypeRef Ty, char *Constraints,
|
||||
|
|
Loading…
Add table
Reference in a new issue