Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bump version #23

Closed
wants to merge 334 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
334 commits
Select commit Hold shift + click to select a range
63976cb
Merge pull request #586 from RalfJung/lib.miri.rs
Amanieu Apr 10, 2024
018616e
Always have math functions but with `weak` linking attribute if we can
Amjad50 Feb 19, 2024
4d105c9
Do not include math intrinsics for windows and apple targets
Amjad50 Mar 31, 2024
db7b5db
Merge pull request #577 from Amjad50/weak_link_libm
Amanieu Apr 10, 2024
58e8753
Release 0.1.109
Amanieu Apr 10, 2024
7240849
Merge pull request #589 from Amanieu/release-0.1.109
Amanieu Apr 10, 2024
800d97b
Change aarch64_linux module and lse tests to have the same gating
tgross35 Apr 13, 2024
1e1376e
Add CI testing for AArch64 Darwin
tgross35 Apr 16, 2024
2978bdd
Merge pull request #592 from tgross35/lse-gating
Amanieu Apr 17, 2024
d2c3a16
Add a way to run tests on non-linux machines
tgross35 Apr 13, 2024
656928f
Apply some more fixes suggested by Shellcheck
tgross35 Apr 15, 2024
2705081
Merge pull request #591 from tgross35/testing-updates
Amanieu Apr 19, 2024
c2ac57f
Update status of 128-bit integers in README.md
beetrees Apr 28, 2024
40e9b37
Merge pull request #597 from beetrees/i128-readme
Amanieu Apr 29, 2024
3375e3a
Fix math libraries not being linked on some platforms
Amjad50 Apr 15, 2024
e0e5bb4
Fix clippy warnings in `math`
Amjad50 Apr 15, 2024
dd85395
Updated `libm` to fix `clippy` warning
Amjad50 Apr 30, 2024
2cbde5b
Merge pull request #594 from Amjad50/fix_libm_weak_link
ChrisDenton Apr 30, 2024
ae712d4
Add builtins for `f16`/`f128` float conversions
beetrees Apr 14, 2024
dfe778f
Merge pull request #593 from beetrees/fix-f16-conv-c
Amanieu May 2, 2024
7f9c937
Apply `weak` attributes to all intrinsics
Amjad50 Apr 29, 2024
16c9ca9
Remove unneeded `weak` for `optimized-c` function
Amjad50 May 2, 2024
8a7ba9a
Cleanup `manged-names` macro
Amjad50 May 2, 2024
ab63499
Merge pull request #598 from Amjad50/remove_weak-intrinsics
Amanieu May 3, 2024
ddf904b
Update reference to rustc-std-workspace-core
Enselic May 4, 2024
c970a93
Merge pull request #599 from Enselic/update-ref
Amanieu May 4, 2024
35731dc
Release version 0.1.110
Amanieu May 4, 2024
694cffa
Merge pull request #600 from Amanieu/release-0.1.110
Amanieu May 4, 2024
c0ba865
fix: Add `#[avr_skip]` for `__addsf3` & `__adddf3`
Patryk27 May 4, 2024
9c43e04
Merge pull request #601 from Patryk27/fix_avr_floats
Amanieu May 4, 2024
536824b
Release version 0.1.111
Amanieu May 4, 2024
a991664
Merge pull request #602 from Amanieu/release-0.1.111
Amanieu May 4, 2024
59f3c77
Enable chkstk/alloca intrinsics on i686-unknown-uefi
nicholasbishop May 9, 2024
9f9afc2
Merge pull request #605 from nicholasbishop/bishop-i686-uefi
Amanieu May 9, 2024
a8c0ecc
Deny warnings in CI
tgross35 May 6, 2024
b270c70
Emit directives for cargo-check-cfg
tgross35 May 6, 2024
34a2c12
Update `cfg` to fix warnings
tgross35 May 6, 2024
df57940
Remove the undocumented and unused `rustbuild` feature
tgross35 May 6, 2024
d4bc562
Merge pull request #603 from tgross35/ci-deny-warnings
Amanieu May 11, 2024
b1889e3
Release 0.1.112
Amanieu May 11, 2024
9dd4dbf
Merge pull request #608 from Amanieu/release-0.1.112
Amanieu May 11, 2024
baac8ef
Fix paths for Windows arm64 build
theKidOfArcrania May 13, 2024
69aa7f4
Add aarch64 target
theKidOfArcrania May 13, 2024
26ffcf4
Update target
theKidOfArcrania May 13, 2024
38b0e43
Maybe try arm64
theKidOfArcrania May 13, 2024
0fc814b
Remove aarch64 CI
theKidOfArcrania May 14, 2024
9ee4202
Merge branch 'master' of https://github.com/rust-lang/compiler-builtins
theKidOfArcrania May 14, 2024
7f33201
Merge pull request #609 from theKidOfArcrania/master
Amanieu May 15, 2024
9c6fcb5
Split `Int` into `Int` and `MinInt`
tgross35 May 10, 2024
2868c26
Add `i256` and `u256` bigint types
tgross35 May 10, 2024
77faba1
Refactor float test macros to have a fallback
tgross35 May 11, 2024
255c9f3
Enable no-fail-fast for more usable test output
tgross35 May 11, 2024
c8cc819
Implement `f128` addition and subtraction
tgross35 May 11, 2024
58ad317
Implement `f128` multiplication
tgross35 May 11, 2024
9bea196
Implement `f128` comparison
tgross35 May 11, 2024
6a847ab
Correct f128 extend and truncate symbol names on powerpc
tgross35 May 12, 2024
449643f
Merge pull request #606 from tgross35/f16-f128-intrinsics-min
Amanieu May 16, 2024
658cac7
Rework the test crate to separate individual tests
tgross35 May 18, 2024
b31d50e
Merge pull request #615 from tgross35/test-refactoring
Amanieu May 20, 2024
b0f1966
Add tests for UNC paths on windows builds
theKidOfArcrania May 15, 2024
853263a
Fix CI
theKidOfArcrania May 15, 2024
04c4866
Use cmd.exe
theKidOfArcrania May 15, 2024
73175bd
Fix backslash
theKidOfArcrania May 15, 2024
b8b09d5
Instead have cmd.exe dump out path
theKidOfArcrania May 15, 2024
ac30f02
Properly escape /C and fix naming
theKidOfArcrania May 15, 2024
e6ff35e
verbatim tests only need to build
theKidOfArcrania May 15, 2024
8fda434
Only run `--features c` for verbatim test
theKidOfArcrania May 17, 2024
12795d2
Don't run verbatim test on windows-gnu
theKidOfArcrania May 17, 2024
fa0f7e0
Merge pull request #612 from theKidOfArcrania/master
Amanieu May 20, 2024
f4c8ec4
Add `CastFrom` as a convenience form of `CastInto`
tgross35 May 18, 2024
5c78c6e
Make float to integer conversions generic
tgross35 May 18, 2024
1613291
Allow a specific fallback function in `apfloat_fallback`
tgross35 May 18, 2024
8aa675d
Add an apfloat fallback for float to integer tests
tgross35 May 21, 2024
4edcd5a
Add `f128` float to integer conversion functions
tgross35 May 21, 2024
1f701b0
Merge pull request #613 from tgross35/f16-f128-convert
Amanieu May 21, 2024
aa2ed5f
Add `ppc_alias` to the `intrinsics!` macro
tgross35 May 21, 2024
857ad00
Merge pull request #620 from tgross35/ppc-alias
Amanieu May 21, 2024
39f45e9
Organize functions in intrinsics example
tgross35 May 21, 2024
80d022e
Add f16 and f128 intrinsics to the example test
tgross35 May 21, 2024
32c99b0
Update outdated contribution guidelines
tgross35 May 21, 2024
4f4443f
Add some missing functions to examples/intrinsics
tgross35 May 21, 2024
30f4071
Merge pull request #619 from tgross35/update-intrinsics
Amanieu May 21, 2024
f35530f
Add Apple visionOS support
QuentinPerez May 22, 2024
841bdaf
Merge pull request #590 from QuentinPerez/master
Amanieu May 22, 2024
40bf78b
Add benchmarks for floating point math
tgross35 May 19, 2024
2fe1fd1
Merge pull request #618 from tgross35/benchmarking
Amanieu May 24, 2024
9b066b6
Enable cache for Cargo components of the build
tgross35 May 24, 2024
9f3c865
Enable cache for Docker images
tgross35 May 24, 2024
13f9ce3
Add caching for downloading compiler-rt
tgross35 May 24, 2024
c04eb9e
Merge pull request #621 from tgross35/ci-caching
Amanieu May 24, 2024
9ba77d1
Disable libm on x86 without sse2
tgross35 Jun 18, 2024
7607343
Merge pull request #628 from tgross35/libm-sse-fix
Amanieu Jun 22, 2024
3032f49
Update the Ubuntu docker image to the latest version
tgross35 May 29, 2024
c7de914
Skip f128 tests on powerpc64le
tgross35 Jun 22, 2024
202ad9a
Merge pull request #625 from tgross35/docker-image-update
Amanieu Jun 22, 2024
e1b7d8f
Fix unset variables in the build script
tgross35 Jun 22, 2024
0ccc1bf
Merge pull request #629 from tgross35/fix-script
Amanieu Jun 22, 2024
32a6047
Fix building on AVR
beetrees Jun 23, 2024
5ba1c48
Merge pull request #632 from beetrees/fix-avr
Amanieu Jun 25, 2024
5cd852d
Release 0.1.113
Amanieu Jun 25, 2024
93356a2
Merge pull request #635 from Amanieu/release-0.1.113
Amanieu Jun 25, 2024
101ba13
Enable `f128 -> f16` tests on Linux
tgross35 Jun 22, 2024
7a84ce4
Merge pull request #631 from tgross35/try-enabling-tests
Amanieu Jun 25, 2024
367ba35
Fix incorrect rounding with subnormal/zero results of float multiplic…
beetrees Jun 30, 2024
7bc3d6e
Ignore broken nightly/system builtins
beetrees Jun 30, 2024
254edbc
Temporarily `use define_rust_probestack;`
beetrees Jun 30, 2024
c1c8fcc
Merge pull request #637 from beetrees/fix-float-mul
Amanieu Jul 5, 2024
599c8fb
Remove unnecessary benchmark files
tgross35 Jul 1, 2024
90e28c5
Merge pull request #638 from tgross35/remove-bench-files
Amanieu Jul 5, 2024
9732496
Get rid of a warning
tea Jun 25, 2024
eb6d2b6
Merge pull request #634 from tea/extern_crate
Amanieu Jul 6, 2024
3641761
Implement __bswap[sdt]i2 intrinsics
tea Jun 21, 2024
06db2de
Merge pull request #633 from tea/bswap
Amanieu Jul 6, 2024
6c37129
Fix missing `extern "C"` for unsafe functions
tgross35 Jul 18, 2024
d86170d
Merge pull request #642 from tgross35/android-testing-fix
Amanieu Jul 24, 2024
3041451
Implement remaining __clz*i2 intrinsics
tea Jun 21, 2024
29d3466
Never use C version of clz builtins
tea Jul 16, 2024
b78d0f1
Merge pull request #639 from tea/clz
Amanieu Jul 24, 2024
70f566b
Remove a broken link in README
tgross35 Jun 25, 2024
8f05435
Move IBM extended double to the unneeded section
tgross35 Jun 25, 2024
686511e
Add missing symbols from compiler-rt to the README
tgross35 Jun 25, 2024
721e34b
Merge pull request #644 from tgross35/update-readme
Amanieu Jul 24, 2024
133705e
Implement __ctz*i2 intrinsics
tea Jun 21, 2024
6e31045
Merge pull request #645 from tea/ctz
Amanieu Jul 26, 2024
237f65a
Add `release-plz` for automatic releases.
tgross35 Jul 18, 2024
2842c01
Merge pull request #643 from tgross35/ci-releases
Amanieu Jul 28, 2024
7516ff2
Set allow_dirty to release-plz
tgross35 Jul 28, 2024
9f7ff22
Merge pull request #647 from tgross35/patch-1
Amanieu Jul 28, 2024
ed74364
chore: release
github-actions[bot] Jul 28, 2024
9dcc46a
Merge pull request #648 from rust-lang/release-plz-2024-07-28T21-08-00Z
Amanieu Jul 28, 2024
b7af607
Switch to a target structure in build.rs
tgross35 Aug 2, 2024
e3de4ab
Add back remaining config on `arm_aeabi_alias`
tgross35 Aug 2, 2024
d91dcf4
Configure which platforms get `f16` and `f128` enabled by default
tgross35 Aug 2, 2024
ce16d53
Make use of new `f16` and `f128` config options
tgross35 Aug 2, 2024
f2de609
Update which platforms have no `f16` symbols
tgross35 Aug 2, 2024
662a224
Correct `sys_avialable` for `f64` -> `f16` truncation
tgross35 Aug 2, 2024
614f96b
Update to the latest `rustc_apfloat`
tgross35 Aug 3, 2024
c6f95d7
Update float conversion tests
tgross35 Aug 3, 2024
1211d02
Merge pull request #652 from tgross35/control-f16-f128-feature
Amanieu Aug 4, 2024
ae3c532
chore: release
github-actions[bot] Aug 4, 2024
e7341d5
Merge pull request #657 from rust-lang/release-plz-2024-08-04T23-17-24Z
Amanieu Aug 5, 2024
59b1348
Fix emscripten as `os` rather than `env`.
tgross35 Aug 5, 2024
2216530
Merge pull request #658 from tgross35/emscripten-fix
Amanieu Aug 5, 2024
2e2a925
Eliminate the use of `public_test_dep!`
tgross35 Aug 4, 2024
6736513
Merge pull request #656 from tgross35/public-test-deps
Amanieu Aug 6, 2024
cca0d36
chore: release
github-actions[bot] Aug 6, 2024
6dc83b6
Merge pull request #659 from rust-lang/release-plz-2024-08-05T21-58-41Z
tgross35 Aug 6, 2024
47e50fd
Revert "Eliminate the use of `public_test_dep!`"
tgross35 Aug 7, 2024
01f7b1a
Merge pull request #661 from rust-lang/revert-656-public-test-deps
tgross35 Aug 7, 2024
9bd5539
chore: release
github-actions[bot] Aug 7, 2024
6652b65
Merge pull request #662 from rust-lang/release-plz-2024-08-07T02-18-43Z
ChrisDenton Aug 7, 2024
2207206
Update `libm` submodule
GuillaumeGomez Aug 8, 2024
ed34a6c
Activate `force-soft-floats` feature in `build.rs`
GuillaumeGomez Aug 8, 2024
af92df3
Merge pull request #663 from GuillaumeGomez/soft-floats
Amanieu Aug 8, 2024
015113d
chore: release
github-actions[bot] Aug 8, 2024
3ad4d9c
Merge pull request #664 from rust-lang/release-plz-2024-08-08T12-17-08Z
Amanieu Aug 8, 2024
6a80b90
Configure `f16` and `f128` support for WebAssembly
kleisauke Aug 11, 2024
35c5554
Fix CI for targets that conditionally disable `f16` or `f128` support
kleisauke Aug 12, 2024
7f9209d
Merge pull request #665 from kleisauke/wasm-f16-f128-feature
tgross35 Aug 12, 2024
0b364b1
chore: release
github-actions[bot] Aug 12, 2024
a4cd445
Merge pull request #668 from rust-lang/release-plz-2024-08-12T16-42-15Z
tgross35 Aug 12, 2024
7fc5c94
Add `configure.rs` to the `include` list
kleisauke Aug 12, 2024
dae1ac6
Merge pull request #669 from kleisauke/fix-publish
tgross35 Aug 12, 2024
0f809f6
Apply fixes to `build.rs` files
tgross35 Aug 19, 2024
d96d3a7
Merge pull request #670 from tgross35/build-fix
tgross35 Aug 19, 2024
6651d11
Fix weak linkage on windows and apple platforms
Amjad50 Aug 22, 2024
be4374f
Merge pull request #672 from Amjad50/fix-weak-linkage
tgross35 Aug 22, 2024
71e9468
chore: release
github-actions[bot] Aug 22, 2024
404fe91
Merge pull request #671 from rust-lang/release-plz-2024-08-19T12-14-41Z
tgross35 Aug 22, 2024
f3882e4
Use array simd in `U64x2`
scottmcm Aug 22, 2024
caf5998
Merge pull request #673 from scottmcm/only-array-simd
tgross35 Aug 22, 2024
2fcb07e
chore: release
github-actions[bot] Aug 22, 2024
41d37b4
Merge pull request #674 from rust-lang/release-plz-2024-08-22T08-01-12Z
tgross35 Aug 22, 2024
fb6cb2a
Use `macos-latest` in CI for `aarch64-apple-darwin`
beetrees Aug 24, 2024
b44d52f
Use `macos-13` in CI for `x86_64-apple-darwin`
beetrees Aug 24, 2024
d78cc8e
Merge pull request #676 from beetrees/ci-macos-latest
tgross35 Aug 24, 2024
a113c7c
Fix ABI for `f16` builtins on Intel Apple targets
beetrees Aug 23, 2024
6b53289
chore: release
github-actions[bot] Aug 25, 2024
081192c
Merge pull request #677 from rust-lang/release-plz-2024-08-25T04-08-05Z
tgross35 Aug 25, 2024
0fab77e
Don't include `math` for `unix` and `wasi` targets
Amjad50 Aug 27, 2024
9c1fe0e
Merge pull request #680 from Amjad50/fix-builtin-math-symbols-ignored
tgross35 Aug 28, 2024
570faeb
chore: release
github-actions[bot] Aug 28, 2024
43185fa
Merge pull request #681 from rust-lang/release-plz-2024-08-28T16-15-08Z
tgross35 Aug 28, 2024
95c6236
[hexagon] Remove aliases w/o leading __
androm3da Aug 31, 2024
a2f9bcd
Merge pull request #682 from CodeLinaro/bcain/dunders
tgross35 Sep 1, 2024
3442c02
chore: release
github-actions[bot] Sep 1, 2024
6bec9db
Merge pull request #683 from rust-lang/release-plz-2024-09-01T03-20-30Z
tgross35 Sep 1, 2024
729ba06
Remove unsupported *vfp functions (#678)
sbechet Sep 4, 2024
d840fb6
Use the trifecta div algorithm for 128-bit div on wasm
alexcrichton Sep 5, 2024
1e5a686
Merge pull request #685 from alexcrichton/wams-div128
tgross35 Sep 5, 2024
6d7ff42
chore: release
github-actions[bot] Sep 5, 2024
b411563
Merge pull request #684 from rust-lang/release-plz-2024-09-04T02-56-14Z
tgross35 Sep 5, 2024
a863636
use `naked_asm!` in `#[naked]` functions
folkertdev Sep 9, 2024
cced7fb
Merge pull request #686 from folkertdev/use-naked-asm
tgross35 Sep 11, 2024
30603f2
chore: release
github-actions[bot] Sep 11, 2024
4797774
Merge pull request #687 from rust-lang/release-plz-2024-09-11T17-09-03Z
Amanieu Sep 13, 2024
02d5e44
Add `Shr` to `u256`
tgross35 Aug 19, 2024
accd88f
Update bounds and docs for the `Float` trait
tgross35 Aug 19, 2024
8990af8
Make float division generic
tgross35 Aug 19, 2024
910e92f
Add `f128` division
tgross35 Aug 19, 2024
5c153cf
Add benchmarks for `f128` division
tgross35 Aug 19, 2024
e86ef27
Merge pull request #622 from tgross35/f128-div
tgross35 Sep 24, 2024
5bf19f1
chore: release
github-actions[bot] Sep 24, 2024
48f67cf
Merge pull request #688 from rust-lang/release-plz-2024-09-24T16-40-42Z
tgross35 Sep 24, 2024
b9a1617
Bump cc dependency
arttet Sep 25, 2024
3bfc9cc
Merge pull request #690 from arttet/chore/cc
tgross35 Sep 25, 2024
543868b
chore: release
github-actions[bot] Sep 25, 2024
cc385f4
Merge pull request #691 from rust-lang/release-plz-2024-09-25T14-37-02Z
tgross35 Sep 25, 2024
7c4138c
Fixed `__divtf3` having wrong cfg for f128
Tazdevil971 Sep 26, 2024
bb18ce5
Merge pull request #692 from Tazdevil971/master
tgross35 Sep 26, 2024
1191189
Revert "Bump cc dependency"
tgross35 Sep 27, 2024
3feb7e6
Merge pull request #695 from rust-lang/revert-690-chore/cc
tgross35 Sep 27, 2024
e2758ad
chore: release
github-actions[bot] Sep 27, 2024
40015f2
Merge pull request #693 from rust-lang/release-plz-2024-09-26T14-27-12Z
tgross35 Sep 27, 2024
0fc4cdd
Remove unneeded features
tgross35 Sep 27, 2024
d50b093
Merge pull request #694 from tgross35/feature-cleanup
tgross35 Sep 28, 2024
5d5e2a2
Move `float_pow` tests to their own file
tgross35 Aug 19, 2024
79d817d
Add support for `f128` integer exponentiation
tgross35 Aug 19, 2024
31c4a8e
Add a benchmark for `__powitf2`
tgross35 Aug 19, 2024
9975c79
Merge pull request #614 from tgross35/f16-f128-powi
tgross35 Sep 28, 2024
1150e9a
chore: release
github-actions[bot] Sep 28, 2024
243871e
Merge pull request #696 from rust-lang/release-plz-2024-09-28T15-03-56Z
tgross35 Sep 28, 2024
5849947
Resolve FIXMEs related to `f16` assembly
tgross35 Sep 28, 2024
d5ca981
Merge pull request #697 from tgross35/f16-asm
tgross35 Sep 28, 2024
03f0916
Ungate tests that were skipped due to a broken implementation
tgross35 Sep 28, 2024
5d68310
Merge pull request #698 from tgross35/skip-asm-checks-fixme
tgross35 Sep 28, 2024
4e21112
Revert "Temporarily `use define_rust_probestack;`"
tgross35 Sep 28, 2024
ea86bf9
Merge pull request #699 from tgross35/resolve-macro-fixme
tgross35 Sep 28, 2024
b1e6c1d
Fix some warnings from shellcheck
tgross35 Sep 28, 2024
bfc64e3
Merge pull request #701 from tgross35/shellcheck-fixes
tgross35 Sep 29, 2024
3a3745b
Add riscv64gc to CI
tgross35 Oct 2, 2024
4e1ec89
Merge pull request #704 from tgross35/riscv-ci
Amanieu Oct 3, 2024
64282a7
Build with `-Werror=implicit-function-declaration`
XrXr May 30, 2024
8bc5b9c
Merge pull request #627 from XrXr/werror-implicit-function-declaration
tgross35 Oct 3, 2024
4eecc5e
chore: release
github-actions[bot] Oct 3, 2024
2ab1f19
Merge pull request #700 from rust-lang/release-plz-2024-09-28T22-28-58Z
tgross35 Oct 3, 2024
a8645c7
Upgrade CI LLVM version to 19.1
tgross35 Oct 2, 2024
dff1601
Merge pull request #703 from tgross35/upgrade-llvm-version
tgross35 Oct 3, 2024
749c12f
Allow implicit function decl on A64
XrXr Oct 4, 2024
e6e4513
Merge pull request #706 from XrXr/limit-fix
tgross35 Oct 4, 2024
0b6dead
chore: release
github-actions[bot] Oct 4, 2024
96851fd
Merge pull request #705 from rust-lang/release-plz-2024-10-03T15-57-49Z
tgross35 Oct 4, 2024
727e350
fix(int): avoid infinite recursion on left shift
raskyld Oct 6, 2024
87077a9
Add a note about avoiding default implemenations in some places
tgross35 Oct 6, 2024
8a610fb
Merge pull request #708 from tgross35/raskyld/master
tgross35 Oct 6, 2024
ad1dbeb
chore: release
github-actions[bot] Oct 6, 2024
cb06005
Merge pull request #709 from rust-lang/release-plz-2024-10-06T02-07-59Z
tgross35 Oct 6, 2024
da81131
[SOL] Make SBF target specific adjustments
dmakarov Aug 12, 2022
e8367ad
[SOL] Disable f16 and f128
LucasSte Aug 8, 2024
d924746
1.83 adjustments
c410-f3r Dec 3, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
113 changes: 95 additions & 18 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
@@ -1,16 +1,31 @@
name: CI
on: [push, pull_request]

env:
RUSTDOCFLAGS: -Dwarnings
RUSTFLAGS: -Dwarnings
RUST_LLVM_VERSION: 19.1-2024-09-17
RUST_COMPILER_RT_ROOT: ./compiler-rt

jobs:
test:
name: Test
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
include:
- target: aarch64-apple-darwin
os: macos-latest
rust: nightly
- target: aarch64-unknown-linux-gnu
os: ubuntu-latest
rust: nightly
- target: aarch64-pc-windows-msvc
os: windows-latest
rust: nightly
test_verbatim: 1
no_std: 1
- target: arm-unknown-linux-gnueabi
os: ubuntu-latest
rust: nightly
Expand All @@ -23,25 +38,33 @@ jobs:
- target: i686-unknown-linux-gnu
os: ubuntu-latest
rust: nightly
- target: mips-unknown-linux-gnu
os: ubuntu-latest
rust: nightly
- target: mips64-unknown-linux-gnuabi64
os: ubuntu-latest
rust: nightly
- target: mips64el-unknown-linux-gnuabi64
# MIPS targets disabled since they are dropped to tier 3.
# See https://github.com/rust-lang/compiler-team/issues/648
#- target: mips-unknown-linux-gnu
# os: ubuntu-latest
# rust: nightly
#- target: mips64-unknown-linux-gnuabi64
# os: ubuntu-latest
# rust: nightly
#- target: mips64el-unknown-linux-gnuabi64
# os: ubuntu-latest
# rust: nightly
#- target: mipsel-unknown-linux-gnu
# os: ubuntu-latest
# rust: nightly
- target: powerpc-unknown-linux-gnu
os: ubuntu-latest
rust: nightly
- target: mipsel-unknown-linux-gnu
- target: powerpc64-unknown-linux-gnu
os: ubuntu-latest
rust: nightly
- target: powerpc-unknown-linux-gnu
- target: powerpc64le-unknown-linux-gnu
os: ubuntu-latest
rust: nightly
- target: powerpc64-unknown-linux-gnu
- target: riscv64gc-unknown-linux-gnu
os: ubuntu-latest
rust: nightly
- target: powerpc64le-unknown-linux-gnu
- target: sbf-solana-solana
os: ubuntu-latest
rust: nightly
- target: thumbv6m-none-eabi
Expand All @@ -63,50 +86,88 @@ jobs:
os: ubuntu-latest
rust: nightly
- target: x86_64-apple-darwin
os: macos-latest
os: macos-13
rust: nightly
- target: i686-pc-windows-msvc
os: windows-latest
rust: nightly
test_verbatim: 1
- target: x86_64-pc-windows-msvc
os: windows-latest
rust: nightly
test_verbatim: 1
- target: i686-pc-windows-gnu
os: windows-latest
rust: nightly-i686-gnu
- target: x86_64-pc-windows-gnu
os: windows-latest
rust: nightly-x86_64-gnu
steps:
- uses: actions/checkout@v1
- name: Print runner information
run: uname -a
- uses: actions/checkout@v4
with:
submodules: true
- name: Install Rust (rustup)
run: rustup update ${{ matrix.rust }} --no-self-update && rustup default ${{ matrix.rust }}
shell: bash
- run: rustup target add ${{ matrix.target }}
if: matrix.target != 'sbf-solana-solana'
- run: rustup component add llvm-tools-preview
- uses: Swatinem/rust-cache@v2
with:
key: ${{ matrix.target }}
- name: Cache Docker layers
uses: actions/cache@v2
if: matrix.os == 'ubuntu-latest'
with:
path: /tmp/.buildx-cache
key: ${{ matrix.target }}-buildx-${{ github.sha }}
restore-keys: ${{ matrix.target }}-buildx-

- name: Cache compiler-rt
id: cache-compiler-rt
uses: actions/cache@v4
with:
path: compiler-rt
key: ${{ runner.os }}-compiler-rt-${{ env.RUST_LLVM_VERSION }}
- name: Download compiler-rt reference sources
if: steps.cache-compiler-rt.outputs.cache-hit != 'true'
run: |
curl -L -o code.tar.gz https://github.com/rust-lang/llvm-project/archive/rustc/12.0-2021-04-15.tar.gz
tar xzf code.tar.gz --strip-components 1 llvm-project-rustc-12.0-2021-04-15/compiler-rt
echo RUST_COMPILER_RT_ROOT=./compiler-rt >> $GITHUB_ENV
curl -L -o code.tar.gz "https://github.com/rust-lang/llvm-project/archive/rustc/${RUST_LLVM_VERSION}.tar.gz"
tar xzf code.tar.gz --strip-components 1 llvm-project-rustc-${RUST_LLVM_VERSION}/compiler-rt
shell: bash

# Non-linux tests just use our raw script
- run: ./ci/run.sh ${{ matrix.target }}
if: matrix.os != 'ubuntu-latest'
shell: bash
env:
NO_STD: ${{ matrix.no_std }}
TEST_VERBATIM: ${{ matrix.test_verbatim }}

# Configure buildx to use Docker layer caching
- uses: docker/setup-buildx-action@v3
if: matrix.os == 'ubuntu-latest'

# Otherwise we use our docker containers to run builds
- run: cargo generate-lockfile && ./ci/run-docker.sh ${{ matrix.target }}
if: matrix.os == 'ubuntu-latest'

# Workaround to keep Docker cache smaller
# https://github.com/docker/build-push-action/issues/252
# https://github.com/moby/buildkit/issues/1896
- name: Move Docker cache
if: matrix.os == 'ubuntu-latest'
run: |
rm -rf /tmp/.buildx-cache
mv /tmp/.buildx-cache-new /tmp/.buildx-cache

rustfmt:
name: Rustfmt
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- uses: actions/checkout@v4
with:
submodules: true
- name: Install stable `rustfmt`
Expand All @@ -117,12 +178,28 @@ jobs:
name: Clippy
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- uses: actions/checkout@v4
with:
submodules: true
# Unlike rustfmt, stable clippy does not work on code with nightly features.
# This acquires the most recent nightly with a clippy component.
- name: Install nightly `clippy`
run: |
rustup set profile minimal && rustup default "nightly-$(curl -s https://rust-lang.github.io/rustup-components-history/x86_64-unknown-linux-gnu/clippy)" && rustup component add clippy
- uses: Swatinem/rust-cache@v2
- run: cargo clippy -- -D clippy::all

success:
needs:
- test
- rustfmt
- clippy
runs-on: ubuntu-latest
# GitHub branch protection is exceedingly silly and treats "jobs skipped because a dependency
# failed" as success. So we have to do some contortions to ensure the job fails if any of its
# dependencies fails.
if: always() # make sure this is never "skipped"
steps:
# Manually check the status of all dependencies. `if: failure()` does not work.
- name: check if any dependency failed
run: jq --exit-status 'all(.result == "success")' <<< '${{ toJson(needs) }}'
30 changes: 30 additions & 0 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
name: Release-plz

permissions:
pull-requests: write
contents: write

on:
push:
branches:
- master

jobs:
release-plz:
name: Release-plz
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 0
submodules: true
- name: Install Rust (rustup)
run: rustup update nightly --no-self-update && rustup default nightly
- name: Publish `libm` as part of builtins, rather than its own crate
run: rm libm/Cargo.toml
- name: Run release-plz
uses: MarcoIeni/[email protected]
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }}
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
*.rs.bk
Cargo.lock
target
compiler-rt
*.tar.gz
8 changes: 8 additions & 0 deletions .release-plz.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
[workspace]
changelog_update = false
semver_check = false

