Skip to content

Commit

Permalink
Merge pull request #38466 from JuliaLang/tb/unexport_fenv
Browse files Browse the repository at this point in the history
Don't use floating-point environment methods from openlibm.
  • Loading branch information
maleadt committed Nov 19, 2020
2 parents 9d71363 + 3039e13 commit 18c759f
Show file tree
Hide file tree
Showing 68 changed files with 52 additions and 35 deletions.
4 changes: 2 additions & 2 deletions base/rounding.jl
Original file line number Diff line number Diff line change
Expand Up @@ -151,8 +151,8 @@ See [`RoundingMode`](@ref) for available modes.
"""
:rounding

setrounding_raw(::Type{<:Union{Float32,Float64}}, i::Integer) = ccall((:fesetround, Base.libm_name), Int32, (Int32,), i)
rounding_raw(::Type{<:Union{Float32,Float64}}) = ccall((:fegetround, Base.libm_name), Int32, ())
setrounding_raw(::Type{<:Union{Float32,Float64}}, i::Integer) = ccall(:jl_set_fenv_rounding, Int32, (Int32,), i)
rounding_raw(::Type{<:Union{Float32,Float64}}) = ccall(:jl_get_fenv_rounding, Int32, ())

rounding(::Type{T}) where {T<:Union{Float32,Float64}} = from_fenv(rounding_raw(T))

Expand Down
2 changes: 1 addition & 1 deletion deps/Versions.make
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ OPENBLAS_BB_REL = 0
LAPACK_VER = 3.9.0
SUITESPARSE_VER = 5.4.0
SUITESPARSE_BB_REL = 6
OPENLIBM_VER = 0.7.1
OPENLIBM_VER = 0.7.3
OPENLIBM_BB_REL = 0
UNWIND_VER = 1.3.1
UNWIND_BB_REL = 4
Expand Down

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

1 change: 0 additions & 1 deletion deps/checksums/OpenLibm.v0.7.1-0.i686-linux-gnu.tar.gz/md5

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
952aa82f7f68d2194f7d11d4350ffd72
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
21df2e0ef62ed0a8643da0a2e0433397c176b813cd65dad5edfc87949670cb5824c5885adc8d46356d85856ce6ce341c46e7b0ebb03cc196701d42412bbcd3e1
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
cacae0b3983eb8e826d81ce3075b70de
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
14cb022e4830089f74c842fb24eb3109aec1fca69063dc6eaa1189f36e2f9f66549832372920d1b31f68e2a2ab2cc2da6b266f06bb3fe2bf726ae05f87e4bd82
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
8573d2cb3449e027b4ccc26a8a4ec921
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
cc5ce6613ba3d91fc83ee063855e1866db6d294f9d3142097ad294848dc92965d5bc32194aea74850dd497ff10d3b61a1736cea0c26e99759940b72ea976b845
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
4299ab7e86ac68fd808c738a75eeec09
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
498a136258b7a09af92d1c97b0cbd90e1a660b170506e430edf836b334cfecaedc5b1925eac449ab662ced36757a191caef116a3ca06616155554190b4186598
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
5b4ec47298490ca651ff68c1c8b18228
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
1454bd5fb8b16f524681e452584abd4688a769e35403b86a106c52b7bd8f20dc3ee63e732b188a4e65f002b1dd547d26b5897864b4f384830e0d9f5203ba6c35
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
4f9860af01bf463d95a8d5fefce9e0b2
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
4fc4d9ba0831ab149762afd09fe92315370bb80961261dc7680a54dce53e8c6114de90ae0e893512dd67cccf345ef3713d6ec9c2426f726ef0b1d95dbbb8e852
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
72c137dc71bdd8a39229c7df73090aed
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
ac43b49865e9cc6fbc298e41e505a8c67c56ec89574540b30d48a8f84aa52d11318ea6d39e6437ee121e2d13efbdcd2ca683141f4e5fab169626e2872f80afe4
1 change: 1 addition & 0 deletions deps/checksums/OpenLibm.v0.7.3-0.i686-linux-gnu.tar.gz/md5
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
c4009c37047824c1ffee601d68dbe6a1
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
4b98c3ad95ee9b571e99f9c014623af3441dcc092ad348ecdc9a5a6fa6b8951da159b33991680cf58126209615bbf47f02691c3c99927e2e236c09801368b6cf
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
57100992a834cc72011db730d2565c84
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
28dd41f2b90239b432981734409a6834b06bd189e54fed4eeebf40c9264a392e4449110936192b2116b98aa3122b3896bdec7b8ad22bc4eaa5e12e4b2b231f1d
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
655ba5c08eedf6f24fbbf992adbe9bb0
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
660b73e5426c44522a90a56b972ee2506810c808874407567e0f92dbc9bd5d04f4ca907738053e2cec92ee69ad63cf2471baf258e20b1369fe96b363f21b28ab
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
14c034d365382369ee40a47a8d9e75ec
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
4d08990885e085475587309423d38bfc7f78d0e38f16a7d373159cded644a3761a2496d3b25300c04ee394a8e108a8df791366ad6dcf6154df1ba44b7f9f5ecf
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
6f0f23f859ebbb9e5c1c84fb6cddf4cf
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
07225ea47276a0ce539f39c1a9a5b924b27521e445db5ba7cbe1338c32fbc8854a40776b85ae9c0a47c6e5f245c42ed81d52cd2680c488a0dd006864f9ca8b92
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
472f1cf73a4d27a3d770a77fe781f24e
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
3b030ba7fc7ef5f5fa04a3928d954ff093a72f3875ef080e1960bbf704638bc94d666db07e43c1e9ba073d865c6831a02b9e855426a04a37b1d8aa827a56cce5
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
696312e71b4bf387857b95069e8dcba7
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
2175cfdc901adb0b7802dbe83a2ef0fea29c412a746594a9a535822f3379343d6379042525b5af5b67c304dc031f938f17a2aa5ed6ed319241e17b852898b5fe
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
19873569033a4c7e8c168247ac831f61
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
d72ac9326cc8b27ae3ba0a3209fc202cf2eb879fff88b0c44c0fe89e261d0d6d1aa1acf36956d82938935c5e235ff6b0703f179338646a03ee969997f862744b
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
e8b030a663a2bef5b8d0607c2d3dc13c
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
bab38a06d105a37c7b4ed4232942c3c9c0a4b21c4c6c7144e083f1a6a32cc7cabc6f418f7aa0633f6b8b9cd36739740e58a2274183c75f198fa72421bd032762

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
b54f86f9c6715460e16f289658e05395
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
de35efdef221591c1d1245f63743a016ba455607482bfa4bc7febcee75dd33d7b3ccdf1ced193c822e027c75019a62e4bfaa656753bd418f20b0d71bec1d4db9
4 changes: 2 additions & 2 deletions deps/openlibm.version
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
OPENLIBM_BRANCH=v0.7.1
OPENLIBM_SHA1=5a27b4c0c0a5befc2b7622ff8517743963c1f1d2
OPENLIBM_BRANCH=v0.7.3
OPENLIBM_SHA1=c8561015a4376352ece5c02677b19c1af0832300
13 changes: 13 additions & 0 deletions src/jlapi.c
Original file line number Diff line number Diff line change
Expand Up @@ -475,6 +475,19 @@ JL_DLLEXPORT void jl_get_fenv_consts(int *ret)
ret[8] = FE_TOWARDZERO;
}

// TODO: Windows binaries currently load msvcrt which doesn't have these C99 functions.
// the mingw compiler ships additional definitions, but only for use in C code.
// remove this when we switch to ucrt, make the version in openlibm portable,
// or figure out how to reexport the defs from libmingwex (see JuliaLang/julia#38466).
JL_DLLEXPORT int jl_get_fenv_rounding(void)
{
return fegetround();
}
JL_DLLEXPORT int jl_set_fenv_rounding(int i)
{
return fesetround(i);
}


#ifdef JL_ASAN_ENABLED
JL_DLLEXPORT const char* __asan_default_options()
Expand Down

0 comments on commit 18c759f

Please sign in to comment.