Wilfried Chauveau
ef3de28eaf
implement float/double to (u)int conversion.
2017-03-06 11:56:52 -05:00
Wilfried Chauveau
b3e33508a0
impl (unsigned/signed) int to single/double precision float conversion based on llvm algorithms.
2017-03-06 11:55:57 -05:00
Jorge Aparicio
f96c8b8250
make the gcc crate optional
...
it's only required when the "c" feature is enabled
2017-02-19 15:49:59 -05:00
Jorge Aparicio
9916fa670c
implement float subtraction
...
as a + (-b)
2017-02-08 10:10:40 -05:00
Jorge Aparicio
0dfe91f7cf
adjust the check! macro to accept AAPCS intrinsics
2017-02-07 23:07:51 -05:00
Jorge Aparicio
57deccf6de
ARM: keep some non-aeabi symbols around
...
- multi3: there's no aeabi equivalent
- divmod{s,d}i4: these are directly called by __aeabi_{l,i}divmod
- add{s,d}f3: required by the C sub{s,d}f3 implementation
but make sure they also use the AAPCS calling convention
2017-02-07 14:28:02 -05:00
Jorge Aparicio
3a4e6ce2f4
use AAPCS calling convention on all aeabi intrinsics
...
also, on ARM, inline(always) the actual implementation of the intrinsics so we
end with code like this:
```
00000000 <__aeabi_dadd>:
(implementation here)
```
instead of "trampolines" like this:
```
00000000 <__aeabi_dadd>:
(shuffle registers)
(call __adddf3)
00000000 <__adddf3>:
(implementation here)
```
closes #116
2017-02-07 09:41:26 -05:00
Jorge Aparicio
c261f82cab
target.contains -> target_os ==
2017-02-06 15:16:16 -05:00
Jorge Aparicio
ee172768d2
std: Remove unused objects from compiler-builtins
...
rust-lang/rust#38623
2017-02-06 15:13:40 -05:00
Jorge Aparicio
263f16a81b
travis: Expand the cross linux image
...
rust-lang/rust#39111
2017-02-06 15:12:34 -05:00
Jorge Aparicio
bdb136a50e
libcompiler_builtins: Don't build emutls.c
...
Rather than improving the check, let's ditch emutls.c entirely.
rust-lang/rust#38877
2017-02-06 15:11:51 -05:00
Jorge Aparicio
2c7368702b
Don't build any native compiler-builtin components for emscripten
...
rust-lang/rust#36339
2017-02-06 15:11:09 -05:00
Jorge Aparicio
a13d0e2b13
Don't build gcc_personality_v0.c on NetBSD either
...
rust-lang/rust#39425
2017-02-06 15:10:02 -05:00
bors
e1fb75d02e
Auto merge of #133 - est31:i128, r=japaric
...
i128 intrinsics
Adds i128 intrinsics.
Note that this PR doesn't do float intrinsics, due to the missing presence of macros, those are however still required in order for rustc to switch to this crate.
2017-02-04 13:22:51 +00:00
est31
70bda6dd1c
Disable quickcheck tests on mips
...
Two reasons:
* the C versions __divti3 and __modti3 are apparently broken,
at least when used in quickcheck. They change their own arguments.
* compiler_rt's support for mips is disabled already on clang [1].
Its desireable to support working "cargo test" on that compiler
as well, and not greet the tester with linker errors.
[1]: http://llvm.org/viewvc/llvm-project?view=revision&revision=224488
2017-02-04 12:23:45 +01:00
Jorge Aparicio
48ef4907b3
add rebuild logic to compiler-rt-cdylib
...
fixes #136
2017-02-03 20:00:24 -05:00
est31
a01ee168c4
Panic when invalid overflow value is returned
2017-02-04 01:39:19 +01:00
est31
f15bf972bd
Add quickcheck tests
2017-02-03 23:46:15 +01:00
est31
aeda7382d7
Add newly implemented intrinsics to test file
2017-02-03 01:51:46 +01:00
est31
b1561fc195
u128 sdiv intrinsics
2017-02-02 22:13:28 +01:00
est31
37a62269dc
u128 udiv intrinsics
2017-02-02 22:11:14 +01:00
est31
9fd610d859
Macro-ify udivmod
2017-02-02 22:03:42 +01:00
est31
a38eee9ea1
i128 shift intrinsics
2017-02-02 22:02:51 +01:00
est31
19700fb03d
i128 mul intrinsics
2017-02-02 21:36:56 +01:00
est31
8bb1010d51
int module: macro-ify trait impls and add {u,i}128 support
2017-02-02 21:36:02 +01:00
est31
b6e0dd2bf2
Add i128 to lib.rs as feature
2017-02-02 21:27:11 +01:00
Jorge Aparicio
e6bb6db8eb
fix the build
...
the unused macro_use crate lint has tightened; fix the new warnings
2017-01-26 16:17:23 -05:00
James Duley
da48de4601
mul.rs: use wrapping_mul not plain
...
rustc in debug mode with a plain multiplication will call @llvm.umul.with.overflow.* which may call the builtin resulting in infinite recursion.
2017-01-02 22:57:38 +13:00
Jorge Aparicio
acbca64291
more #[no_mangle]
2016-12-31 10:04:40 -05:00
Jorge Aparicio
3ed64e2b50
CI: use a recent nightly
...
- add #[no_mangle] to the panic_fmt lang item to adjust to changes in
the visibility algorithm
- adjust to changes in the layout of Cargo's target directory
- use a newer Xargo to reduce the build time of the sysroot (only core
is compiled as part of the sysroot now)
2016-12-31 10:04:40 -05:00
Jorge Aparicio
af00bd1198
bump rustc-cfg dependency to v0.3.0
...
the older no longer works with recent nightlies as target_family
disappeared from `rustc --print cfg`'s output
2016-12-30 21:56:29 -05:00
Vadzim Dambrouski
a2671118ae
Fix memset arguments for MSP430 target.
...
On MSP430 second argument to memset has i16 type instead of i32.
2016-12-19 05:31:20 +03:00
Jorge Aparicio
b8d6652035
add implementations of memcpy et al
...
behind the "mem" Cargo feature, which used to be named "weak"
fixes #126
2016-12-17 23:06:37 -05:00
bors
9d3cfedce6
Auto merge of #124 - japaric:rustbuild, r=alexcrichton
...
by default, mark this crate as the #![compiler_builtins] crate
as this is how most users will want to use this crate
r? @alexcrichton
2016-12-13 00:02:56 +00:00
Jorge Aparicio
45ebf21c0b
fix appveyor
2016-12-11 16:54:41 -05:00
Jorge Aparicio
6da988a43a
by default, mark this crate as the #![compiler_builtins] crate
...
as this is how most users will want to use this crate
2016-12-11 16:18:43 -05:00
Jorge Aparicio
b90b5107a7
don't set SSL_CERT_FILE for OSX
2016-12-11 15:26:18 -05:00
Jorge Aparicio
fc81b547e6
work around rust-lang/cargo#3340
2016-12-11 14:58:05 -05:00
Jorge Aparicio
8a415ef044
pin all the targets to nightly-2016-12-05
2016-12-11 11:33:21 -05:00
Jorge Aparicio
0abb6e20e6
fix the test suite for the thumb targets
2016-12-11 11:18:48 -05:00
Alex Crichton
fc4b0a07bb
Merge pull request #120 from japaric/xargo-up
...
CI: use Xargo 0.2.x
2016-11-23 22:41:12 -06:00
Jorge Aparicio
42b4300d36
CI: use Xargo 0.2.x
...
this version uses the rust-src component that rustup installs instead
of fetching the source tarball from static.r-l.o, which sometimes went
wrong due to the fallible logic that Xargo 0.1.x used
2016-11-23 12:47:42 -05:00
Alex Crichton
865ed6f133
Define VISIBILITY_HIDDEN when compiling objects
...
Apparently compiler-rt passed this and we just forgot to. Fixes visibility of
some symbols on 32-bit Linux.
2016-11-18 09:40:20 -08:00
Alex Crichton
1a611e584f
Merge pull request #118 from japaric/compiler-rt-up
...
update the compiler-rt submodule
2016-11-17 09:46:16 -06:00
Jorge Aparicio
03e9f74fb8
update the compiler-rt submodule
...
to pick up the fixes for rust-lang/rust#37559 and rust-lang/rust#37630
2016-11-16 14:34:26 -05:00
Jorge Aparicio
c6ac7a35a4
Merge pull request #117 from mattico/fix-docker-apt-404
...
Fix apt 404s in Docker
2016-11-13 10:43:06 -05:00
Jorge Aparicio
a5d8d0d9f5
merge apt-get commands
2016-11-12 17:36:59 -05:00
Matt Ickstadt
2c99644aa7
Fix apt 404s in Docker
...
`apt update` and `apt install` should be in the same Docker RUN statement, otherwise `apt update` will be cached and `apt install` will 404 if a package no longer exists.
2016-11-12 16:08:13 -06:00
Matt Ickstadt
430c92cc9a
Use better cfg name for arm-linux tests
2016-11-12 15:52:59 -06:00
Matt Ickstadt
94c0d475bc
Use correct lib name in qc test failure
2016-11-12 15:30:57 -06:00