Commit Graph

510 Commits

Author SHA1 Message Date
Dan Gohman
a6ecd1a73f Add "volatile" and "memory" clobber to asm! that doesn't fall through.
Use the "volatile" option and the "memory" clobber on inline asm that does
things like return directly, to reduce the chances of compilers rearranging
the code.
2017-11-15 12:49:10 -08:00
Alex Crichton
93e3091ffc
Merge pull request #206 from aeleos/div
Implement divsf3 and divdf3
2017-11-14 13:58:07 +01:00
Oliver Geller
8bb30026c7 Implement divsf3 and divdf3 2017-11-13 20:22:27 -05:00
Alex Crichton
bb2c81b700
Merge pull request #205 from aeleos/master
Implement mulsf3 and muldf3
2017-11-14 00:41:18 +01:00
Oliver Geller
897048543f Implement mulsf3 and muldf3 2017-11-08 17:36:34 -05:00
Alex Crichton
1be2858df7
Merge pull request #203 from alexcrichton/wasm
Prepare this crate for more wasm32 compatibility
2017-11-03 00:45:26 -04:00
Alex Crichton
46fbf3a565 Work around OSX on Travis 2017-11-02 11:14:05 -07:00
Alex Crichton
45cd956acc Prepare this crate for more wasm32 compatibility
This commit prepares the build script for a wasm32 target that doesn't use
Emcripten, notably forcing the `mem` feature to get activated and forcibly
ignoring the `c` feature, even if activated, for the wasm32 target.
2017-11-01 19:29:41 -07:00
bors
2d414afec5 Auto merge of #200 - japaric:no-binfmt-misc, r=alexcrichton
drop binfmt_misc dependency

Instead use the Cargo runner feature. The binfmt_misc approach requires running a privileged
container for setup. Not all docker setups support privileged containers so the test suite should be
more accessible with this change as no privileged container is needed.

r? @alexcrichton
2017-10-08 02:02:35 +00:00
Jorge Aparicio
2446cc468f drop binfmt_misc dependency
Instead use the Cargo runner feature. The binfmt_misc approach requires running a privileged
container for setup. Not all docker setups support privileged containers so the test suite should be
more accessible with this change as no privileged container is needed.
2017-10-07 22:19:37 +02:00
bors
5b96befbc5 Auto merge of #115 - Amanieu:linux-arm-atomic, r=alexcrichton
Add atomic support for pre-ARMv6 on Linux

