about summary refs log tree commit diff
path: root/library/compiler-builtins/ci
AgeCommit message (Collapse)AuthorLines
2024-05-11Deny warnings in CITrevor Gross-0/+1
There are currently a lot of warnings printed in CI, mostly dead code. Update CI to deny warnings.
2024-05-02Add builtins for `f16`/`f128` float conversionsbeetrees-0/+4
2024-04-19Apply some more fixes suggested by ShellcheckTrevor Gross-30/+36
2024-04-19Add a way to run tests on non-linux machinesTrevor Gross-67/+151
Allow using the `rust-lang/rust:nightly` docker image to run tests in cases where the host rust and cargo cannot be used, such as non-linux hosts.
2024-03-28Remove duplicate symbol workaroundtrevyn-5/+0
2024-03-28Clean up and rework CI scriptAmanieu d'Antras-30/+36
2024-01-09build: Allow building C compiler-rt fallbacks for wasmtrevyn-1/+2
2022-02-06Fix run-docker.sh so it can be run locallyAmanieu d'Antras-1/+1
2020-11-09Move from an "asm" flag to a "no-asm" feature flag (#386)Joseph Richey-4/+4
* Use a no-asm feature instead of an asm feature This works better as core/alloc/std have trouble supporting default featues in this crate. Signed-off-by: Joe Richey <joerichey@google.com> * Have no-asm disable arm assembly intrinsics Signed-off-by: Joe Richey <joerichey@google.com>
2020-10-24Use REP MOVSQ/STOSQ on x86_64 (#365)Joseph Richey-0/+4
* mem: Move mem* functions to separate directory Signed-off-by: Joe Richey <joerichey@google.com> * memcpy: Create separate memcpy.rs file Signed-off-by: Joe Richey <joerichey@google.com> * benches: Add benchmarks for mem* functions This allows comparing the "normal" implementations to the implementations provided by this crate. Signed-off-by: Joe Richey <joerichey@google.com> * mem: Add REP MOVSB/STOSB implementations The assembly generated seems correct: https://rust.godbolt.org/z/GGnec8 Signed-off-by: Joe Richey <joerichey@google.com> * mem: Add documentations for REP string insturctions Signed-off-by: Joe Richey <joerichey@google.com> * Use quad-word rep string instructions Signed-off-by: Joe Richey <joerichey@google.com> * Prevent panic when compiled in debug mode Signed-off-by: Joe Richey <joerichey@google.com> * Add tests for mem* functions Signed-off-by: Joe Richey <joerichey@google.com> * Add build/test with the "asm" feature Signed-off-by: Joe Richey <joerichey@google.com> * Add byte length to Bencher Signed-off-by: Joe Richey <joerichey@google.com>
2020-05-29Expand wasm32 testing on CI (#360)Alex Crichton-4/+12
* Expand wasm32 testing on CI Run the full `run.sh` test script to get full assertions, including that nothing in the wasm compiler-builtins is panicking. Unfortunately it's currently panicking, so this is good to weed out! * Update libm
2020-04-29Switch to using `llvm_asm!` instead of `asm!` (#351)Alex Crichton-2/+4
* Switch to using `llvm_asm!` instead of `asm!` * Run rustfmt * Fix how LTO is specified on nightly
2019-09-10Migrate to github actions from Azure PipelinesAlex Crichton-58/+0
Less need to manage users, more concurrency, and interface is all in one!
2019-06-05More fixes for CIAlex Crichton-1/+1
2019-06-05Attempt to fix CIAlex Crichton-5/+9
2019-05-16Remove `compiler-rt` submodule from this repositoryAlex Crichton-6/+8
This commit removes the `compiler-rt` submodule from this repository. The goal here is to align the `compiler-rt` used for compiling C intrinsics with the upstream rust-lang/rust's usage of `llvm-project`. Currently we have both an `llvm-project` repository as well as `compiler-rt`, but they can naturally get out of sync and it's just one more submodule to manage. The thinking here is that the feature `c` for this crate, when activated, will require the user to configure where the source code for `compiler-rt` is present. This places the onus on the builder of `compiler-builtins` to check-out and arrange for the appropriate `compiler-rt` source code to be placed somewhere. For rust-lang/rust this is already done with the `llvm-project` submodule, and we can arrange for it to happen on this crate's CI anyway. For users of this crate this is a bit of a bummer, but `c` is disabled by default anyway and it seems unlikely that `c` is explicitly opted in to all that much. (given the purpose of this crate) This should allow us to archive the `compiler-rt` repository and simply use `llvm-project` in the rust-lang/rust repository.
2019-05-15Remove the need for #[cfg] in #[use_c_shim_if]Alex Crichton-0/+1
This commit tweaks the implementation of the synthetic `#[use_c_shim_if]` attribute, renaming it to `#[maybe_use_optimized_c_shim]` in the process. This no longer requires specifying a `#[cfg]` clause indicating when the optimized intrinsic should be used, but rather this is inferred and printed from the build script. The build script will now print out appropriate `#[cfg]` directives for rustc to indicate what intrinsics it's compiling. This should remove the need for us to keep the build script and the source in sync, but rather the build script can simply take care of everything.
2019-05-14Fix __divsi3 and __udivsi3 on thumbv6m targetsAlex Crichton-79/+40
This commit fixes a bug accidentally introduced in #285 where some lingering references remained to `#[cfg(thumbv6m)]` but this, since the historical revert, was renamed to `#[cfg(thumb_1)]`. This caused on the thumbv6m platform for the intrinsics to be accidentally omitted because the build script didn't actually compile them but the Rust code thought the C code was in use. After correcting the `#[cfg]` statements the CI configuration for the `thumb*` family of targets was all updated. The support for xargo testing was removed from `run.sh` since it had long since bitrotted, and the script was updated to simply build the intrinsics example to attempt to link for each of these targets. This in turn exposed the bug locally and allowed to confirm a fix once the `#[cfg]` statements were corrected. cc rust-lang/rust#60782
2019-05-02Merge pull request #286 from alexcrichton/fix-dupeAlex Crichton-0/+9
Fix duplicate symbol __clzsi2
2019-05-02Fix duplicate symbol __clzsi2Alex Crichton-0/+9
Looks like our tests weren't quite testing compiler-builtins when it was compiled with unmangled symbols, so update the tests to catch this and then fix the compilation of the `__clzsi2` intrinsic to use the C version if it's compiled.
2019-05-02Revert "Use the Rust implementation of udivsi3 on ARM"Alex Crichton-0/+1
This reverts commit 681aaa914dea7cae8252c33023604ce6c91808bd.
2019-04-02Try to fix WindowsAlex Crichton-1/+1
2019-04-02Try to handle thumb targets and xargoAlex Crichton-38/+42
2019-04-02Generate a lock file before using DockerAlex Crichton-1/+1
Can't do it in the readonly filesystem inside!
2019-04-02Don't pass `-it` to dockerAlex Crichton-1/+1
2019-04-02Upgrade all docker containers to 18.04Alex Crichton-18/+18
2019-04-02Expand Azure Pipelines configurationAlex Crichton-0/+4
2019-04-02Configure Azure PipelinesAlex Crichton-2/+5
2019-04-02Add sample azure pipelines configurationAlex Crichton-0/+35
2018-11-21Use `nm` on OSXAlex Crichton-12/+1
Looks like it may be fixed now?
2018-02-25Remove no_std featuresPaolo Teti-4/+2
Everything default unconditionally to #![no_std].
2018-02-25Keep mangled-names as a default featurePaolo Teti-6/+8
2018-02-18Fix CI for thumb* targetsPaolo Teti-14/+15
Main fix is inside 'utest' all the rest are minor fixes due to the new 'testcrate'. Still allow failures on TravisCI for a while.
2018-01-31Simplify how testing is doneAlex Crichton-5/+5
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!
2017-12-26Work around japaric/xargo#186 temporarilyAlex Crichton-0/+3
2017-12-26Disable incremental + LTOAlex Crichton-0/+1
This causes errors in more recent versions of rustc
2017-11-02Work around OSX on TravisAlex Crichton-0/+1
2017-10-07drop binfmt_misc dependencyJorge Aparicio-1/+15
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-07-07Don't mangle probes all the timeAlex Crichton-0/+1
2017-06-27enable tests now that #150 has been fixedJorge Aparicio-12/+0
2017-06-25Enable the `intrinsics` program on thumbAlex Crichton-11/+1
2017-06-24Don't test mangled names on thumbAlex Crichton-4/+5
We are both the "real compiler-rt" and the "to be tested one".
2017-06-24Don't check for references to panics with debug assertionsAlex Crichton-1/+2
2017-06-24Don't try to work with `cargo test`Alex Crichton-4/+4
2017-06-24Add a FIXME for WindowsAlex Crichton-2/+10
2017-06-24Tweak testing and such:Alex Crichton-8/+24
* 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-23Try to fix run.sh on AppVeyorAlex Crichton-18/+20
2017-06-23Use the same CI script on AppVeyorAlex Crichton-3/+3
2017-06-23Handle aeabi aliasingAlex Crichton-14/+16
Objects in compiler-rt may have two symbols, so this makes sure that we don't bring in those objects by accident by defining the aliases ourselves.
2017-06-23Use `nm` to weed out panicsAlex Crichton-1/+12