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

Subtree update of rustc_codegen_gcc #121390

Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
219 commits
Select commit Hold shift + click to select a range
75fce09
Merge commit '2e8386e9fb3506cef991d04f8b3bc78f9a0c2630' into subtree-…
antoyo Nov 19, 2023
456754c
Pass TyCtxt by value
antoyo Nov 19, 2023
a412e9c
Update README
antoyo Nov 22, 2023
fbb97bd
Merge branch 'master' into sync_from_rust_2023_11_21
antoyo Nov 22, 2023
bcd0bf5
Merge pull request #388 from rust-lang/sync_from_rust_2023_11_21
antoyo Nov 22, 2023
4de5d37
Avoid need for `{D,Subd}iagnosticMessage` imports.
nnethercote Nov 21, 2023
8e13be0
Use `rustc_fluent_macro::fluent_messages!` directly.
nnethercote Nov 21, 2023
cc7c9be
implement simd_bswap intrinsic
sadlerap Oct 8, 2023
6d13f94
remove generic-bswap-byte from failing test list
sadlerap Nov 10, 2023
70586a2
fix simd_frem intrinsic implementation
sadlerap Oct 8, 2023
8d42a82
impl simd_bitreverse intrinsic
sadlerap Oct 8, 2023
03e11a2
impl simd_ctlz/simd_cttz intrinsic
sadlerap Oct 20, 2023
3a22132
fix simd_neg implementation for ints
sadlerap Nov 10, 2023
17b2c46
remove generic-arithmetic-pass from failing tests
sadlerap Nov 10, 2023
bb4d0be
Fix build instructions
GuillaumeGomez Dec 2, 2023
0a67e9c
Merge pull request #391 from GuillaumeGomez/fix-build-instructions
antoyo Dec 2, 2023
f9a228d
Rename some arguments.
nnethercote Dec 3, 2023
04f32f2
Allow rustfmt to run on `build_system`
GuillaumeGomez Nov 13, 2023
7b76ac4
Rustify `test.sh`
GuillaumeGomez Nov 8, 2023
84ca4f5
Remove `test.sh`, `config.sh` and all calls and documentation pointin…
GuillaumeGomez Nov 16, 2023
d3e14a4
Display stdout and stderr if a command failed to run
GuillaumeGomez Nov 21, 2023
8cc024c
Fix invalid path in `build_sysroot_inner`
GuillaumeGomez Nov 21, 2023
694a80d
Add missing `--build-sysroot` option
GuillaumeGomez Nov 21, 2023
c27fe3e
Correctly handle channel in config
GuillaumeGomez Nov 22, 2023
9d104a0
Clone rust repository before modifying it
GuillaumeGomez Nov 22, 2023
87c284c
Only read rust test files
GuillaumeGomez Nov 22, 2023
23c97b5
Replace `xargs` command with pure Rust
GuillaumeGomez Nov 22, 2023
673661d
Remove newline for llvm FileCheck binary path
GuillaumeGomez Nov 22, 2023
d793f80
Correctly pass `cfg` option
GuillaumeGomez Nov 23, 2023
4bed89f
Correctly pass toolchain to cargo command
GuillaumeGomez Nov 23, 2023
3c6bae7
Use the correct folder when deleting rust UI tests
GuillaumeGomez Nov 23, 2023
7013ecc
Add missing code comment
GuillaumeGomez Nov 23, 2023
ad1d541
Set RUSTDOCFLAGS environment variable in `run_cargo_command_with_call…
GuillaumeGomez Nov 23, 2023
7d71b87
Correctly set `--cap-lints` when running regex tests
GuillaumeGomez Nov 23, 2023
970b2c7
Fix `build_sysroot` by adding missing `RUSTFLAGS` environment variable
GuillaumeGomez Nov 24, 2023
ff04316
Remove `--target` option
GuillaumeGomez Nov 24, 2023
53b2759
Show command which failed
GuillaumeGomez Nov 24, 2023
2ec8d46
Correctly handle `OVERWRITE_TARGET_TRIPLE` env variable
GuillaumeGomez Nov 24, 2023
996635b
Fix chroot command
GuillaumeGomez Nov 24, 2023
ebb7aa0
Apply suggestions
GuillaumeGomez Dec 1, 2023
2baa073
Add emulated TLS support
quininer Nov 13, 2023
19e1176
Update rustc_codegen_gcc libc
Urgau Dec 7, 2023
3cfff05
Allow internal_features in rustc_codegen_gcc examples
Urgau Dec 7, 2023
cb32ffd
ctfe interpreter: extend provenance so that it can track whether a po…
RalfJung Nov 25, 2023
17f0dd5
Auto merge of #118324 - RalfJung:ctfe-read-only-pointers, r=saethlin
bors Dec 7, 2023
c578f43
Auto merge of #117873 - quininer:android-emutls, r=Amanieu
bors Dec 9, 2023
92de9d4
Remove dead codes
mu001999 Dec 11, 2023
a72e20d
Fix rustc codegen gcc tests
Urgau Dec 11, 2023
867ea12
Fix non-running rustc ui tests
GuillaumeGomez Dec 5, 2023
e1f039f
Add unstable `-Zdefault-hidden-visibility` cmdline flag for `rustc`.
anforowicz Dec 13, 2023
b1affb9
Move rustc_codegen_ssa target features to rustc_target
Urgau Dec 12, 2023
db9b932
Fix sysroot build
GuillaumeGomez Dec 13, 2023
95dfe5e
Simplify `split_args` code, add a unit test for it and run it into CI
GuillaumeGomez Dec 16, 2023
9882d7c
Apply suggestions
GuillaumeGomez Dec 16, 2023
335e3ec
Auto merge of #118828 - mu001999:master, r=b-naber
bors Dec 17, 2023
590e0d9
Rename `Handler` as `DiagCtxt`.
nnethercote Dec 17, 2023
a5c63ae
Rename `CodegenContext::create_diag_handler` as `CodegenContext::crea…
nnethercote Dec 17, 2023
5ea71c1
Rename many `DiagCtxt` arguments.
nnethercote Dec 17, 2023
472ea06
Add `level` arg to `into_diagnostic`.
nnethercote Dec 18, 2023
a8b0e30
Error earlier if the rustc host cannot be found
GuillaumeGomez Dec 18, 2023
f516c96
Add comment about why `-Cpanic=abort` option is needed
GuillaumeGomez Dec 19, 2023
bb4fd2c
Simplify code by removing unneeded pattern matching
GuillaumeGomez Dec 19, 2023
984e045
Show output of `--mini-tests` and `--std-tests` commands
GuillaumeGomez Dec 19, 2023
a46066c
Remove ignored commands from gcc12 CI
GuillaumeGomez Dec 19, 2023
db49437
Merge pull request #382 from sadlerap/impl-generic-arithmetic-pass
antoyo Dec 19, 2023
6e53832
Simplify `Runner` type alias
GuillaumeGomez Dec 19, 2023
8e870c7
Remove unused `TestArgs::use_backend` and display messages in case a …
GuillaumeGomez Dec 19, 2023
e0c4d65
Merge pull request #384 from GuillaumeGomez/rustify-test
antoyo Dec 19, 2023
05ef689
Remove unused `build_sysroot.sh` file
GuillaumeGomez Dec 20, 2023
e26e074
Rustify `clean_all.sh`
GuillaumeGomez Dec 20, 2023
7dad07a
Merge pull request #396 from GuillaumeGomez/rustify-clean-all
antoyo Dec 20, 2023
9a8245f
Remove unused `rustup.sh` script
GuillaumeGomez Dec 20, 2023
9131ece
Merge pull request #397 from GuillaumeGomez/rm-rustup-sh
antoyo Dec 20, 2023
87a704a
If the rustc commit cannot be retrieve, just checkout the repository
GuillaumeGomez Dec 20, 2023
6631dd9
Don't stop test if llvm FileCheck cannot be found
GuillaumeGomez Dec 20, 2023
a53495a
Add comment
antoyo Dec 21, 2023
b2e0cc5
Merge pull request #399 from GuillaumeGomez/checkout
antoyo Dec 21, 2023
2e52b08
Rustify `cargo.sh`
GuillaumeGomez Dec 21, 2023
ec94074
Correctly take into account potential position of cargo command in `y…
GuillaumeGomez Dec 21, 2023
02ed790
Remove `Session` methods that duplicate `DiagCtxt` methods.
nnethercote Dec 18, 2023
69b5a9f
Change `rustc_codegen_ssa`'s `atomic_cmpxchg` interface to return a p…
Nov 30, 2023
eca05c6
Remove movability from TyKind::Coroutine
compiler-errors Dec 21, 2023
c122376
Don't show `cargo` command errors
GuillaumeGomez Dec 29, 2023
a2efaf0
Auto merge of #118705 - WaffleLapkin:codegen-atomic-exhange-untuple, …
bors Dec 30, 2023
a91d9e1
Merge pull request #405 from GuillaumeGomez/rustify-cargo-sh
antoyo Dec 30, 2023
a56eff2
Rename some `Diagnostic` setters.
nnethercote Dec 23, 2023
f93e985
Support reg_addr register class in s390x inline assembly
taiki-e Jan 3, 2024
b5681ca
Update intrinsics conversion
GuillaumeGomez Jan 3, 2024
fac7c31
Merge pull request #408 from GuillaumeGomez/intrinsics-conversion
antoyo Jan 3, 2024
fe71e04
Rollup merge of #119431 - taiki-e:asm-s390x-reg-addr, r=Amanieu
matthiaskrgr Jan 4, 2024
41b758f
Rollup merge of #119538 - nnethercote:cleanup-errors-5, r=compiler-er…
compiler-errors Jan 5, 2024
47b0606
Update test for `E0796` and `static_mut_ref` lint
obeis Dec 22, 2023
b10f5dd
Fix typo Readme.md
vuittont60 Jan 9, 2024
4e8627c
Fix typo src/base.rs
vuittont60 Jan 9, 2024
f8e079a
Fix typo src/intrinsic/llvm.rs
vuittont60 Jan 9, 2024
47373be
Merge pull request #410 from vuittont60/master
antoyo Jan 9, 2024
558d051
Rename `{create,emit}_warning` as `{create,emit}_warn`.
nnethercote Jan 4, 2024
45137dd
Fix the destination path of the sysroot copy
antoyo Jan 11, 2024
5032d33
Merge pull request #411 from rust-lang/fix/sysroot-copy-path
antoyo Jan 11, 2024
0fe5c7f
Switch from actions-rs to preinstalled rustup
tgross35 Jan 12, 2024
1a8e0c3
Merge pull request #412 from tgross35/gha-update
antoyo Jan 12, 2024
0783d45
add avx512fp16 to x86 target features
usamoi Jan 3, 2024
5294637
Honor $RUSTUP_HOME
NCGThompson Jan 14, 2024
7dd3f6f
call rustup which
NCGThompson Jan 14, 2024
dcb531f
Update build_system/src/test.rs
NCGThompson Jan 16, 2024
94ed9d1
rename `y.sh test --clean-ui-tests` to `y.sh clean ui-tests`
rowan-sl Jan 18, 2024
e4e9365
Merge pull request #413 from NCGThompson/check-rustup-home-flag
antoyo Jan 19, 2024
d34789f
update Intel Software Development Emulator
rowan-sl Jan 19, 2024
e747d42
Merge pull request #415 from rowan-sl/rename-clean-ui-tests
antoyo Jan 19, 2024
599492a
replace filter with skip and take
Liewyec Jan 20, 2024
b2a7afd
Further Implement `is_val_statically_known`
NCGThompson Jan 23, 2024
215284a
remove StructuralEq trait
RalfJung Sep 26, 2023
d645e16
Auto merge of #119911 - NCGThompson:is-statically-known, r=oli-obk
bors Jan 25, 2024
bb121d1
Auto merge of #116167 - RalfJung:structural-eq, r=lcnr
bors Jan 26, 2024
b9d44ee
Remove the lifetime from `DiagnosticArgValue`.
nnethercote Jan 30, 2024
04e4c5d
Remove `ffi_returns_twice` feature
clubby789 Jan 30, 2024
2a36f58
Merge pull request #416 from Liewyec/feature/improve-iterator-for-fil…
antoyo Feb 1, 2024
ad8e820
Update for rebased gcc
antoyo Jan 26, 2024
b04824a
Merge pull request #421 from rust-lang/update/gcc
antoyo Feb 2, 2024
0a38748
Renable intrinsics-integer.rs test
antoyo Feb 3, 2024
fe7be54
Rollup merge of #119543 - usamoi:avx512fp16, r=oli-obk
matthiaskrgr Feb 3, 2024
007cea3
Invert diagnostic lints.
nnethercote Feb 5, 2024
31f7f03
Add CoroutineClosure to TyKind, AggregateKind, UpvarArgs
compiler-errors Jan 24, 2024
1f5316a
Rollup merge of #120502 - clubby789:remove-ffi-returns-twice, r=compi…
matthiaskrgr Feb 6, 2024
8235b26
Merge pull request #423 from rust-lang/fix/bswap128
antoyo Feb 7, 2024
5a12a89
Rollup merge of #120693 - nnethercote:invert-diagnostic-lints, r=davi…
matthiaskrgr Feb 9, 2024
6b05753
Run the tests of popular crates in the CI
antoyo Feb 8, 2024
357cae8
Merge pull request #426 from rust-lang/ci/projects
antoyo Feb 10, 2024
2640b31
Switch to `config.toml` instead of `gcc-path`
GuillaumeGomez Feb 9, 2024
0b2402f
Update CI scripts to work with `config.toml`
GuillaumeGomez Feb 9, 2024
79241b8
Update tests to use `config.toml` instead
GuillaumeGomez Feb 9, 2024
de9d1b6
Add `--config-file` option to override default location of `config.toml`
GuillaumeGomez Feb 9, 2024
560e65c
Merge pull request #427 from GuillaumeGomez/config-file
antoyo Feb 11, 2024
588db24
Correctly handle `--use-system-gcc`
GuillaumeGomez Feb 12, 2024
64dfa4f
Teach llvm backend how to fall back to default bodies
oli-obk Jan 31, 2024
5d5137c
Rework the download function to only contain the platform-specific code
antoyo Feb 13, 2024
eee04a4
Add support for "download"
GuillaumeGomez Feb 12, 2024
0a4b0af
Generate symbolic link to libgccjit.so as well
GuillaumeGomez Feb 12, 2024
5c6cdf5
Add `info` command to help get some information
GuillaumeGomez Feb 12, 2024
65f4b63
Add CI for download config
GuillaumeGomez Feb 12, 2024
d04ffb0
Update lang_tests_common.rs test
GuillaumeGomez Feb 12, 2024
59546ea
Merge `download.yml` into `ci.yml`
GuillaumeGomez Feb 13, 2024
2bcc735
Don't join config file path if provided through `--config-file` option
GuillaumeGomez Feb 13, 2024
1096b1b
Add more explanation on what `cg_gcc_path` is used for and improve he…
GuillaumeGomez Feb 13, 2024
b80a999
Improve code readability and add more code comments
GuillaumeGomez Feb 13, 2024
ac708d9
Merge pull request #430 from GuillaumeGomez/download-config
antoyo Feb 13, 2024
7faff65
Merge pull request #434 from rust-lang/fix/platform-specific-function
antoyo Feb 13, 2024
267aaef
Move some top-level folders into `build`
GuillaumeGomez Feb 13, 2024
896b1a9
Generate libgccjit.so into the `build` folder
GuillaumeGomez Feb 13, 2024
436fea8
Add `build` folder into the ignored git entries
GuillaumeGomez Feb 13, 2024
46d6e77
Update `tests/lang_tests_common.rs` test
GuillaumeGomez Feb 13, 2024
6afabce
Merge pull request #435 from GuillaumeGomez/clean-up-repo
antoyo Feb 13, 2024
452ebf5
feat(test.rs): Clone only 1 layer in build_system
tempdragon Feb 14, 2024
17e3297
feat(test.rs): Lookup the commit with cat-file to avoid re-fetches
tempdragon Feb 14, 2024
a883c6d
Move `crates_patches` and `cross_patches` into the `patches` folder
GuillaumeGomez Feb 14, 2024
ebac107
Remove paths that don't exist anymore from file
GuillaumeGomez Feb 14, 2024
826a20b
Merge pull request #436 from GuillaumeGomez/cleanup-patches
antoyo Feb 14, 2024
de57533
Implement dummy emit=llvm-ir
antoyo Feb 13, 2024
77b9804
Merge pull request #437 from rust-lang/dummy-emit-ir
antoyo Feb 14, 2024
ec5328b
errors: only eagerly translate subdiagnostics
davidtwco Feb 14, 2024
98c1efd
Put back `master` feature as default
GuillaumeGomez Feb 15, 2024
e69f125
Merge pull request #438 from GuillaumeGomez/master-feature-default
antoyo Feb 15, 2024
af289a5
Use the default rust mangling
antoyo Feb 15, 2024
7b1ac28
Make `CodegenBackend::join_codegen` infallible.
nnethercote Feb 16, 2024
6bdcc3c
Move subtree part of Readme into its own doc file
GuillaumeGomez Feb 17, 2024
cb14f43
Improve instructions to start working on the project
GuillaumeGomez Feb 17, 2024
79316d4
Split Readme even further
GuillaumeGomez Feb 17, 2024
3c6a265
Merge pull request #444 from GuillaumeGomez/improve-docs
antoyo Feb 17, 2024
e9aa254
Rollup merge of #121085 - davidtwco:always-eager-diagnostics, r=nneth…
matthiaskrgr Feb 17, 2024
bd53510
Rollup merge of #121209 - nnethercote:infallible-join_codegen, r=bjorn3
matthiaskrgr Feb 17, 2024
79c8780
Merge pull request #432 from tempdragon/master
GuillaumeGomez Feb 17, 2024
0a66c55
Revert "Use shallow clone in test.rs to reduce cloning overhead"
GuillaumeGomez Feb 17, 2024
1d171ae
Merge pull request #445 from rust-lang/revert-432-master
GuillaumeGomez Feb 17, 2024
e116cb7
Fix to use the correct libgccjit for the CI where 128-bit integers ar…
antoyo Feb 15, 2024
3252355
Merge pull request #440 from rust-lang/use-default-mangling
antoyo Feb 17, 2024
5ac9bee
fix tests/ui/simd/issue-89193.rs and mark as passing
sadlerap Feb 17, 2024
087456f
mark tests/ui/simd/issue-89193.rs as failing for libgccjit12
sadlerap Feb 18, 2024
b959fc1
Improve wording of static_mut_ref
obeis Feb 17, 2024
1f34c88
feat(Cargo.toml): Set `rustc_private` to `true` to allow lsp parsing
tempdragon Feb 18, 2024
c350ae8
Auto merge of #121034 - obeis:improve-static-mut-ref, r=RalfJung
bors Feb 18, 2024
7600140
Merge pull request #447 from tempdragon/master
antoyo Feb 18, 2024
4ec4209
use `default` as output type source in simd_gather
sadlerap Feb 18, 2024
3e02db2
Merge pull request #446 from sadlerap/fix-simd-gather
antoyo Feb 18, 2024
6bbbf59
Update to nightly-2024-02-20
antoyo Feb 20, 2024
f6e16e9
Merge branch 'master' into sync_from_rust_2024_02_20
antoyo Feb 20, 2024
c3d5b7f
Fix patches
antoyo Feb 20, 2024
e7b7c98
Fix tests
antoyo Feb 20, 2024
e785093
Merge pull request #450 from rust-lang/sync_from_rust_2024_02_20
antoyo Feb 20, 2024
b87de73
Correctly handle "master" feature
GuillaumeGomez Feb 21, 2024
d2210d4
Correctly pass `--no-default-features` when argument is passed
GuillaumeGomez Feb 21, 2024
114c25f
Pass `--no-default-features` to codegen as well
GuillaumeGomez Feb 21, 2024
2e67633
Merge pull request #452 from GuillaumeGomez/master-cfg
antoyo Feb 21, 2024
bb5b75f
Update gcc version
antoyo Feb 23, 2024
2262073
Merge pull request #454 from rust-lang/update/gcc
antoyo Feb 23, 2024
c638def
feat(debuginfo): Init Commit for debuginfo Support
tempdragon Feb 23, 2024
2ffe9d1
feat(int.rs&build.rs): Add location info to arithmetic operators
tempdragon Feb 24, 2024
aed59f0
Add `clone-gcc` command
GuillaumeGomez Feb 26, 2024
6560fec
Add documentation on git_clone_root_dir
GuillaumeGomez Feb 27, 2024
64fc213
Merge pull request #456 from GuillaumeGomez/clone-gcc
antoyo Feb 27, 2024
8879155
fix(libgccjit.version): Update GCC commit version
tempdragon Feb 28, 2024
5b053a3
fix(Cargo.lock): Update Cargo.lock
tempdragon Feb 28, 2024
6170f48
fix(builder.rs): Add `cfg(feature = "master")` to set_location
tempdragon Feb 28, 2024
09fd908
fix(code fmt): builder.rs & base.rs
tempdragon Feb 28, 2024
51cd5f1
fix(code fmt): Apply style suggestions from code review
tempdragon Feb 28, 2024
eaeb544
fix(base): Remove the `set_debug_info()` in `compile_codegen_unit`
tempdragon Feb 28, 2024
ef158f2
feat(debuginfo.rs): Add Comments on functions of LLVM Origin
tempdragon Feb 28, 2024
e18d3c3
fix(builder.rs): Apply suggestions from code review
tempdragon Feb 28, 2024
fba0dae
fix(builder.rs): Apply a variable name change to func param.
tempdragon Feb 28, 2024
8c975d9
fix(builder.rs): Rename `r` to `rvalue` in `set_rval_location`
tempdragon Feb 28, 2024
9cc0a42
fix(debuginfo.rs): Cleanup of redundant code.
tempdragon Feb 28, 2024
7c3565e
fix(builder.rs): Add space after self when necessary
tempdragon Feb 28, 2024
6ec5010
Merge pull request #455 from tempdragon/master
antoyo Feb 28, 2024
c2c68e3
Format the code
antoyo Feb 28, 2024
d0ecf0c
Merge pull request #458 from rust-lang/format-code
antoyo Feb 28, 2024
08d1cef
Merge commit 'd0ecf0c262e85876734799c342891845be07e7fb' into master
GuillaumeGomez Mar 1, 2024
1b504c0
Correctly handle "master" feature
GuillaumeGomez Feb 21, 2024
ee8d8cd
Fix build (invalid simd renaming)
GuillaumeGomez Mar 1, 2024
0ac09b1
Remove unneeded special case for rust CI
GuillaumeGomez Mar 3, 2024
bda09e1
Build libgccjit in CI
GuillaumeGomez Mar 1, 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
89 changes: 35 additions & 54 deletions compiler/rustc_codegen_gcc/.github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,8 @@ jobs:
fail-fast: false
matrix:
libgccjit_version:
- { gcc: "libgccjit.so", artifacts_branch: "master" }
- { gcc: "libgccjit_without_int128.so", artifacts_branch: "master-without-128bit-integers" }
- { gcc: "gcc-13.deb" }
- { gcc: "gcc-13-without-int128.deb" }
commands: [
"--mini-tests",
"--std-tests",
Expand All @@ -32,60 +32,39 @@ jobs:
"--extended-regex-tests",
"--test-successful-rustc --nb-parts 2 --current-part 0",
"--test-successful-rustc --nb-parts 2 --current-part 1",
"--projects",
]

steps:
- uses: actions/checkout@v3

# `rustup show` installs from rust-toolchain.toml
- name: Setup rust toolchain
run: rustup show

- name: Setup rust cache
uses: Swatinem/rust-cache@v2

- name: Install packages
# `llvm-14-tools` is needed to install the `FileCheck` binary which is used for asm tests.
run: sudo apt-get install ninja-build ripgrep llvm-14-tools

- name: Install rustfmt
run: rustup component add rustfmt

- name: Download artifact
uses: dawidd6/action-download-artifact@v2
with:
workflow: main.yml
name: gcc-13
path: gcc-13
repo: antoyo/gcc
branch: ${{ matrix.libgccjit_version.artifacts_branch }}
event: push
search_artifacts: true # Because, instead, the action only check the last job ran and that won't work since we want multiple artifacts.
run: curl -LO https://github.com/antoyo/gcc/releases/latest/download/${{ matrix.libgccjit_version.gcc }}

- name: Setup path to libgccjit
run: |
sudo dpkg --force-overwrite -i gcc-13/gcc-13.deb
echo /usr/lib/ > gcc_path
sudo dpkg --force-overwrite -i ${{ matrix.libgccjit_version.gcc }}
echo 'gcc-path = "/usr/lib/"' > config.toml

- name: Set env
run: |
echo "LIBRARY_PATH=$(cat gcc_path)" >> $GITHUB_ENV
echo "LD_LIBRARY_PATH=$(cat gcc_path)" >> $GITHUB_ENV
echo "workspace="$GITHUB_WORKSPACE >> $GITHUB_ENV

- name: Cache cargo installed crates
uses: actions/cache@v3
with:
path: ~/.cargo/bin
key: cargo-installed-crates2-ubuntu-latest

- name: Cache cargo registry
uses: actions/cache@v3
with:
path: ~/.cargo/registry
key: ${{ runner.os }}-cargo-registry2-${{ hashFiles('**/Cargo.lock') }}

- name: Cache cargo index
uses: actions/cache@v3
with:
path: ~/.cargo/git
key: ${{ runner.os }}-cargo-index-${{ hashFiles('**/Cargo.lock') }}

- name: Cache cargo target dir
uses: actions/cache@v3
with:
path: target
key: ${{ runner.os }}-cargo-build-target-${{ hashFiles('rust-toolchain') }}
echo "LIBRARY_PATH=/usr/lib" >> $GITHUB_ENV
echo "LD_LIBRARY_PATH=/usr/lib" >> $GITHUB_ENV

#- name: Cache rust repository
## We only clone the rust repository for rustc tests
Expand All @@ -99,35 +78,37 @@ jobs:
- name: Build
run: |
./y.sh prepare --only-libcore
# TODO: remove --features master when it is back to the default.
./y.sh build --features master
# TODO: remove --features master when it is back to the default.
cargo test --features master
./clean_all.sh
./y.sh build
cargo test
./y.sh clean all

- name: Prepare dependencies
run: |
git config --global user.email "[email protected]"
git config --global user.name "User"
./y.sh prepare

# Compile is a separate step, as the actions-rs/cargo action supports error annotations
- name: Compile
uses: actions-rs/[email protected]
with:
command: build
args: --release

- name: Add more failing tests because the sysroot is not compiled with LTO
run: cat failing-non-lto-tests.txt >> failing-ui-tests.txt
run: cat tests/failing-non-lto-tests.txt >> tests/failing-ui-tests.txt

- name: Run tests
run: |
# TODO: remove --features master when it is back to the default.
./test.sh --features master --release --clean --build-sysroot ${{ matrix.commands }}
./y.sh test --release --clean --build-sysroot ${{ matrix.commands }}

- name: Check formatting
run: cargo fmt -- --check

duplicates:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- run: python tools/check_intrinsics_duplicates.py

build_system:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Test build system
run: |
cd build_system
cargo test
70 changes: 19 additions & 51 deletions compiler/rustc_codegen_gcc/.github/workflows/failures.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,21 +21,25 @@ jobs:
libgccjit_version:
- gcc: "libgccjit.so"
artifacts_branch: "master"
# TODO: switch back to --no-default-features in the case of libgccjit 12 when the default is to enable
# master again.
extra: "--features master"
- gcc: "libgccjit_without_int128.so"
artifacts_branch: "master-without-128bit-integers"
extra: "--features master"
- gcc: "libgccjit12.so"
artifacts_branch: "gcc12"
extra: "--no-default-features"
# FIXME(antoyo): we need to set GCC_EXEC_PREFIX so that the linker can find the linker plugin.
# Not sure why it's not found otherwise.
env_extra: "TEST_FLAGS='-Cpanic=abort -Zpanic-abort-tests' GCC_EXEC_PREFIX=/usr/lib/gcc/"

steps:
- uses: actions/checkout@v3

# `rustup show` installs from rust-toolchain.toml
- name: Setup rust toolchain
run: rustup show

- name: Setup rust cache
uses: Swatinem/rust-cache@v2

- name: Install packages
run: sudo apt-get install ninja-build ripgrep

Expand All @@ -45,56 +49,27 @@ jobs:

- name: Setup path to libgccjit
if: matrix.libgccjit_version.gcc == 'libgccjit12.so'
run: echo /usr/lib/gcc/x86_64-linux-gnu/12 > gcc_path
run: |
echo 'gcc-path = "/usr/lib/gcc/x86_64-linux-gnu/12"' > config.toml
echo "LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/12" >> $GITHUB_ENV
echo "LD_LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/12" >> $GITHUB_ENV

- name: Download artifact
if: matrix.libgccjit_version.gcc != 'libgccjit12.so'
uses: dawidd6/action-download-artifact@v2
with:
workflow: main.yml
name: gcc-13
path: gcc-13
repo: antoyo/gcc
branch: ${{ matrix.libgccjit_version.artifacts_branch }}
event: push
search_artifacts: true # Because, instead, the action only check the last job ran and that won't work since we want multiple artifacts.
run: curl -LO https://github.com/antoyo/gcc/releases/latest/download/gcc-13.deb

- name: Setup path to libgccjit
if: matrix.libgccjit_version.gcc != 'libgccjit12.so'
run: |
sudo dpkg --force-overwrite -i gcc-13/gcc-13.deb
echo /usr/lib/ > gcc_path
sudo dpkg --force-overwrite -i gcc-13.deb
echo 'gcc-path = "/usr/lib"' > config.toml
echo "LIBRARY_PATH=/usr/lib" >> $GITHUB_ENV
echo "LD_LIBRARY_PATH=/usr/lib" >> $GITHUB_ENV

- name: Set env
run: |
echo "LIBRARY_PATH=$(cat gcc_path)" >> $GITHUB_ENV
echo "LD_LIBRARY_PATH=$(cat gcc_path)" >> $GITHUB_ENV
echo "workspace="$GITHUB_WORKSPACE >> $GITHUB_ENV

- name: Cache cargo installed crates
uses: actions/cache@v3
with:
path: ~/.cargo/bin
key: cargo-installed-crates2-ubuntu-latest

- name: Cache cargo registry
uses: actions/cache@v3
with:
path: ~/.cargo/registry
key: ${{ runner.os }}-cargo-registry2-${{ hashFiles('**/Cargo.lock') }}

- name: Cache cargo index
uses: actions/cache@v3
with:
path: ~/.cargo/git
key: ${{ runner.os }}-cargo-index-${{ hashFiles('**/Cargo.lock') }}

- name: Cache cargo target dir
uses: actions/cache@v3
with:
path: target
key: ${{ runner.os }}-cargo-build-target-${{ hashFiles('rust-toolchain') }}

#- name: Cache rust repository
#uses: actions/cache@v3
#id: cache-rust-repository
Expand All @@ -115,18 +90,11 @@ jobs:
if: matrix.libgccjit_version.gcc != 'libgccjit12.so'
run: ./y.sh prepare

# Compile is a separate step, as the actions-rs/cargo action supports error annotations
- name: Compile
uses: actions-rs/[email protected]
with:
command: build
args: --release

- name: Add more failing tests because the sysroot is not compiled with LTO
run: cat failing-non-lto-tests.txt >> failing-ui-tests.txt
run: cat tests/failing-non-lto-tests.txt >> tests/failing-ui-tests.txt

- name: Run tests
id: tests
run: |
${{ matrix.libgccjit_version.env_extra }} ./test.sh --release --clean --build-sysroot --test-failing-rustc ${{ matrix.libgccjit_version.extra }} | tee output_log
${{ matrix.libgccjit_version.env_extra }} ./y.sh test --release --clean --build-sysroot --test-failing-rustc ${{ matrix.libgccjit_version.extra }} | tee output_log
rg --text "test result" output_log >> $GITHUB_STEP_SUMMARY
55 changes: 14 additions & 41 deletions compiler/rustc_codegen_gcc/.github/workflows/gcc12.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,52 +28,32 @@ jobs:
# FIXME: re-enable asm tests when GCC can emit in the right syntax.
# "--asm-tests",
"--test-libcore",
"--extended-rand-tests",
"--extended-regex-example-tests",
"--extended-regex-tests",
"--test-successful-rustc --nb-parts 2 --current-part 0",
"--test-successful-rustc --nb-parts 2 --current-part 1",
]

steps:
- uses: actions/checkout@v3

# `rustup show` installs from rust-toolchain.toml
- name: Setup rust toolchain
run: rustup show

- name: Setup rust cache
uses: Swatinem/rust-cache@v2

- name: Install packages
# `llvm-14-tools` is needed to install the `FileCheck` binary which is used for asm tests.
run: sudo apt-get install ninja-build ripgrep llvm-14-tools libgccjit-12-dev

- name: Setup path to libgccjit
run: echo /usr/lib/gcc/x86_64-linux-gnu/12 > gcc_path
run: echo 'gcc-path = "/usr/lib/gcc/x86_64-linux-gnu/12"' > config.toml

- name: Set env
run: |
echo "LIBRARY_PATH=$(cat gcc_path)" >> $GITHUB_ENV
echo "LD_LIBRARY_PATH=$(cat gcc_path)" >> $GITHUB_ENV
echo "workspace="$GITHUB_WORKSPACE >> $GITHUB_ENV

- name: Cache cargo installed crates
uses: actions/cache@v3
with:
path: ~/.cargo/bin
key: cargo-installed-crates2-ubuntu-latest

- name: Cache cargo registry
uses: actions/cache@v3
with:
path: ~/.cargo/registry
key: ${{ runner.os }}-cargo-registry2-${{ hashFiles('**/Cargo.lock') }}

- name: Cache cargo index
uses: actions/cache@v3
with:
path: ~/.cargo/git
key: ${{ runner.os }}-cargo-index-${{ hashFiles('**/Cargo.lock') }}

- name: Cache cargo target dir
uses: actions/cache@v3
with:
path: target
key: ${{ runner.os }}-cargo-build-target-${{ hashFiles('rust-toolchain') }}
echo "LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/12" >> $GITHUB_ENV
echo "LD_LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/12" >> $GITHUB_ENV

#- name: Cache rust repository
## We only clone the rust repository for rustc tests
Expand All @@ -89,27 +69,20 @@ jobs:
./y.sh prepare --only-libcore --libgccjit12-patches
./y.sh build --no-default-features --sysroot-panic-abort
cargo test --no-default-features
./clean_all.sh
./y.sh clean all

- name: Prepare dependencies
run: |
git config --global user.email "[email protected]"
git config --global user.name "User"
./y.sh prepare --libgccjit12-patches

# Compile is a separate step, as the actions-rs/cargo action supports error annotations
- name: Compile
uses: actions-rs/[email protected]
with:
command: build
args: --release

- name: Add more failing tests for GCC 12
run: cat failing-ui-tests12.txt >> failing-ui-tests.txt
run: cat tests/failing-ui-tests12.txt >> tests/failing-ui-tests.txt

- name: Add more failing tests because the sysroot is not compiled with LTO
run: cat failing-non-lto-tests.txt >> failing-ui-tests.txt
run: cat tests/failing-non-lto-tests.txt >> tests/failing-ui-tests.txt

- name: Run tests
run: |
./test.sh --release --clean --build-sysroot ${{ matrix.commands }} --no-default-features
./y.sh test --release --clean --build-sysroot ${{ matrix.commands }} --no-default-features
Loading