diff --git a/src/codeedges.jl b/src/codeedges.jl index 00a727b..10181c8 100644 --- a/src/codeedges.jl +++ b/src/codeedges.jl @@ -793,10 +793,10 @@ end # # [Wei84]: M. Weiser, "Program Slicing," IEEE Transactions on Software Engineering, 10, pages 352-357, July 1984. function add_control_flow!(isrequired, src::CodeInfo, cfg::CFG, postdomtree) - local changed::Bool = false + changed = Ref(false) function mark_isrequired!(idx::Int) if !isrequired[idx] - changed |= isrequired[idx] = true + changed[] |= isrequired[idx] = true return true end return false @@ -818,7 +818,7 @@ function add_control_flow!(isrequired, src::CodeInfo, cfg::CFG, postdomtree) end end end - return changed + return changed[] end is_conditional_terminator(@nospecialize stmt) = stmt isa GotoIfNot || diff --git a/test/runtests.jl b/test/runtests.jl index 9721a39..7b55c24 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -1,10 +1,14 @@ -using Test +using Test, LoweredCodeUtils # using LoweredCodeUtils # @testset "Ambiguity" begin # @test isempty(detect_ambiguities(LoweredCodeUtils, LoweredCodeUtils.JuliaInterpreter, Base, Core)) # end +if isdefined(Test, :detect_closure_boxes) + @test isempty(Test.detect_closure_boxes(LoweredCodeUtils)) +end + @testset "LoweredCodeUtils.jl" begin @testset "signatures.jl" include("signatures.jl") @testset "codeedges.jl" include("codeedges.jl")