Commit Graph

3642 Commits

Author SHA1 Message Date
bjorn3
87374d89e0 Rustup to rustc 1.72.0-nightly (2d0aa5768 2023-06-18) 2023-06-19 14:03:36 +00:00
bjorn3
361a1ea39b Sync from rust 2d0aa57684 2023-06-19 13:55:47 +00:00
Scott McMurray
0c3e15283f Remove unchecked_add/sub/mul/shl/shr from CTFE/cg_ssa/cg_clif 2023-06-19 01:47:03 -07:00
Scott McMurray
9efe5e746a Promote unchecked_add/sub/mul/shl/shr to mir::BinOp 2023-06-19 01:47:03 -07:00
Deadbeef
c96f17c51f Better error for non const PartialEq call generated by match 2023-06-18 05:24:38 +00:00
DrMeepster
f429b3e67f remove box_free and replace with drop impl 2023-06-16 13:41:06 -07:00
bjorn3
9c8c14fba2 Merge branch 'sync_from_rust' 2023-06-15 17:58:56 +00:00
bjorn3
81ea0b29ea Merge commit '8830dccd1d4c74f1f69b0d3bd982a3f1fcde5807' into sync_cg_clif-2023-06-15 2023-06-15 17:56:01 +00:00
bjorn3
8830dccd1d Rustup to rustc 1.72.0-nightly (8c74a5d27 2023-06-14) 2023-06-15 17:45:30 +00:00
bjorn3
c1fa3cf6c4 Sync from rust 8c74a5d27c 2023-06-15 17:40:32 +00:00
bjorn3
f2895f3143
Merge pull request #1357 from bjorn3/build_system_rework6
Support testing of cg_clif in rust's CI
2023-06-15 19:37:23 +02:00
bjorn3
e9bd63af3c Ignore -Clink-arg=-import-instr-limit 2023-06-15 17:14:49 +00:00
bors
2445d740f7 Auto merge of #112314 - ferrocene:pa-core-alloc-abort, r=bjorn3
Ignore `core`, `alloc` and `test` tests that require unwinding on `-C panic=abort`

Some of the tests for `core` and `alloc` require unwinding through their use of `catch_unwind`. These tests fail when testing using `-C panic=abort` (in my case through a target without unwinding support, and `-Z panic-abort-tests`), while they should be ignored as they don't indicate a failure.

This PR marks all of these tests with this attribute:

```rust
#[cfg_attr(not(panic = "unwind"), ignore = "test requires unwinding support")]
```

