Skip to content

Commit

Permalink
Harmonize and add docs for --math-mode
Browse files Browse the repository at this point in the history
The behavior was changed and the CLI doc was removed
in JuliaLang#41638, though we current still allow users to
selectively use the `@fastmath` macro.
This adds back the CLI docs and makes a minor
clarification about behavior.
  • Loading branch information
sjkelly committed Mar 22, 2024
1 parent 9145571 commit 0f4b0bb
Show file tree
Hide file tree
Showing 7 changed files with 539 additions and 1 deletion.
2 changes: 1 addition & 1 deletion doc/src/manual/command-line-interface.md
Original file line number Diff line number Diff line change
Expand Up @@ -195,7 +195,7 @@ The following is a complete list of command-line switches available when launchi
|`-g`, `--debug-info={0,1*,2}` |Set the level of debug info generation (level is 2 if `-g` is used without a level) ($)|
|`--inline={yes\|no}` |Control whether inlining is permitted, including overriding `@inline` declarations|
|`--check-bounds={yes\|no\|auto*}` |Emit bounds checks always, never, or respect `@inbounds` declarations ($)|
|`--math-mode={ieee,fast}` |Disallow or enable unsafe floating point optimizations (overrides `@fastmath` declaration)|
|`--math-mode={ieee,user}` |Disallow or allow unsafe floating point optimizations (overrides `@fastmath` declaration)|
|`--code-coverage[={none*\|user\|all}]` |Count executions of source lines (omitting setting is equivalent to `user`)|
|`--code-coverage=@<path>` |Count executions but only in files that fall under the given file path/directory. The `@` prefix is required to select this option. A `@` with no path will track the current directory.|
|`--code-coverage=tracefile.info` |Append coverage information to the LCOV tracefile (filename supports format tokens).|
Expand Down
114 changes: 114 additions & 0 deletions precomp_compile_all.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,114 @@
precompile(Tuple{typeof(Base.repeat), Char, Int64})
precompile(Tuple{typeof(Base.TOML.try_return_datetime), Base.TOML.Parser, Vararg{Int64, 7}})
precompile(Tuple{Type{Dates.DateTime}, Vararg{Int64, 7}})
precompile(Tuple{typeof(Base.map), Function, Array{Any, 1}})
precompile(Tuple{Type{Array{Dates.DateTime, 1}}, UndefInitializer, Tuple{Int64}})
precompile(Tuple{typeof(Base.maximum), Array{Dates.DateTime, 1}})
precompile(Tuple{Type{Pair{A, B} where B where A}, String, Dates.DateTime})
precompile(Tuple{typeof(Base.map), Function, Array{Base.Dict{String, Dates.DateTime}, 1}})
precompile(Tuple{typeof(TOML.Internals.Printer.is_array_of_tables), Array{Base.Dict{String, Dates.DateTime}, 1}})
precompile(Tuple{typeof(Core.kwcall), NamedTuple{(:indent, :sorted, :by, :inline_tables), Tuple{Int64, Bool, typeof(Base.identity), Base.IdSet{Base.Dict{String, V} where V}}}, typeof(Base.invokelatest), Any, Any, Vararg{Any}})
precompile(Tuple{Base.var"##invokelatest#2", Base.Pairs{Symbol, Any, NTuple{4, Symbol}, NamedTuple{(:indent, :sorted, :by, :inline_tables), Tuple{Int64, Bool, typeof(Base.identity), Base.IdSet{Base.Dict{String, V} where V}}}}, typeof(Base.invokelatest), Any, Any, Vararg{Any}})
precompile(Tuple{typeof(Core.kwcall), NamedTuple{(:indent, :sorted, :by, :inline_tables), Tuple{Int64, Bool, typeof(Base.identity), Base.IdSet{Base.Dict{String, V} where V}}}, typeof(TOML.Internals.Printer.print_table), Nothing, Base.IOStream, Base.Dict{String, Dates.DateTime}, Array{String, 1}})
precompile(Tuple{typeof(Base.deepcopy_internal), Base.Dict{String, Base.UUID}, Base.IdDict{Any, Any}})
precompile(Tuple{typeof(Base.deepcopy_internal), Base.Dict{String, Union{Array{String, 1}, String}}, Base.IdDict{Any, Any}})
precompile(Tuple{typeof(Base.deepcopy_internal), Base.Dict{String, Array{String, 1}}, Base.IdDict{Any, Any}})
precompile(Tuple{typeof(Base.deepcopy_internal), Base.Dict{String, Base.Dict{String, String}}, Base.IdDict{Any, Any}})
precompile(Tuple{typeof(Base.deepcopy_internal), Tuple{String}, Base.IdDict{Any, Any}})
precompile(Tuple{typeof(Pkg.API.add), String})
precompile(Tuple{typeof(Base.unsafe_read), Base.PipeEndpoint, Ptr{UInt8}, UInt64})
precompile(Tuple{typeof(Base.readbytes!), Base.PipeEndpoint, Array{UInt8, 1}, Int64})
precompile(Tuple{Base.var"#910#913"{Base.Process}})
precompile(Tuple{typeof(Base.uv_shutdowncb_task), Ptr{Nothing}, Int32})
precompile(Tuple{typeof(Base.closewrite), Base.PipeEndpoint})
precompile(Tuple{Type{Memory{Pkg.Types.PackageSpec}}, UndefInitializer, Int64})
precompile(Tuple{typeof(Base.pairs), NamedTuple{(:stale_age,), Tuple{Int64}}})
precompile(Tuple{typeof(Base.merge), NamedTuple{(), Tuple{}}, Base.Pairs{Symbol, Int64, Tuple{Symbol}, NamedTuple{(:stale_age,), Tuple{Int64}}}})
precompile(Tuple{typeof(Core.kwcall), NamedTuple{(:io, :update_cooldown), Tuple{Pkg.UnstableIO, Dates.Day}}, typeof(Pkg.Registry.update)})
precompile(Tuple{FileWatching.Pidfile.var"##mkpidlock#7", Base.Pairs{Symbol, Int64, Tuple{Symbol}, NamedTuple{(:stale_age,), Tuple{Int64}}}, typeof(FileWatching.Pidfile.mkpidlock), Pkg.Registry.var"#75#80"{Pkg.UnstableIO, Dates.Day, Base.Dict{String, Any}, String, Array{Pkg.Registry.RegistryInstance, 1}}, String, Int32})
precompile(Tuple{typeof(Base.join), Base.GenericIOBuffer{Memory{UInt8}}, Array{Char, 1}})
precompile(Tuple{Downloads.var"#13#22"{Downloads.Curl.Easy, Downloads.var"#24#27"{Pkg.PlatformEngines.var"#17#19"}}})
precompile(Tuple{typeof(Base.convert), Type{Any}, Any})
precompile(Tuple{Base.Experimental.var"#1#2"{Base.Channel{Any}, Task}})
precompile(Tuple{Downloads.Curl.var"#58#65"{Int32, FileWatching.FDWatcher, Downloads.Curl.Multi}})
precompile(Tuple{typeof(Base._str_sizehint), Base.SubString{String}})
precompile(Tuple{typeof(Base.print), Base.GenericIOBuffer{Memory{UInt8}}, Base.SHA1})
precompile(Tuple{typeof(Base.ident_cmp), Tuple{String, UInt64}, Tuple{String, UInt64}})
precompile(Tuple{typeof(Base.similar), Array{String, 1}})
precompile(Tuple{typeof(Base.Iterators.enumerate), Array{String, 1}})
precompile(Tuple{typeof(Base.setindex!), Array{String, 1}, String, Int64})
precompile(Tuple{typeof(Base.convert), Type{Base.Dict{String, Union{Array{String, 1}, String}}}, Base.Dict{String, Any}})
precompile(Tuple{typeof(Base.hash), Tuple{UInt64}, UInt64})
precompile(Tuple{typeof(Base.ident_cmp), Tuple{UInt64}, Tuple{UInt64}})
precompile(Tuple{typeof(Base.close), FileWatching.FDWatcher})
precompile(Tuple{typeof(Base.hash), Tuple{String, UInt64}, UInt64})
precompile(Tuple{Type{Base.VersionNumber}, UInt32, UInt32, UInt32, Tuple{UInt64}, Tuple{UInt64}})
precompile(Tuple{typeof(Base.hash), Tuple{String}, UInt64})
precompile(Tuple{typeof(Core.kwcall), NamedTuple{(:context,), Tuple{Base.TTY}}, typeof(Base.sprint), Function, Tuple{Pkg.Versions.VersionSpec}})
precompile(Tuple{typeof(Core.kwcall), NamedTuple{(:context,), Tuple{Base.TTY}}, typeof(Base.sprint), Function, Tuple{String}})
precompile(Tuple{typeof(Base.ident_cmp), Tuple{String}, Tuple{String}})
precompile(Tuple{typeof(Core.kwcall), NamedTuple{(:context,), Tuple{Base.TTY}}, typeof(Base.sprint), Function, Tuple{Base.VersionNumber}})
precompile(Tuple{typeof(Base.join), Base.IOContext{Base.GenericIOBuffer{Memory{UInt8}}}, Tuple{String, UInt64}, Char})
precompile(Tuple{typeof(Base.length), Array{Int64, 1}})
precompile(Tuple{typeof(Base.length), Base.BitArray{1}})
precompile(Tuple{typeof(Base.length), Array{Base.UUID, 1}})
precompile(Tuple{typeof(Base.join), Base.IOContext{Base.GenericIOBuffer{Memory{UInt8}}}, Tuple{UInt64}, Char})
precompile(Tuple{typeof(Base.vcat), Base.BitArray{2}, Base.BitArray{2}, Base.BitArray{2}, Vararg{Base.BitArray{2}}})
precompile(Tuple{typeof(Base.vcat), Base.BitArray{2}, Base.BitArray{2}})
precompile(Tuple{typeof(Base.iterate), Base.Generator{Base.Iterators.Filter{Pkg.Resolve.var"#86#88"{Array{Int64, 1}, Base.BitArray{1}}, Base.UnitRange{Int64}}, Pkg.Resolve.var"#85#87"{Array{Base.BitArray{2}, 1}, Array{Int64, 1}, Array{Base.BitArray{1}, 1}, Int64}}})
precompile(Tuple{typeof(Base.iterate), Base.Generator{Base.Iterators.Filter{Pkg.Resolve.var"#86#88"{Array{Int64, 1}, Base.BitArray{1}}, Base.UnitRange{Int64}}, Pkg.Resolve.var"#85#87"{Array{Base.BitArray{2}, 1}, Array{Int64, 1}, Array{Base.BitArray{1}, 1}, Int64}}, Int64})
precompile(Tuple{typeof(Base.vcat), Base.BitArray{1}, Base.BitArray{1}})
precompile(Tuple{typeof(Base.vcat), Base.BitArray{1}, Base.BitArray{1}, Base.BitArray{1}, Vararg{Base.BitArray{1}}})
precompile(Tuple{typeof(Base.vcat), Base.BitArray{1}})
precompile(Tuple{typeof(Pkg.Versions.hyphen_interval), Base.RegexMatch{String}})
precompile(Tuple{typeof(Base.setindex!), Base.Dict{String, Union{Array{String, 1}, String}}, Array{String, 1}, String})
precompile(Tuple{typeof(Core.kwcall), NamedTuple{(:verbose, :quiet_download, :io), Tuple{Bool, Bool, Pkg.UnstableIO}}, typeof(Pkg.Artifacts.ensure_artifact_installed), String, Base.Dict{String, Any}, String})
precompile(Tuple{typeof(Base.:(==)), Base.Dict{String, Any}, Base.Dict{String, Any}})
precompile(Tuple{typeof(Base.values), Base.Dict{String, Base.UUID}})
precompile(Tuple{typeof(Base.isempty), Base.Dict{String, Base.UUID}})
precompile(Tuple{Type{Base.Generator{I, F} where F where I}, TOML.Internals.Printer.var"#4#6", Base.ValueIterator{Base.Dict{String, Base.UUID}}})
precompile(Tuple{typeof(Base.all), Base.Generator{Base.ValueIterator{Base.Dict{String, Base.UUID}}, TOML.Internals.Printer.var"#4#6"}})
precompile(Tuple{typeof(Base.push!), Array{Base.Dict{String, Any}, 1}, Base.Dict{String, Any}})
precompile(Tuple{Pkg.Types.var"#entry!#43"{Pkg.Types.var"#entry!#40#44"}, Base.Dict{String, Any}, String, Base.Dict{String, Union{Array{String, 1}, String}}})
precompile(Tuple{typeof(Base.join), Base.GenericIOBuffer{Memory{UInt8}}, Tuple{String}, Char})
precompile(Tuple{typeof(Base.values), Base.Dict{String, Array{Base.Dict{String, Any}, 1}}})
precompile(Tuple{Type{Base.Generator{I, F} where F where I}, TOML.Internals.Printer.var"#4#6", Base.ValueIterator{Base.Dict{String, Array{Base.Dict{String, Any}, 1}}}})
precompile(Tuple{typeof(Base.all), Base.Generator{Base.ValueIterator{Base.Dict{String, Array{Base.Dict{String, Any}, 1}}}, TOML.Internals.Printer.var"#4#6"}})
precompile(Tuple{typeof(TOML.Internals.Printer.is_array_of_tables), Array{Base.Dict{String, Any}, 1}})
precompile(Tuple{Type{Base.Generator{I, F} where F where I}, TOML.Internals.Printer.var"#5#7"{Base.IdSet{Base.Dict{String, V} where V}}, Base.ValueIterator{Base.Dict{String, Array{Base.Dict{String, Any}, 1}}}})
precompile(Tuple{typeof(Base.any), Base.Generator{Base.ValueIterator{Base.Dict{String, Array{Base.Dict{String, Any}, 1}}}, TOML.Internals.Printer.var"#5#7"{Base.IdSet{Base.Dict{String, V} where V}}}})
precompile(Tuple{typeof(Core.kwcall), NamedTuple{(:indent, :first_block, :sorted, :by, :inline_tables), Tuple{Int64, Bool, Bool, typeof(Base.identity), Base.IdSet{Base.Dict{String, V} where V}}}, typeof(Base.invokelatest), Any, Any, Vararg{Any}})
precompile(Tuple{Base.var"##invokelatest#2", Base.Pairs{Symbol, Any, NTuple{5, Symbol}, NamedTuple{(:indent, :first_block, :sorted, :by, :inline_tables), Tuple{Int64, Bool, Bool, typeof(Base.identity), Base.IdSet{Base.Dict{String, V} where V}}}}, typeof(Base.invokelatest), Any, Any, Vararg{Any}})
precompile(Tuple{typeof(TOML.Internals.Printer.is_tabular), Array{String, 1}})
precompile(Tuple{typeof(TOML.Internals.Printer.is_array_of_tables), Array{String, 1}})
precompile(Tuple{typeof(Base.join), Base.GenericIOBuffer{Memory{UInt8}}, Tuple{UInt64}, Char})
precompile(Tuple{typeof(Base.values), Base.Dict{String, Union{Array{String, 1}, String}}})
precompile(Tuple{typeof(Base.isempty), Base.Dict{String, Union{Array{String, 1}, String}}})
precompile(Tuple{Type{Base.Generator{I, F} where F where I}, TOML.Internals.Printer.var"#4#6", Base.ValueIterator{Base.Dict{String, Union{Array{String, 1}, String}}}})
precompile(Tuple{typeof(Base.all), Base.Generator{Base.ValueIterator{Base.Dict{String, Union{Array{String, 1}, String}}}, TOML.Internals.Printer.var"#4#6"}})
precompile(Tuple{TOML.Internals.Printer.var"#4#6", String})
precompile(Tuple{typeof(Core.kwcall), NamedTuple{(:indent, :first_block, :sorted, :by, :inline_tables), Tuple{Int64, Bool, Bool, typeof(Base.identity), Base.IdSet{Base.Dict{String, V} where V}}}, typeof(TOML.Internals.Printer.print_table), Pkg.Types.var"#47#48", Base.GenericIOBuffer{Memory{UInt8}}, Base.Dict{String, Union{Array{String, 1}, String}}, Array{String, 1}})
precompile(Tuple{typeof(Base.isempty), Base.Dict{String, String}})
precompile(Tuple{Type{Base.Generator{I, F} where F where I}, TOML.Internals.Printer.var"#4#6", Base.ValueIterator{Base.Dict{String, String}}})
precompile(Tuple{typeof(Base.all), Base.Generator{Base.ValueIterator{Base.Dict{String, String}}, TOML.Internals.Printer.var"#4#6"}})
precompile(Tuple{typeof(Core.kwcall), NamedTuple{(:indent, :first_block, :sorted, :by, :inline_tables), Tuple{Int64, Bool, Bool, typeof(Base.identity), Base.IdSet{Base.Dict{String, V} where V}}}, typeof(TOML.Internals.Printer.print_table), Pkg.Types.var"#47#48", Base.GenericIOBuffer{Memory{UInt8}}, Base.Dict{String, String}, Array{String, 1}})
precompile(Tuple{typeof(Base.similar), Array{Any, 1}})
precompile(Tuple{typeof(Base.Iterators.enumerate), Array{Any, 1}})
precompile(Tuple{Type{Memory{String}}, UndefInitializer, Int64})
precompile(Tuple{typeof(Core.kwcall), NamedTuple{(:color,), Tuple{Symbol}}, typeof(Base.printstyled), Base.IOContext{Base.GenericIOBuffer{Memory{UInt8}}}, Char})
precompile(Tuple{typeof(Base.print), Base.IOContext{Base.GenericIOBuffer{Memory{UInt8}}}, Char})
precompile(Tuple{typeof(Base.Order.lt), Base.Order.Lt{Base.Sort.var"#30#31"{Base.Order.By{Pkg.Operations.var"#158#165", Base.Order.ForwardOrdering}}}, Tuple{Base.UUID, Nothing, Pkg.Types.PackageSpec}, Tuple{Base.UUID, Nothing, Pkg.Types.PackageSpec}})
precompile(Tuple{typeof(Base.issorted), Array{String, 1}, Base.Order.ReverseOrdering{Base.Order.ForwardOrdering}})
precompile(Tuple{typeof(Pkg.MiniProgressBars.start_progress), Pkg.UnstableIO, Pkg.MiniProgressBars.MiniProgressBar})
precompile(Tuple{typeof(Pkg.MiniProgressBars.end_progress), Pkg.UnstableIO, Pkg.MiniProgressBars.MiniProgressBar})
precompile(Tuple{typeof(Core.kwcall), NamedTuple{(:internal_call, :strict, :warn_loaded, :timing, :_from_loading, :configs, :io), Tuple{Bool, Bool, Bool, Bool, Bool, Pair{Base.Cmd, Base.CacheFlags}, Base.TTY}}, typeof(Base.Precompilation.precompilepkgs), Array{String, 1}})
precompile(Tuple{Base.BottomRF{typeof(Base.:(+))}, Base._InitialValue, Int64})
precompile(Tuple{typeof(Base.:(==)), Base.IndexLinear, Base.IndexLinear})
precompile(Tuple{Type{NamedTuple{(:inverse,), T} where T<:Tuple}, Tuple{Bool}})
precompile(Tuple{Base.Precompilation.var"#18#52"{Bool, Array{Pair{Base.Cmd, Base.CacheFlags}, 1}, Bool, Base.Dict{Tuple{Base.PkgId, Pair{Base.Cmd, Base.CacheFlags}}, String}, Base.Set{Tuple{Base.PkgId, Pair{Base.Cmd, Base.CacheFlags}}}, String, String, String, String, Base.Precompilation.var"#ansi_moveup#44", Base.Event, Base.Event, Base.ReentrantLock, Array{Tuple{Base.PkgId, Pair{Base.Cmd, Base.CacheFlags}}, 1}, Base.Dict{Tuple{Base.PkgId, Pair{Base.Cmd, Base.CacheFlags}}, String}, Array{Tuple{Base.PkgId, Pair{Base.Cmd, Base.CacheFlags}}, 1}, Base.Dict{Tuple{Base.PkgId, Pair{Base.Cmd, Base.CacheFlags}}, Bool}, Base.Dict{Tuple{Base.PkgId, Pair{Base.Cmd, Base.CacheFlags}}, Bool}, Base.Dict{Base.PkgId, Array{Base.PkgId, 1}}, Base.Dict{Base.PkgId, String}, Array{Base.PkgId, 1}, Base.Precompilation.var"#color_string#35"{Bool}}})
precompile(Tuple{Base.Precompilation.var"#24#58"{Bool, Bool, Array{Task, 1}, Base.Dict{Tuple{Base.PkgId, Pair{Base.Cmd, Base.CacheFlags}}, String}, Base.Dict{Tuple{Base.PkgId, Pair{Base.Cmd, Base.CacheFlags}}, String}, Base.Event, Base.Event, Base.ReentrantLock, Array{Tuple{Base.PkgId, Pair{Base.Cmd, Base.CacheFlags}}, 1}, Base.Dict{Tuple{Base.PkgId, Pair{Base.Cmd, Base.CacheFlags}}, String}, Array{Tuple{Base.PkgId, Pair{Base.Cmd, Base.CacheFlags}}, 1}, Array{Base.PkgId, 1}, Base.Dict{Tuple{Base.PkgId, Pair{Base.Cmd, Base.CacheFlags}}, Bool}, Base.Dict{Tuple{Base.PkgId, Pair{Base.Cmd, Base.CacheFlags}}, Base.Event}, Base.Dict{Tuple{Base.PkgId, Pair{Base.Cmd, Base.CacheFlags}}, Bool}, Base.Dict{Base.PkgId, String}, Base.Dict{Tuple{Base.PkgId, UInt128, String, String}, Bool}, Array{Base.PkgId, 1}, Base.Precompilation.var"#color_string#35"{Bool}, Bool, Base.Semaphore, Bool, String, Array{String, 1}, Array{Base.PkgId, 1}, Base.PkgId, Base.CacheFlags, Base.Cmd, Pair{Base.Cmd, Base.CacheFlags}, Tuple{Base.PkgId, Pair{Base.Cmd, Base.CacheFlags}}}})
precompile(Tuple{typeof(Base.sizeof), Symbol})
precompile(Tuple{typeof(Pkg.API.rm), String})
precompile(Tuple{Pkg.API.var"##rm#37", Pkg.UnstableIO, Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}}, typeof(Pkg.API.rm), Array{Pkg.Types.PackageSpec, 1}})
precompile(Tuple{typeof(Core.kwcall), NamedTuple{(:io,), Tuple{Pkg.UnstableIO}}, typeof(Pkg.API.rm), Pkg.Types.Context, Array{Pkg.Types.PackageSpec, 1}})
precompile(Tuple{typeof(Base.Order.lt), Base.Order.Lt{Base.Sort.var"#30#31"{Base.Order.By{Pkg.Operations.var"#158#165", Base.Order.ForwardOrdering}}}, Tuple{Base.UUID, Pkg.Types.PackageSpec, Nothing}, Tuple{Base.UUID, Pkg.Types.PackageSpec, Nothing}})
Loading

0 comments on commit 0f4b0bb

Please sign in to comment.