bors
215a08d624
Auto merge of #192 - est31:master, r=alexcrichton
...
Refactor float implementation
Refactors the float implementation. Fixes #169 . Parts of the PR were inspired a previous PR by @mattico .
2017-09-14 17:27:43 +00:00
est31
5ce08df93e
Remove duplication by adding a macro
2017-09-14 17:39:25 +02:00
est31
f2794913f3
Convert add! to a function
2017-09-14 17:33:44 +02:00
est31
13477e488f
Convert int_to_float! to a function
2017-09-14 16:32:50 +02:00
est31
f1bab6229d
Convert float_to_int! into a function
2017-09-14 14:59:32 +02:00
bors
a0c42b746c
Auto merge of #189 - tamird:update-comment-rustbuild, r=alexcrichton
...
Update rustbuild commentary
r? @nikomatsakis
This is the reason that https://github.com/rust-lang/rust/pull/44509 doesn't work - the `rustbuild` feature _is_ actually used, it was just incorrectly documented here and I missed it.
2017-09-14 00:46:30 +00:00
est31
6f19051513
Don't use the Wrapping wrapper in float addition
...
Inspired by a patch by mattico.
2017-09-14 02:08:28 +02:00
est31
57a3b2fe48
Don't use a macro for pow calculation
2017-09-14 01:59:02 +02:00
est31
3b5d6d7aa9
Extend the Float trait by some constants and supertraits
2017-09-14 01:57:52 +02:00
est31
515ea7157a
Use the newly added ONE constant in float addition
2017-09-14 00:10:16 +02:00
est31
cec214f0d7
Introduce a float_impl! macro to avoid duplication
2017-09-13 22:44:56 +02:00
est31
218eafcc68
Refactor float builtins to use associated consts
2017-09-13 22:09:52 +02:00
est31
985e578acd
Refactor int builtins to use associated consts
2017-09-13 22:09:31 +02:00
Tamir Duberstein
0b2a017b94
Update rustbuild commentary
...
Also use `cfg!(feature = "rustbuild")` instead of the environment
variable to ease grep-ability.
2017-09-12 20:54:32 -04:00
Tamir Duberstein
ffd4e7639f
Remove unused rustbuild feature
...
I can't tell if this was ever used, but it's not used today.
2017-09-10 09:30:47 -04:00
est31
465ba28996
Update the gcc crate to 0.3.53 and disable compilation warnings
...
They are inside the compiler-rt submodule, about which we don't have
direct control over.
2017-09-07 07:49:34 +02:00
Geoff Yoerger
21c82e419d
Fix README relative link.
2017-08-21 16:17:04 -05:00
Tim Neumann
e377364051
Avoid memcpy references in unoptimized code
2017-07-22 23:10:30 +02:00
Oliver Middleton
45a7693962
Don't include custom chkstk on MSVC
...
MSVC includes its own __chkstk so these aren't used.
2017-07-12 22:40:49 +01:00
Alex Crichton
2fa53c4b67
Don't mangle probes all the time
2017-07-07 20:35:14 -07:00
Alex Crichton
f4e92e379c
Tweak definition of probestack functions
...
It looks like the old `__rust_probestack` routine is incompatible with newer
linux kernels. My best guess for this is that the kernel's auto-growth logic is
failing to trigger, causing what looks like a legitimate segfault to get
delivered. My best guess for why *that's* happening is that the faulting address
is below `%rsp`, whereas previously all faulting stack addresses were above
`%rsp`. The probestack routine does not modify `%rsp` as it's probing the stack,
and presumably newer kernels are interpreting this as a legitimate violation.
This commit tweaks the probestack routine to instead update `%rsp` incrementally
as probing happens. The ABI of the function, however, requires that `%rsp`
isn't changed as part of the function so it's restored at the end to the
previous value.
2017-07-07 10:16:03 -07:00
Alex Crichton
f771aac37a
Add __rust_probestack intrinsic
...
Will be required for rust-lang/rust#42816
2017-07-06 06:58:32 -07:00
Alex Crichton
79b55c48ca
Fix unused imports on iOS
2017-07-03 19:11:34 -07:00
Alex Crichton
a32ae6d6b6
Fix a typo in the build script
2017-07-03 15:28:03 -07:00
Alex Crichton
ebcf7fac6a
Compile ffsdi2 with rustbuild feature
...
This is not used by LLVM/Rust, but is apparently used by gcc/C which jemalloc
can require at least.
2017-07-03 15:00:51 -07:00
Alex Crichton
e48cd1180b
Use the Rust implementation of udivsi3 on ARM
...
Although compiler-rt presumably has a more optimized implementation written in
assembly, it appears buggy for whatever reason, causing #173 .
For now let's see if integration into rust-lang/rust will work with the
Rust-defined implementation!
2017-07-03 09:48:11 -07:00
Alex Crichton
9a6cfe4844
Merge pull request #172 from alexcrichton/update-compielr-rt
...
Update compiler-rt submodule
2017-07-01 07:49:17 -07:00
Alex Crichton
37538e8c2a
Update compiler-rt submodule
...
Needed to pull in some recent changes with rust-lang/rust
2017-07-01 00:31:53 -07:00
Jorge Aparicio
b9d6291682
no aeabi_mem* symbols on iOS, weak symbols on thumb, normal symbols elsewhere
2017-06-30 18:06:25 -05:00
Jorge Aparicio
f096e02f63
optimize 32-bit aligned mem{cpy,clr,set} intrinsics for ARM
...
this reduces the execution time of all these routines by 40-70%
2017-06-29 22:40:58 -05:00
Jorge Aparicio
326c0bb597
enable tests now that #150 has been fixed
2017-06-27 22:48:57 -05:00
Alex Crichton
6792390e3e
Enable the intrinsics program on thumb
2017-06-25 10:09:50 -07:00
Alex Crichton
0e404583e8
Address review comments
2017-06-24 21:51:34 -07:00
Alex Crichton
f9db3c5b32
Don't test mangled names on thumb
...
We are both the "real compiler-rt" and the "to be tested one".
2017-06-24 12:54:35 -07:00
Alex Crichton
60028c1d9d
Enable 128-bit integer tests on Windows
...
Closes #158
2017-06-24 12:23:28 -07:00
Alex Crichton
e7008c8609
Don't check for references to panics with debug assertions
2017-06-24 11:44:50 -07:00
Alex Crichton
e8964fc7dd
Don't build gcc_personality_v0
2017-06-24 11:36:05 -07:00
Alex Crichton
3eff54a4ee
Don't generate unmangled aeabi with gen-tests
...
The symbols they delgate to also don't exist...
2017-06-24 11:34:10 -07:00
Alex Crichton
90dab55cb0
Don't try to work with cargo test
2017-06-24 10:22:49 -07:00
Alex Crichton
cf1419e538
Add a FIXME for Windows
2017-06-24 10:12:17 -07:00
Alex Crichton
cec593c2aa
Tweak testing and such:
...
* Don't run `intrinsics` tests on thumb
* Disable `compiler_builtins` attribute on `feature = "gen-tests"`
* Disable mangling on `feature = "gen-tests"` instead of `cfg(test)`
2017-06-24 10:10:04 -07:00
Alex Crichton
4dfb2c5f09
Fix appveyor PATH
2017-06-23 21:38:55 -07:00
Alex Crichton
1614443a68
Try to fix run.sh on AppVeyor
2017-06-23 21:36:36 -07:00
Alex Crichton
c785055bd9
Remove usage of unwrap_or_else
2017-06-23 21:31:54 -07:00
Alex Crichton
80112d198d
Use the same CI script on AppVeyor
2017-06-23 21:23:52 -07:00
Alex Crichton
d5279752b0
Don't derive Debug for Sign
2017-06-23 21:11:31 -07:00
Alex Crichton
d3e78c5f6f
Don't compile assembly on x86_64 Windows
...
They've all got the wrong ABI...
2017-06-23 21:09:24 -07:00
Alex Crichton
bbaf9fd85a
Don't build chkstk on x86_64
2017-06-23 20:43:51 -07:00
Alex Crichton
af944595d0
Try testing MinGW targets
2017-06-23 20:35:25 -07:00
Alex Crichton
4bb783da70
Remove the travis cache
2017-06-23 20:20:42 -07:00