# As part of the release process, we delete `libm/Cargo.toml`. Since
# this is only run in CI, we shouldn't need to worry about it.
allow_dirty = true
publish_allow_dirty = true
26 changes: 12 additions & 14 deletions Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,19 +1,21 @@
[package]
authors = ["Jorge Aparicio <[email protected]>"]
name = "compiler_builtins"
version = "0.1.95"
version = "0.1.133"
license = "MIT/Apache-2.0"
readme = "README.md"
repository = "https://github.com/rust-lang/compiler-builtins"
homepage = "https://github.com/rust-lang/compiler-builtins"
documentation = "https://docs.rs/compiler_builtins"
edition = "2021"
description = """
Compiler intrinsics used by the Rust compiler. Also available for other targets
if necessary!
"""
include = [
'/Cargo.toml',
'/build.rs',
'/configure.rs',
'/src/*',
'/examples/*',
'/LICENSE.txt',
Expand All @@ -27,8 +29,8 @@ links = 'compiler-rt'
test = false

[dependencies]
# For more information on this dependency see rust-lang/rust's
# `src/tools/rustc-std-workspace` folder
# For more information on this dependency see
# https://github.com/rust-lang/rust/tree/master/library/rustc-std-workspace-core
core = { version = "1.0.0", optional = true, package = 'rustc-std-workspace-core' }

[build-dependencies]
Expand All @@ -48,6 +50,10 @@ c = ["cc"]
# which use inline assembly and fall back to pure Rust versions (if avalible).
no-asm = []

# Workaround for codegen backends which haven't yet implemented `f16` and
# `f128` support. Disabled any intrinsics which use those types.
no-f16-f128 = []

# Flag this library as the unstable compiler-builtins lib
compiler-builtins = []

Expand All @@ -65,17 +71,6 @@ rustc-dep-of-std = ['compiler-builtins', 'core']
# are not normally public but are required by the `testcrate`
public-test-deps = []

# Marks all intrinsics functions with weak linkage so that they can be
# replaced at link time by another implementation. This is particularly useful
# for mixed Rust/C++ binaries that want to use the C++ intrinsics, otherwise
# linking against the Rust stdlib will replace those from the compiler-rt
# library.
#
# Unlike the "c" feature, the intrinsics are still provided by the Rust
# implementations and each will be used unless a stronger symbol replaces
# it during linking.
weak-intrinsics = []

[[example]]
name = "intrinsics"
required-features = ["compiler-builtins"]
Expand All @@ -88,3 +83,6 @@ panic = 'abort'

[profile.dev]
panic = 'abort'

[lints.rust]
unexpected_cfgs = { level = "warn", check-cfg = ['cfg(target_family, values("solana"))', 'cfg(target_feature, values("static-syscalls"))', 'cfg(target_os, values("solana"))'] }
Loading