I'm not aware of a way to test this on rust-lang/rust's CI, as we don't test any target with `-C panic=abort`, but I tested this locally on a Ferrocene target and it does indeed make the test suite pass.
2023-06-13 19:03:27 +00:00
bjorn3
485d7e129f Remove outdated fixme 2023-06-13 16:39:59 +00:00
bjorn3
a691b14aee Allow skipping tests from the commandline 2023-06-13 16:39:59 +00:00
bjorn3
8c1c84d79e Copy Cargo.lock over in ./y.sh prepare
This makes it easier for ./x.py to vendor all dependencies
2023-06-13 16:39:59 +00:00
bjorn3
bcac222013 Lazily patch the standard library 2023-06-13 16:39:59 +00:00
bjorn3
d0ea8bbc5e Only copy library dir for stdlib
When building as part of rust, the sysroot source dir is symlinked to
the main source dir, which contains the build dir to which we are likely
copying.
2023-06-13 16:39:59 +00:00
bjorn3
6b9af8cb36 Disable all incremental compilation for CARGO_BUILD_INCREMENTAL=false 2023-06-13 16:39:59 +00:00
bjorn3
eb3e8bb7d7 Move some profile settings out of the stdlib cargo workspace patch 2023-06-13 16:39:59 +00:00
bjorn3
8ad9e9f861 Ensure everything has a lockfile 2023-06-13 16:39:59 +00:00
bjorn3
d3da972441 Write stdlib workspace Cargo.toml directly in prepare.rs 2023-06-13 16:39:59 +00:00
bjorn3
67f9fe6863 Lazily patch all test projects 2023-06-13 16:39:59 +00:00
bjorn3
3baee66f9b Rework standard library building 2023-06-13 16:39:59 +00:00
bjorn3
54eaa5382c Enable compiler-builtins no-asm feature using --features flag 2023-06-13 16:39:59 +00:00
bjorn3
b9129c0d6b Rename a couple of build dirs for consistency 2023-06-13 16:39:59 +00:00
bjorn3
fc23a8a7e0 Lazily patch coretests 2023-06-13 16:39:59 +00:00
bjorn3
2c38effe28 Don't patch in place in apply_patches
This will make it easier to skip patching if unnecessary in the future
2023-06-13 16:39:59 +00:00
bjorn3
75327f8587 Reuse existing download in y.sh prepare if fresh 2023-06-13 16:39:59 +00:00
bjorn3
0e4139922e Put patched sources in build/ instead of download/ 2023-06-13 16:39:59 +00:00
bjorn3
d0b8896189 Allow building the build system using cargo
Rust's build system only handles cargo, not rustc.
2023-06-13 16:39:59 +00:00
bjorn3
ce3f300e40 Add --download-dir option to specify download dir separate from --out-dir 2023-06-13 16:39:59 +00:00
Pietro Albini
7886be6327 remove patch from cranelift backend to ignore unwinding tests 2023-06-13 15:53:26 +02:00
bjorn3
45781e107c Fix rustc test suite 2023-06-13 12:31:34 +00:00
bjorn3
5d592ea79a Rustup to rustc 1.72.0-nightly (df77afbca 2023-06-12) 2023-06-13 10:45:27 +00:00
bjorn3
c870c67bb2 Sync from rust df77afbcaf 2023-06-13 10:40:16 +00:00
bjorn3
436bed8b7f Rustup to rustc 1.72.0-nightly (e6d4725c7 2023-06-05) 2023-06-06 14:12:03 +00:00
bjorn3
d4d8f1c1ff Sync from rust e6d4725c76 2023-06-06 14:00:40 +00:00
bjorn3
c09ef96878 Implement _mm_shuffle_epi8 2023-06-06 09:34:21 +00:00
bjorn3
e4d0811360 Implement _mm_srli_epi16 and _mm_slli_epi16 2023-06-06 09:34:21 +00:00
bjorn3
f36bb6d529 Make unimplemented trap messages show up in more contexts 2023-06-06 09:34:21 +00:00
bjorn3
11b3fc686c Update object to 0.30.4
Fixes #1377
2023-06-06 08:20:44 +00:00
bjorn3
204c64bda1
Merge pull request #1378 from bjorn3/more_vendor_intrinsics
Implement all vendor intrinsics used by regex on AVX2 systems
2023-06-05 20:42:09 +02:00
bjorn3
8fbd6f521a Skip LLVM sysroot testing for native x86_64-pc-windows-gnu in CI
It is way too slow and cross-compiled x86_64-pc-windows-gnu covers at
least part of the tests.
2023-06-05 17:20:59 +00:00
bjorn3
1797ae5174 Define rust_eh_personality for alloc_example
x86_64-pc-windows-gnu requires it to be defined.
2023-06-05 16:54:37 +00:00
bjorn3
aeac484d18 Run tests with LLVM sysroot in CI 2023-06-05 16:41:03 +00:00
bjorn3
76900705e8 Implement all vendor intrinsics used by regex on AVX2 systems
This allows it to work with --sysroot llvm
2023-06-05 15:33:54 +00:00
Andrew Xie
f8cde5884d Updated cranelift codegen to reflect modified trait signature 2023-06-04 21:54:38 -04:00
Michael Goulet
4ecd45a588 Rollup merge of #112168 - scottmcm:lower-div-rem-unchecked-to-mir, r=oli-obk
Lower `unchecked_div`/`_rem` to MIR's `BinOp::Div`/`Rem`

As described in <https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/mir/enum.BinOp.html#variant.Div>, the ordinary `BinOp`s for these are already UB for division by zero ([or overflow](https://llvm.org/docs/LangRef.html#sdiv-instruction), [demo](https://rust.godbolt.org/z/71e7P7Exh)), as MIR building is responsible for inserting code to panic for those cases regardless of whether the overflow checks are enabled.

So we can lower these in the same arm that lowers `wrapping_add` to MIR `BinOp::Add` and such, as all these cases turn into ordinary `Rvalue::BinaryOp`s.
2023-06-02 16:02:06 -07:00
bjorn3
e369cce377 Rustup to rustc 1.72.0-nightly (d59363ad0 2023-06-01) 2023-06-02 12:51:40 +00:00