File tree Expand file tree Collapse file tree 2 files changed +4
-3
lines changed Expand file tree Collapse file tree 2 files changed +4
-3
lines changed Original file line number Diff line number Diff line change @@ -458,6 +458,6 @@ macro ccall(exprs...)
458
458
return ccall_macro_lower ((:ccall ), ccall_macro_parse (exprs)... )
459
459
end
460
460
461
- macro ccall_effects (effects:: UInt16 , expr )
462
- return ccall_macro_lower ((:ccall , effects), ccall_macro_parse (expr )... )
461
+ macro ccall_effects (effects:: UInt16 , exprs ... )
462
+ return ccall_macro_lower ((:ccall , effects), ccall_macro_parse (exprs )... )
463
463
end
Original file line number Diff line number Diff line change @@ -1970,14 +1970,15 @@ end
1970
1970
1971
1971
function gc_safe_ccall ()
1972
1972
# jl_rand is marked as JL_NOTSAFEPOINT
1973
- @ccall gc_safe= true jl_rand ():: UInt64
1973
+ Base . @assume_effects :nothrow @ccall gc_safe= true jl_rand ():: UInt64
1974
1974
end
1975
1975
1976
1976
let llvm = sprint (code_llvm, gc_safe_ccall, ())
1977
1977
# check that the call works
1978
1978
@test gc_safe_ccall () isa UInt64
1979
1979
# check for the gc_safe store
1980
1980
@test occursin (" store atomic i8 2" , llvm)
1981
+ @test Base. infer_effects (gc_safe_ccall, Tuple{}). nothrow == true
1981
1982
end
1982
1983
1983
1984
@testset " jl_dlfind and dlsym" begin
You can’t perform that action at this time.
0 commit comments