Commit Graph

36 Commits

Author SHA1 Message Date
Alex Crichton 1fa8d083c2 Add some crate metadata 2018-11-21 11:09:24 -08:00
Alex Crichton d74c506aab Use panic=abort for tests
Try to fix issues with undefined `rust_eh_personality` symbols
2018-11-21 10:19:31 -08:00
Alex Crichton 2e8f0b125b Prepare for publication to crates.io
This commit prepares to publish the compiler-builtins crate to crates.io
in order for the standard library to directly depend on it from
crates.io in rust-lang/rust#56092
2018-11-21 10:01:20 -08:00
Paolo Teti 50ea70d7d0 Rename panic_implementation -> panic_handler
panic_implementation has been deprecated/renamed.
New name is panic_handler
2018-09-01 21:17:07 +02:00
Alex Crichton 182450f20c Try to fix intrinsics example on nightly 2018-07-12 09:29:32 -07:00
Alex Crichton 2a13475197 Simplify how testing is done
All tests are moved to a separate crate in this repository to enable features by
default. Additionally the test generation is moved to a seprate build script and
simplified to reduce the amount of boilerplate needed per test.

Overall this should still be testing everything, just in a different location!
2018-01-31 11:32:20 -08:00
Alex Crichton 6cf8fe7932 Update to the `cc` dependency 2017-09-22 21:30:12 -07: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
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
Alex Crichton c193113721 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 734ec3d31c 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 1b78d79bf5 Require the `compiler-builtins` target for the example 2017-06-23 06:58:05 -07:00
Alex Crichton a1377878c6 Test with the 'c' feature enabled on CI 2017-06-22 14:32:16 -07:00
est31 e574d8be41 Update cast to 0.2.2 to fix bug in debug mode 2017-05-08 00:05:00 +02:00
est31 9e7b61cb10 Use cast 0.2.1 for i128 support 2017-05-06 05:37:24 +02:00
Jorge Aparicio 55294baf7a 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 9e2c2b6447 test float/conv.rs 2017-04-10 16:12:49 -05:00
Jorge Aparicio b8e8c7f693 no_std compatible tester 2017-04-10 14:38:17 -05:00
Jorge Aparicio dbcec72ca1 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 cc0d8ba2d1 remove the current test suite 2017-04-10 11:14:05 -05:00
Jorge Aparicio a2e6591be9 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 826839fedb 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
Jorge Aparicio a1caa7ccac 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
Jorge Aparicio 3484b2b68e 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
Phaiax 56dc20a724 Update gcc-rs dependency to 0.3.36 2016-10-16 07:54:59 +02:00
Jorge Aparicio 8f0847eb94 rename to compiler_builtins, add rust-lang/rust-ish crate attributes 2016-10-10 19:05:21 -05:00
Jorge Aparicio 77bca82434 bump rustc-cfg version and show a better error message when it fails 2016-10-03 19:25:32 -05:00
Jorge Aparicio f77ca915c4 add an opt-in cargo feature to build intrinsics from compiler-rt source
closes #63
cc #66
2016-09-29 16:06:24 -05:00
Alex Crichton 8e161a791a Expand and refactor teting infrastructure
This commit moves over most of the testing infrastructure to in-tree docker
images that are all dispatched to from Travis (no other test configuration).
This allows versioning modifications to the test infrastructure as well as the
code itself. Additionally separate docker images allows for easy modification of
one without worrying about tampering of others as well as easy addition of new
targets by simply adding a new `Dockerfile`.

Additionally this commit bundles the master version of the `compiler-rt` source
repository from `llvm-mirror/compiler-rt` to test against. The compiler-rt
library itself is compiled as a `cdylib` which is then dynamically located at
runtime and we look for symbols in. There's a few hoops here, but they currently
get the job done.

All tests now execute against both gcc_s and compiler-rt, and this
testing strategy is now all hidden behind a macro as well (refactoring
all existing tests along the way).
2016-09-28 22:09:55 -07:00
Jorge Aparicio b7fa7d3a59 put weak mem* symbols behind an opt-in Cargo feature
closes #64
cc #66
2016-09-22 18:02:25 -05:00
Jorge Aparicio 384c48ce9b don't test always against gcc_s
instead test half of the time against gcc_s and the other half test
against the native operation (\*).

(\*) Not all the targets have available a native version of the
intrinsics under test. On those targets we'll end up testing our
implementation against itself half of the time. This is not much of a
problem because we do several quickcheck runs per intrinsic.
2016-09-21 21:38:06 -05:00
Jorge Aparicio 337bd7e209 armhf: don't compare our impls against gcc_s 2016-09-21 21:14:38 -05:00
Jorge Aparicio 9493c37455 test our implementations against gcc_s
if it exposes the same intrinsics that we implement -- gcc_s doesn't
implement all the intrinsics for all the architectures.

closes #65
2016-09-16 15:53:14 -05:00
Jorge Aparicio 8965b061c2 use rlibc crate instead 2016-08-14 22:03:19 -05:00
Jorge Aparicio 950564607d port udivmoddi4 and __aeabi_uldivmod 2016-08-11 00:26:12 -05:00
Jorge Aparicio 1faf15fc64 initial commit 2016-08-07 15:58:21 -05:00