about summary refs log tree commit diff
AgeCommit message (Collapse)AuthorLines
2024-08-09Add a FIXME to the changed Miri testBen Kimock-0/+2
2024-08-09Hoist IS_ZST check out of RawVecInner::from_*_inBen Kimock-6/+15
2024-08-09Bless MiriBen Kimock-3/+5
2024-08-09Paper over the clippy ICEBen Kimock-5/+4
2024-08-09Polymorphize RawVecBen Kimock-282/+511
2024-08-09Auto merge of #128896 - bjorn3:sync_cg_clif-2024-08-09, r=bjorn3bors-850/+390
Subtree sync for rustc_codegen_cranelift The main highlight this time is support for raw-dylib on Windows thanks to `@dpaoliello.` Compiling the ring crate for arm64 macOS has been fixed too. r? `@ghost` `@rustbot` label +A-codegen +A-cranelift +T-compiler
2024-08-09Auto merge of #128883 - matthiaskrgr:rollup-mkzi7my, r=matthiaskrgrbors-50/+218
Rollup of 9 pull requests Successful merges: - #128815 (Add `Steal::is_stolen()`) - #128817 (VxWorks code refactored ) - #128822 (add `builder-config` into tarball sources) - #128838 (rustdoc: do not run doctests with invalid langstrings) - #128852 (use stable sort to sort multipart diagnostics) - #128859 (Fix the name of signal 19 in library/std/src/sys/pal/unix/process/process_unix/tests.rs for mips/sparc linux) - #128864 (Use `SourceMap::end_point` instead of `- BytePos(1)` in arg removal suggestion) - #128865 (Ensure let stmt compound assignment removal suggestion respect codepoint boundaries) - #128874 (Disable verbose bootstrap command failure logging by default) r? `@ghost` `@rustbot` modify labels: rollup
2024-08-09Update tidy for new cranelift-bitset cratebjorn3-0/+2
2024-08-09Use ar_archive_writer from sysroot for cg_clifbjorn3-11/+1
2024-08-09Merge commit '69b3f5a426a5c1c05236a45b36f6679d95fbe01b' into ↵bjorn3-850/+398
sync_cg_clif-2024-08-09
2024-08-09Rollup merge of #128874 - Kobzol:cmd-verbose-logging, r=onur-ozkanMatthias Krüger-5/+14
Disable verbose bootstrap command failure logging by default One of my recent bootstrap command refactoring PRs enabled verbose logging of command failures by default. While this is great for debugging bootstrap, in many situations it's just too verbose and prevents the user from seeing the actual printed stdout/stderr, which usually contains much more useful information. This PR reverts that logic, and only prints a detailed error when `-v` is passed to bootstrap. r? ````@onur-ozkan````
2024-08-09Rollup merge of #128865 - jieyouxu:unicurd, r=UrgauMatthias Krüger-2/+48
Ensure let stmt compound assignment removal suggestion respect codepoint boundaries Previously we would try to issue a suggestion for `let x <op>= 1`, i.e. a compound assignment within a `let` binding, to remove the `<op>`. The suggestion code unfortunately incorrectly assumed that the `<op>` is an exactly-1-byte ASCII character, but this assumption is incorrect because we also recover Unicode-confusables like `➖=` as `-=`. In this example, the suggestion code used a `+ BytePos(1)` to calculate the span of the `<op>` codepoint that looks like `-` but the mult-byte Unicode look-alike would cause the suggested removal span to be inside a multi-byte codepoint boundary, triggering a codepoint boundary assertion. The fix is to use `SourceMap::start_point(token_span)` which properly accounts for codepoint boundaries. Fixes #128845. cc #128790 r? ````@fmease````
2024-08-09Rollup merge of #128864 - jieyouxu:funnicode, r=UrgauMatthias Krüger-3/+63
Use `SourceMap::end_point` instead of `- BytePos(1)` in arg removal suggestion Previously, we tried to remove extra arg commas when providing extra arg removal suggestions. One of the edge cases is having to account for an arg that has a closing delimiter `)` following it. However, the previous suggestion code assumed that the delimiter is in fact exactly the 1-byte `)` character. This assumption was proven incorrect, because we recover from Unicode-confusable delimiters in the parser, which means that the ending delimiter could be a multi-byte codepoint that looks *like* a `)`. Subtracing 1 byte could land us in the middle of a codepoint, triggering a codepoint boundary assertion. This is fixed by using `SourceMap::end_point` which properly accounts for codepoint boundaries. Fixes #128717. cc ````@fmease```` and #128790
2024-08-09Rollup merge of #128859 - MinxuanZ:mips-sig, r=AmanieuMatthias Krüger-0/+13
Fix the name of signal 19 in library/std/src/sys/pal/unix/process/process_unix/tests.rs for mips/sparc linux relate to #128816
2024-08-09Rollup merge of #128852 - folkertdev:multipart-suggestion-stable-sort, ↵Matthias Krüger-3/+3
r=compiler-errors use stable sort to sort multipart diagnostics I think a stable sort should be used to sort the different parts of a multipart selection. The current unstable sort uses the text of the suggestion as a tie-breaker. That just doesn't seem right, and the order of the input is a better choice I think, because it gives the diagnostic author more control. This came up when I was building a suggestion where ```rust fn foo() {} ``` must be turned into an unsafe function, and an attribute must be added ```rust #[target_feature(enable = "...")] unsafe fn foo() {} ``` In this example, the two suggestions occur at the same position, but the order is extremely important: unsafe must come after the attribute. But the situation changes if there is a pub/pub(crate), and if the unsafe is already present. It just out that because of the suggestion text, there is no way for me to order the suggestions correctly. This change probably should be tested, but are there tests of the diagnostics code itself in the tests? r? ```@estebank```
2024-08-09Rollup merge of #128838 - notriddle:notriddle/invalid-tag-is-not-rust, ↵Matthias Krüger-7/+36
r=GuillaumeGomez rustdoc: do not run doctests with invalid langstrings https://github.com/rust-lang/rust/pull/124577#issuecomment-2276034737 CC ``@decathorpe``
2024-08-09Rollup merge of #128822 - onur-ozkan:add-build-config-in-tarballs, r=KobzolMatthias Krüger-1/+11
add `builder-config` into tarball sources This will be useful for certain scenarios where developers want to know how the tarball sources were generated. We also want this to check for CI rustc incompatible options on bootstrap. Blocker for #122709 r? Kobzol
2024-08-09Rollup merge of #128817 - biabbas:vxworks_update, r=tgross35Matthias Krüger-29/+21
VxWorks code refactored 1. Extern TaskNameSet as minimum supported version of os is VxWorks 7 which would have taskNameSet 2. Vx_TASK_NAME_LEN is 31 on VxWorks7, defined variable res. 3. Add unsafe blocks on Non::Zero usage in available_parallelism() 4. Update vxworks docs. r? `@tgross35` cc `@devnexen`
2024-08-09Rollup merge of #128815 - Nadrieril:is_stolen, r=jieyouxu,lcnrMatthias Krüger-0/+9
Add `Steal::is_stolen()` Writers of rustc drivers (such as myself) often encounter stealing issues. It is currently impossible to gracefully handle them. This PR adds a `Steal::is_stolen()` function for that purpose.
2024-08-09Couple of minor cleanupsbjorn3-2/+1
2024-08-09Stop using a custom Cargo.toml and Cargo.lock for the standard librarybjorn3-485/+0
The rust-src component now ships a working copy of both.
2024-08-09Disable f16 and f128 in compiler-builtins when running rustc testsbjorn3-0/+25
2024-08-09Rustup to rustc 1.82.0-nightly (3e9bd8b56 2024-08-08)bjorn3-1/+1
2024-08-09rustdoc: move invalid langstring test to UIMichael Howell-0/+6
2024-08-09Do not print verbose error when a bootstrap command fails without verbose modeJakub Beránek-4/+12
2024-08-09Auto merge of #128703 - compiler-errors:normalizing-tails, r=lcnrbors-46/+245
Miscellaneous improvements to struct tail normalization 1. Make checks for foreign tails more accurate by normalizing the struct tail. I didn't write a test for this one. 2. Normalize when computing struct tail for `offset_of` for slice/str. This fixes the new solver only. 3. Normalizing when computing tails for disaligned reference check. This fixes both solvers. r? lcnr
2024-08-09Make `Build::run` comment more accurateJakub Beránek-1/+2
2024-08-09use absolute path for `config.toml`onur-ozkan-1/+5
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2024-08-09add `builder-config` into tarball sourcesonur-ozkan-0/+6
This will be useful for certain scenarios where developers want to know how the tarball sources were generated. We also want this to check for CI rustc incompatible options on bootstrap. Signed-off-by: onur-ozkan <work@onurozkan.dev>
2024-08-09use stable sort to sort multipart diagnosticsFolkert-3/+3
2024-08-09parser: ensure let stmt compound assignment removal suggestion respect ↵许杰友 Jieyou Xu (Joe)-2/+6
codepoint boundaries Previously we would try to issue a suggestion for `let x <op>= 1`, i.e. a compound assignment within a `let` binding, to remove the `<op>`. The suggestion code unfortunately incorrectly assumed that the `<op>` is an exactly-1-byte ASCII character, but this assumption is incorrect because we also recover Unicode-confusables like `➖=` as `-=`. In this example, the suggestion code used a `+ BytePos(1)` to calculate the span of the `<op>` codepoint that looks like `-` but the mult-byte Unicode look-alike would cause the suggested removal span to be inside a multi-byte codepoint boundary, triggering a codepoint boundary assertion. Issue: <https://github.com/rust-lang/rust/issues/128845>
2024-08-09tests: add regression test for #128845许杰友 Jieyou Xu (Joe)-0/+42
For codepoint boundary assertion triggered by a let stmt compound assignment removal suggestion when encountering recovered multi-byte compound ops. Issue: <https://github.com/rust-lang/rust/issues/128845>
2024-08-09hir_typeck: use `end_point` over `BytePos` manipulations许杰友 Jieyou Xu (Joe)-3/+6
Parser has error recovery for Unicode-confusables, which includes the right parentheses `)`. If a multi-byte right parentheses look-alike reaches the argument removal suggestion diagnostics, it would trigger an assertion because the diagnostics used `- BytePos(1)` which can land within a multi-byte codepoint. This is fixed by using `SourceMap::end_point` to find the final right delimiter codepoint, which correctly respects codepoint boundaries.
2024-08-09tests: add regression test for incorrect `BytePos` manipulation triggering ↵许杰友 Jieyou Xu (Joe)-0/+57
assertion Issue: <https://github.com/rust-lang/rust/issues/128717>
2024-08-09Auto merge of #128863 - matthiaskrgr:rollup-wmp8znk, r=matthiaskrgrbors-27/+64
Rollup of 4 pull requests Successful merges: - #128616 (Don't inline tainted MIR bodies) - #128804 (run-make: enable msvc for redundant-libs) - #128823 (run-make: enable msvc for staticlib-dylib-linkage) - #128824 (Update compiler-builtins version to 0.1.118) Failed merges: - #128410 (Migrate `remap-path-prefix-dwarf` `run-make` test to rmake) r? `@ghost` `@rustbot` modify labels: rollup
2024-08-09Rollup merge of #128824 - GuillaumeGomez:update-compiler-builtins, r=AmanieuMatthias Krüger-8/+6
Update compiler-builtins version to 0.1.118 r? `@Amanieu`
2024-08-09Rollup merge of #128823 - ChrisDenton:staticlib, r=jieyouxuMatthias Krüger-9/+8
run-make: enable msvc for staticlib-dylib-linkage `-Zstaticlib-allow-rdylib-deps` on MSVC returns things like `/LIBPATH:R:\rust\build\x86_64-pc-windows-msvc\test\run-make\staticlib-dylib-linkage\rmake_out`. That is a linker argument rather than a `cc` argument. Which makes sense because rustc interacts directly with the linker on MSVC targets. So we need to tell the C compiler to pass on the arguments to the linker. try-job: x86_64-msvc try-job: i686-msvc
2024-08-09Rollup merge of #128804 - ChrisDenton:redudant, r=jieyouxuMatthias Krüger-8/+8
run-make: enable msvc for redundant-libs The issue here was that `foo` was not exporting any functions therefore creating an import library was unnecessary and elided by the linker. I fixed it by exporting the functions. try-job: x86_64-msvc try-job: i686-msvc
2024-08-09Rollup merge of #128616 - compiler-errors:mir-inline-tainted, r=cjgillotMatthias Krüger-2/+42
Don't inline tainted MIR bodies Don't inline MIR bodies that are tainted, since they're not necessarily well-formed. Fixes #128601 (I didn't add a new test, just copied one from the crashes, since they're the same root cause). Fixes #122909.
2024-08-09VxWorks: Add safety comment for vxCpuEnabledGetB I Mohammed Abbas-1/+1
Co-authored-by: Trevor Gross <t.gross35@gmail.com>
2024-08-09delete spacemonstercatss-2/+2
2024-08-09fix formatmonstercatss-4/+6
2024-08-09[SPARC] fix the name of signal 19 in sparc archMin-1/+9
2024-08-09[MIPS] fix the name of signal 19 in mipsMin-0/+3
2024-08-08Don't inline tainted MIR bodiesMichael Goulet-2/+42
2024-08-09Auto merge of #128853 - matthiaskrgr:rollup-pr222x1, r=matthiaskrgrbors-4097/+5830
Rollup of 8 pull requests Successful merges: - #128640 (rwlock: disable 'frob' test in Miri on macOS) - #128791 (Don't implement `AsyncFn` for `FnDef`/`FnPtr` that wouldnt implement `Fn`) - #128806 (Split `ColorConfig` off of `HumanReadableErrorType`) - #128818 (std float tests: special-case Miri in feature detection) - #128834 (rustdoc: strip unreachable modules) - #128836 (rustdoc-json: add a test for impls on private & hidden types) - #128837 (Clippy subtree update) - #128851 (Add comment that bors did not see pushed before it merged) r? `@ghost` `@rustbot` modify labels: rollup
2024-08-09Rollup merge of #128851 - compiler-errors:validate-mir-opt-mir, r=matthiaskrgrMatthias Krüger-1/+7
Add comment that bors did not see pushed before it merged In #128612, bors merged 470ada2de0ec507191ad8da35b0712986646d01c instead of 1e07c19. This means it dropped a useful comment I added, and a stage rename that is more descriptive.
2024-08-09Rollup merge of #128837 - flip1995:clippy-subtree-update, r=ManishearthMatthias Krüger-4017/+5578
Clippy subtree update r? ``@Manishearth`` Updates Cargo.lock due to uitest bump
2024-08-09Rollup merge of #128836 - its-the-shrimp:add_test_for_107278, r=aDotInTheVoidMatthias Krüger-0/+10
rustdoc-json: add a test for impls on private & hidden types Fixes #107278 (or rather just ensures it won't resurface) r? ``@aDotInTheVoid``
2024-08-09Rollup merge of #128834 - its-the-shrimp:fix_101105, r=aDotInTheVoidMatthias Krüger-1/+14
rustdoc: strip unreachable modules Modules are now stripped based on the same logic that's used to strip other item kinds Fixes #101105