From bda6a96b4006c175573bc53d60f95ac75c0b9bd9 Mon Sep 17 00:00:00 2001 From: oscarddssmith Date: Wed, 9 Feb 2022 14:41:21 -0500 Subject: [PATCH 1/3] actually add the atributes --- src/codegen.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/codegen.cpp b/src/codegen.cpp index c754e7039b72b..1175b92b01280 100644 --- a/src/codegen.cpp +++ b/src/codegen.cpp @@ -476,9 +476,9 @@ static AttributeList get_func_attrs(LLVMContext &C) static AttributeList get_donotdelete_func_attrs(LLVMContext &C) { AttributeSet FnAttrs = AttributeSet::get(C, makeArrayRef({Attribute::get(C, "thunk")})); - FnAttrs.addAttribute(C, Attribute::InaccessibleMemOnly); - FnAttrs.addAttribute(C, Attribute::WillReturn); - FnAttrs.addAttribute(C, Attribute::NoUnwind); + FnAttrs = FnAttrs.addAttribute(C, Attribute::InaccessibleMemOnly); + FnAttrs = FnAttrs.addAttribute(C, Attribute::WillReturn); + FnAttrs = FnAttrs.addAttribute(C, Attribute::NoUnwind); return AttributeList::get(C, FnAttrs, Attributes(C, {Attribute::NonNull}), From dfc99411907c58d3be56096faf6a879f1fb7b565 Mon Sep 17 00:00:00 2001 From: oscarddssmith Date: Wed, 9 Feb 2022 14:55:57 -0500 Subject: [PATCH 2/3] fix windows CI failure? --- src/codegen.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/codegen.cpp b/src/codegen.cpp index 1175b92b01280..d88996d8133b6 100644 --- a/src/codegen.cpp +++ b/src/codegen.cpp @@ -3480,7 +3480,7 @@ static bool emit_builtin_call(jl_codectx_t &ctx, jl_cgval_t *ret, jl_value_t *f, // For now we emit this as a vararg call to the builtin // (which doesn't look at the arguments). In the future, // this should be an LLVM builtin. - auto it = builtin_func_map.find(jl_f_donotdelete); + auto it = builtin_func_map.find(jl_f_donotdelete_addr); if (it == builtin_func_map.end()) { return false; } @@ -3494,7 +3494,7 @@ static bool emit_builtin_call(jl_codectx_t &ctx, jl_cgval_t *ret, jl_value_t *f, const jl_cgval_t &obj = argv[i]; if (obj.V) { // TODO is this strong enough to constitute a read of any contained - // pointers? + // pointers?W Value *V = obj.V; if (obj.isboxed) { V = emit_pointer_from_objref(ctx, V); From 6f74237de53edc65aa6599bbf41f20339d9e91ec Mon Sep 17 00:00:00 2001 From: oscarddssmith Date: Wed, 9 Feb 2022 15:00:45 -0500 Subject: [PATCH 3/3] typo --- src/codegen.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/codegen.cpp b/src/codegen.cpp index d88996d8133b6..4d71a9802658b 100644 --- a/src/codegen.cpp +++ b/src/codegen.cpp @@ -3494,7 +3494,7 @@ static bool emit_builtin_call(jl_codectx_t &ctx, jl_cgval_t *ret, jl_value_t *f, const jl_cgval_t &obj = argv[i]; if (obj.V) { // TODO is this strong enough to constitute a read of any contained - // pointers?W + // pointers? Value *V = obj.V; if (obj.isboxed) { V = emit_pointer_from_objref(ctx, V);