diff --git a/contrib/juliac/juliac-buildscript.jl b/contrib/juliac/juliac-buildscript.jl index 80a3fd756bcd0..45d2cfc2ba4c2 100644 --- a/contrib/juliac/juliac-buildscript.jl +++ b/contrib/juliac/juliac-buildscript.jl @@ -34,6 +34,9 @@ import Base.Experimental.entrypoint # for use as C main if needed function _main(argc::Cint, argv::Ptr{Ptr{Cchar}})::Cint args = ccall(:jl_set_ARGS, Any, (Cint, Ptr{Ptr{Cchar}}), argc, argv)::Vector{String} + setglobal!(Base, :PROGRAM_FILE, args[1]) + popfirst!(args) + append!(Base.ARGS, args) return Main.main(args) end diff --git a/test/trimming/hello.jl b/test/trimming/hello.jl index 6d796f0190bba..a00a799ed02dd 100644 --- a/test/trimming/hello.jl +++ b/test/trimming/hello.jl @@ -17,6 +17,7 @@ sum_areas(v::Vector{Shape}) = sum(area, v) function @main(args::Vector{String})::Cint println(Core.stdout, str()) + println(Core.stdout, PROGRAM_FILE) foreach(x->println(Core.stdout, x), args) # test map/mapreduce; should work but relies on inlining and other optimizations