This uses the [kernel user helpers](https://www.kernel.org/doc/Documentation/arm/kernel_user_helpers.txt) which are available starting from kernel 2.6.15. Since Rust currently requires 2.6.18 at a minimum, this should be fine in practice. I did not include support for 64-bit atomics since that functionality is only available in kernel 3.1.

This PR allows Rust to work on older ARM versions such as ARMv4 and ARMv5 with the full libstd.
2017-10-06 23:08:42 +00:00
Amanieu d'Antras
73e38dcf2f Add atomic support for pre-ARMv6 on Linux 2017-10-05 12:44:12 +01:00
Alex Crichton
fe8d893a6b Update target specs 2017-10-03 02:28:49 -07:00
Alex Crichton
0b9844764e Merge pull request #198 from est31/master
Partial revert of the float conversion refactor in #192
2017-09-29 01:54:05 -05:00
est31
c781759498 Partially revert a272d753f5
This partially reverts commit "Convert float_to_int! into a function"
2017-09-29 02:20:27 +02:00
est31
a20840262e Partially revert 482d98318f
This partially reverts "Convert int_to_float! to a function".
2017-09-29 02:19:40 +02:00
Alex Crichton
789e8c159f Merge pull request #196 from alexcrichton/cc
Update to the `cc` dependency
2017-09-27 17:38:06 -05:00
Alex Crichton
006f173f85 Ignore failing test on mips 2017-09-22 21:31:27 -07:00
Alex Crichton
6cf8fe7932 Update to the cc dependency 2017-09-22 21:30:12 -07:00
bors
67e0908d7f Auto merge of #195 - alexcrichton:32-darwin-empty, r=alexcrichton
Disable empty intrinsics on i686-apple-darwin

These all currently just produce empty object files
2017-09-17 22:25:49 +00:00
Alex Crichton
1be538be1e Disable empty intrinsics on i686-apple-darwin
These all currently just produce empty object files
2017-09-17 15:25:34 -07:00
bors
4d9df62fb7 Auto merge of #194 - mattico:i386, r=alexcrichton
Implement x86 chkstk in "rust"

cc #183

Basically the same as the x86_64 ones, except `__alloca` doesn't need to fix the parameter register. I've manually verified that the disassembly is the same, and that these work in a compiled rust program.

The second commit disables compiling probestack functions for `feature = mangled-names`. They aren't needed during testing because they aren't comparison tested and the unmangled versions are the ones that actually get used.

r? @alexcrichton
2017-09-16 02:58:04 +00:00
Matt Ickstadt
a40cc6a12d Don't compile probestack functions during testing 2017-09-15 18:13:06 -05:00
Matt Ickstadt
b3679bcfba Implement x86 chkstk in "rust" 2017-09-15 18:04:59 -05:00
bors
a767bab639 Auto merge of #193 - alexcrichton:update, r=alexcrichton
Update MinGW download location
2017-09-15 22:59:44 +00:00
Alex Crichton
f06f7c7bd6 Update MinGW download location 2017-09-15 15:59:15 -07:00
bors
35dec6bd8a 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
0cd476220b Remove duplication by adding a macro 2017-09-14 17:39:25 +02:00
est31
3efae7f7d9 Convert add! to a function 2017-09-14 17:33:44 +02:00
est31
482d98318f Convert int_to_float! to a function 2017-09-14 16:32:50 +02:00
est31
ff63f7b80f Convert float_to_int! into a function 2017-09-14 14:59:32 +02:00
bors
ef4951582f 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
a272d753f5 Don't use the Wrapping wrapper in float addition
Inspired by a patch by mattico.
2017-09-14 02:08:28 +02:00
est31
72ed4c8bce Don't use a macro for pow calculation 2017-09-14 01:59:02 +02:00
est31
8313cec597 Extend the Float trait by some constants and supertraits 2017-09-14 01:57:52 +02:00
bors
915293c528 Auto merge of #191 - est31:master, r=alexcrichton
Small refactor to use associated consts

Yeey less chars.

r? @alexcrichton
2017-09-13 23:12:44 +00:00
est31
2c1d7dccc1 Use the newly added ONE constant in float addition 2017-09-14 00:10:16 +02:00
est31
46cfa05650 Introduce a float_impl! macro to avoid duplication 2017-09-13 22:44:56 +02:00
est31
9bdedec38e Refactor float builtins to use associated consts 2017-09-13 22:09:52 +02:00
est31
c9a261895e Refactor int builtins to use associated consts 2017-09-13 22:09:31 +02:00
Tamir Duberstein
a32e76eaea
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
bors
23f14d3f05 Auto merge of #188 - tamird:remove-unused-rustbuild, r=alexcrichton
Remove unused rustbuild feature

I can't tell if this was ever used, but it's not used today.
2017-09-10 15:35:24 +00:00
Tamir Duberstein
9d536cf96a
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
bors
38ffaf97aa Auto merge of #187 - est31:master, r=alexcrichton
Update the gcc crate to 0.3.53 and disable compilation warnings

The update is needed because you'd otherwise get a deprecation warning about `Config` being deprecated, as rust-lang/rust has updated the gcc crate.

The compilation warnings are inside the compiler-rt submodule, about which we don't have
direct control over, so we disable them.
2017-09-07 05:51:19 +00:00
est31
02ea9e5f54 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
bors
94c4c1c534 Auto merge of #184 - DirkyJerky:patch-1, r=alexcrichton
Fix README relative link.
2017-08-22 05:03:25 +00:00
Geoff Yoerger
fe6197e2f2 Fix README relative link. 2017-08-21 16:17:04 -05:00
bors
6b9281d2b2 Auto merge of #181 - TimNN:no-memcpy, r=alexcrichton
Avoid memcpy references in unoptimized code

Fixes rust-lang/rust#43411.
2017-07-23 05:10:08 +00:00
Tim Neumann
c138713df1 Avoid memcpy references in unoptimized code 2017-07-22 23:10:30 +02:00
bors
f6c4034d59 Auto merge of #179 - ollie27:chkstk, r=alexcrichton
Don't include custom chkstk on MSVC

MSVC includes its own __chkstk so these aren't used.

These aren't included in compiler-rt: cb42103777/lib/builtins/CMakeLists.txt (L224-L284).
They also weren't included in compiler-builtins: 1685c92986/src/libcompiler_builtins/build.rs (L255-L293) until rust-lang/rust#42899.
2017-07-12 22:28:43 +00:00