Skip to content

Commit 9001ea0

Browse files
authored
allow more statements in generate_precompile.jl (JuliaLang#49200)
1 parent a43b1ad commit 9001ea0

File tree

1 file changed

+0
-19
lines changed

1 file changed

+0
-19
lines changed

contrib/generate_precompile.jl

Lines changed: 0 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -479,16 +479,6 @@ generate_precompile_statements() = try # Make sure `ansi_enablecursor` is printe
479479
occursin("Main.", statement) && continue
480480
Base.in!(statement, statements) && continue
481481
# println(statement)
482-
# XXX: skip some that are broken. these are caused by issue #39902
483-
occursin("Tuple{Artifacts.var\"#@artifact_str\", LineNumberNode, Module, Any, Any}", statement) && continue
484-
occursin("Tuple{Base.Cartesian.var\"#@ncall\", LineNumberNode, Module, Int64, Any, Vararg{Any}}", statement) && continue
485-
occursin("Tuple{Base.Cartesian.var\"#@ncall\", LineNumberNode, Module, Int32, Any, Vararg{Any}}", statement) && continue
486-
occursin("Tuple{Base.Cartesian.var\"#@nloops\", LineNumberNode, Module, Any, Any, Any, Vararg{Any}}", statement) && continue
487-
occursin("Tuple{Core.var\"#@doc\", LineNumberNode, Module, Vararg{Any}}", statement) && continue
488-
# XXX: this is strange, as this isn't the correct representation of this
489-
occursin("typeof(Core.IntrinsicFunction)", statement) && continue
490-
# XXX: this is strange, as this method should not be getting compiled
491-
occursin(", Core.Compiler.AbstractInterpreter, ", statement) && continue
492482
try
493483
ps = Meta.parse(statement)
494484
if !isexpr(ps, :call)
@@ -499,15 +489,6 @@ generate_precompile_statements() = try # Make sure `ansi_enablecursor` is printe
499489
end
500490
popfirst!(ps.args) # precompile(...)
501491
ps.head = :tuple
502-
l = ps.args[end]
503-
if (isexpr(l, :tuple) || isexpr(l, :curly)) && length(l.args) > 0 # Tuple{...} or (...)
504-
# XXX: precompile doesn't currently handle overloaded Vararg arguments very well.
505-
# Replacing N with a large number works around it.
506-
l = l.args[end]
507-
if isexpr(l, :curly) && length(l.args) == 2 && l.args[1] === :Vararg # Vararg{T}
508-
push!(l.args, 100) # form Vararg{T, 100} instead
509-
end
510-
end
511492
# println(ps)
512493
ps = Core.eval(PrecompileStagingArea, ps)
513494
precompile(ps...)

0 commit comments

Comments
 (0)