Jorge Aparicio
0666ed145a
fix cfg syntax
2017-04-11 15:36:42 -05:00
Jorge Aparicio
05b6e8fa6c
ignore i128 tests on windows
...
see #158
2017-04-11 15:08:52 -05:00
Jorge Aparicio
1e48efeaef
Revert "i128 test: transmute intrinsic output before comparing"
...
This reverts commit 46085a2313ba196e3aab85a3380a07c6bd838fda.
2017-04-11 15:03:21 -05:00
Jorge Aparicio
3043cf860c
powershell -> cmd.exe
2017-04-11 14:53:19 -05:00
Jorge Aparicio
5b8965c9de
i128 test: transmute intrinsic output before comparing
...
on Windows, these intrinsics return a U64x2 type because of ABI requirements
2017-04-11 14:47:23 -05:00
Jorge Aparicio
4de2ff7b9d
appveyor: make the host x86_64 when testing the i686 target
2017-04-11 14:28:31 -05:00
Jorge Aparicio
692906c58a
adapt the thumb target specs to upstream linker-flavor changes
2017-04-11 11:32:44 -05:00
Jorge Aparicio
2f64ef0870
ignore i128 div / mul tests on MIPS
...
there's an unfixed bug. See #137
2017-04-11 11:24:33 -05:00
Jorge Aparicio
f80b2c4af2
s/feature/features/g
2017-04-10 20:10:45 -05:00
Jorge Aparicio
09f95517b1
travis: don't reinstall rustup
...
travis now installs rust using rustup
2017-04-10 18:00:16 -05:00
Jorge Aparicio
a606075c9b
.travis.yml: thumbs target have been renamed
2017-04-10 17:59:45 -05:00
Jorge Aparicio
750b26267f
appveyor: cargo test requires the gen-tests feature
2017-04-10 17:46:33 -05:00
Jorge Aparicio
9c0fe5be3d
put test generation behind a Cargo feature
...
to reduce build time for the most common case of not running tests
2017-04-10 17:27:25 -05:00
Jorge Aparicio
d8576a4f8b
modify the CI setup to run tests on the thumb targets
2017-04-10 17:16:13 -05:00
Jorge Aparicio
74eedd0f17
make float* intrinsics testable on thumb
...
there are no intrinsics for float equality atm, so transmute to an integer
before comparing
2017-04-10 17:13:07 -05:00
Jorge Aparicio
0869e5b93a
remove arm tests from the old test suite
2017-04-10 16:35:08 -05:00
Jorge Aparicio
62091bb124
test float/conv.rs
2017-04-10 16:12:49 -05:00
Jorge Aparicio
af0d6847d7
no_std compatible tester
2017-04-10 14:38:17 -05:00
Jorge Aparicio
447ebe4f91
rustfmt
2017-04-10 11:29:31 -05:00
Jorge Aparicio
dfc1a7d814
move the compiler-rt submodule to the root
2017-04-10 11:23:03 -05:00
Jorge Aparicio
5b2585403d
remove unused Cargo subprojects
2017-04-10 11:22:17 -05:00
Jorge Aparicio
199c7a8dcb
refactor build.rs to not depend on rustc-cfg
...
it now uses the CARGO_CFG_TARGET variables provided by Cargo
2017-04-10 11:19:16 -05:00
Jorge Aparicio
05a5f4681f
remove the current test suite
2017-04-10 11:14:05 -05:00
Jorge Aparicio
8316333dc6
move compiler-rt submodule
2017-04-10 11:11:23 -05:00
bors
95a216c6bf
Auto merge of #147 - rust-lang-nursery:conv, r=japaric
...
Conversion from&to float<->integer
this is a rebased version of #139
cc @ithinuel
2017-04-08 15:20:35 +00:00
Jorge Aparicio
07064c2239
test out of range condition using f64
...
to avoid imprecision due to rounding to f32
2017-04-08 10:18:19 -05:00
Jorge Aparicio
0ef737f557
fix debug assertion in modsi3 / moddi3
...
fixes #151
this fix is very similar to #149
2017-03-13 20:40:44 -05:00
bors
42c4a1e5f2
Auto merge of #149 - rust-lang-nursery:gh148, r=alexcrichton
...
fix debug assertion in divdi3
fixes #148
r? @alexcrichton
2017-03-07 00:38:33 +00:00
Jorge Aparicio
74c6b91677
fix debug assertion in divdi3
...
fixes #148
2017-03-06 17:46:11 -05:00
Jorge Aparicio
0ecfe751b5
fix quickcheck tests
...
the check! macro syntax has changed
2017-03-06 12:17:41 -05:00
Jorge Aparicio
1f26fea5d4
refactor 'impl Int'
2017-03-06 12:17:10 -05:00
Wilfried Chauveau
77889226f7
exclude from tests values out of integer range (and NaN).
2017-03-06 11:56:52 -05:00
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
cd96f53050
fix infinite recursion in divmoddi4 / mulodi4
...
on ARMv7-M processors, divmoddi4 was calling mulodi4 and mulodi4 was calling
divmoddi4 leading to infinite recursion. This commit breaks the cycle by using
wrapping multiplication in divmoddi4.
fixes #145
2017-03-06 10:38:19 -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