about summary refs log tree commit diff
path: root/src
AgeCommit message (Collapse)AuthorLines
2023-07-31Rollup merge of #113804 - Kobzol:opt-dist-version, r=Mark-SimulacrumMatthias Krüger-6/+19
Resolve correct archive version name in `opt-dist` Should resolve the master part of https://github.com/rust-lang/rust/issues/113784. r? `@Mark-Simulacrum`
2023-07-31Rollup merge of #113906 - notriddle:notriddle/cargo-extra-env, r=Mark-SimulacrumMatthias Krüger-1/+5
etc: add `RUSTC_BOOTSTRAP` to rust-analyzer config Fixes the problem reported in https://github.com/rust-lang/rust/issues/112391#issuecomment-1597224941
2023-07-31Rollup merge of #113717 - cuishuang:master, r=NilstriebMatthias Krüger-1/+1
remove repetitive words
2023-07-31Rollup merge of #112858 - chriswailes:riscv64-android, r=Mark-SimulacrumMatthias Krüger-0/+1
Update Android system definitions and add riscv-linux-android as tier 3 target This PR includes the following: * Corrected Android system definitions for some types * Support for the riscv64-linux-android target The authoritative types for the system definitions can be found here: https://cs.android.com/android/platform/superproject/+/master:bionic/libc/include/sys/stat.h Fixes rust-lang/compiler-team#640
2023-07-31better error handling for `rust.codegen-backends` on deserializationozkanonur-3/+17
Signed-off-by: ozkanonur <work@onurozkan.dev>
2023-07-31fix: lookup user by name, not idsethp-1/+1
Previously, the `id -u $LOCAL_USER_ID` check would succeed, because there was already a user mapped to the $LOCAL_USER_ID with a different name. Looking up the entry in the database by name, however, correctly makes the `useradd` operation idempotent. An alternative fix would be to avoid duplicating an already-existing-ID, however that would require either probing for an available ID or identifying where LOCAL_USER_ID is being set and changing it to better match the ubuntu base image, neither of which is a one-line change.
2023-07-31fix alignment handling for Repeat expressionsRalf Jung-0/+24
2023-07-31apply nitRalf Jung-1/+1
Co-authored-by: Albert Larsan <albertlarsan@unbon.cafe>
2023-07-31Auto merge of #114294 - matthiaskrgr:rollup-yk78pvd, r=matthiaskrgrbors-1/+1
Rollup of 9 pull requests Successful merges: - #114111 (Improve test case for experimental API remove_matches) - #114169 (refactor builtin unsize handling, extend comments) - #114182 (clean up after 113312) - #114193 (Update lexer emoji diagnostics to Unicode 15.0) - #114200 (Detect trait upcasting through struct tail unsizing in new solver select) - #114228 (Check lazy type aliases for well-formedness) - #114267 (Map RPITIT's opaque type bounds back from projections to opaques) - #114269 (Migrate GUI colors test to original CSS color format) - #114286 (Add missing feature gate in multiple_supertrait_upcastable doc) r? `@ghost` `@rustbot` modify labels: rollup
2023-07-31Rollup merge of #114228 - fmease:wf-lazy-ty-aliases, r=oli-obkMatthias Krüger-1/+1
Check lazy type aliases for well-formedness Previously we didn't check if `T: Mul` holds given lazy `type Alias<T> = <T as Mul>::Output;`. Now we do. It only makes sense. `@rustbot` label F-lazy_type_alias r? `@oli-obk`
2023-07-31Auto merge of #3002 - RalfJung:miri-script, r=RalfJungbors-1/+1
fix oversight from new miri-script
2023-07-31fix oversight from new miri-scriptRalf Jung-1/+1
2023-07-31Auto merge of #113592 - Kobzol:pgo-script-bolt, r=Mark-Simulacrumbors-314/+224
Move BOLT from `bootstrap` to `opt-dist` Currently, we use BOLT to optimize LLVM for x64 Linux. The BOLT instrumentation and optimization step is implemented in `bootstrap`, but it was always quite hacky, because BOLT works quite differently than PGO. Rather than building an instrumented artifact, it takes an already built artifact and instruments it in-place. This is not a good fit for the bootstrap caching mechanism, and it meant that we had to run BOLT "on-the-fly" when packaging LLVM artifacts into the created sysroot. The BOLT code was also really only used by the PGO script (now called `opt-dist`) and nothing else, so it was quite hardcoded for this one single usage. And even if someone wanted to use the `--llvm-bolt-profile-[use/generate]` bootstrap flags outside of the PGO script, they would also need to implement profile gathering, as this is not performed by bootstrap anyway. I think that it could be more practical to move the BOLT logic to the `opt-dist` tool instead. This simplifies bootstrap, removes unneeded implementation of BOLT caching (we will now do it exactly once - no need to check if it has been performed already when bootstrap copies `libLLVM.so` around multiple times) and removes two BOLT-specific bootstrap flags, and also one special case for building LLVM (instead I pass the linker flags with `--set llvm.ldflags` from `opt-dist` now). There are also a few disadvantages to this new approach: - We have to guess/find the path to the built `libLLVM.so` file (but currently this is quite easy, it's just in `stage2/lib`). - We have to provide the BOLT profile externally to bootstrap, so that it is packaged into the reproducible artifacts archive. Doesn't seem like a big deal to me. - We are depending on some inner behavior of boostrap in `opt-dist` (namely, that `libLLVM.so` is hardlinked). But we do that for many other things in the `opt-dist` tool anyway, it's tied quite closely to bootstrap. I would like to go back to my attempts to also use BOLT for `librustc_driver.so`, and I think that it might be a bit simpler if I also do it from the `opt-dist` tool, so this is the first step towards that. Anyway, let me know what you think about this. It's just a refactoring in a way, no big deal. r? bootstrap
2023-07-31add some interesting tests for alignment corner casesRalf Jung-18/+67
2023-07-31strip debuginfo from librustc_driver.so when applicable, on x64 linuxRémy Rakic-2/+25
2023-07-31allow `DebuginfoLevel` to be comparedRémy Rakic-1/+1
2023-07-31strip debuginfo from LLVM's .so when applicable, on x64 linuxRémy Rakic-0/+26
2023-07-31extract helper to find libLLVM's nameRémy Rakic-8/+13
2023-07-31Auto merge of #114277 - weihanglo:update-cargo, r=weihanglobors-0/+0
Update cargo 14 commits in 7ac9416d82cd4fc5e707c9ec3574d22dff6466e5..c91a693e7977e33a1064b63a5daf5fb689f01651 2023-07-24 14:29:38 +0000 to 2023-07-31 00:26:46 +0000 - fix: align `cargo --help` text (rust-lang/cargo#12418) - fix: normalize relative git submodule urls with `ssh://` (rust-lang/cargo#12411) - test: relax help text assertion (rust-lang/cargo#12416) - test: relax assertions of panic handler message format (rust-lang/cargo#12413) - fix(package): Recognize and normalize `cargo.toml` (rust-lang/cargo#12399) - Clarify `lto` setting passing `-Clinker-plugin-lto` (rust-lang/cargo#12407) - doc: add missing reference to `CARGO_PROFILE_&lt;name&gt;_STRIP` in environment variables docs (rust-lang/cargo#12408) - Update curl-sys to pull in curl 8.2.1 (rust-lang/cargo#12406) - docs: raise awareness of resolver used inside workspace (rust-lang/cargo#12388) - chore: update `home` to 0.5.7 (rust-lang/cargo#12401) - Update curl-sys to pull in curl 8.2.0 (rust-lang/cargo#12400) - test(cli): Track --help output (rust-lang/cargo#11912) - refactor(test): Move cargo-config into a dir (rust-lang/cargo#12398) - refactor(tests): Name init ui tests more consistently (rust-lang/cargo#12397) r? `@ghost`
2023-07-31Remove a `bool` for color in favor of the `WriteColor` trait wrapping ↵Oli Scherer-3/+2
colored and uncolored printing
2023-07-31Use builder pattern instead of lots of arguments for `EmitterWriter::new`Oli Scherer-13/+2
2023-07-31Use builder pattern instead of lots of arguments for `EmitterWriter::new`Oli Scherer-49/+6
2023-07-31remove repetitive wordscui fliter-1/+1
Signed-off-by: cui fliter <imcusg@gmail.com>
2023-07-31Update cargoWeihang Lo-0/+0
2023-07-31Auto merge of #2909 - osiewicz:rewrite-miri-script-in-rust-2883, r=RalfJungbors-361/+1016
Rewrite miri script in rust This is a sketch of a rewrite of miri script in Rust. It does not include changes made in https://github.com/rust-lang/miri/pull/2908 yet. Environment variables are not properly propagated yet, which is something I plan to address. This PR is mostly a heads-up about the ongoing effort and it's state. It's definitely not the cleanest code I've seen in my life, but my first goal was feature/interface parity. I will iterate on it a bit before marking it as ready. I wonder though how this should be integrated/tested. Are you aware of anyone using `./miri` in their scripts? I guess we should keep existing `miri` script in place and let it run miri-script package directly? CI should probably `cargo check` this package as well. Fixes #2883
2023-07-31port to hand-rolled parser, since clap doesn't behave just the right wayRalf Jung-354/+150
2023-07-31miri-script refactorRalf Jung-614/+553
2023-07-31Replace the many arguments of `EmitterWriter::stderr` with builder methodsOli Scherer-26/+17
2023-07-31Pass BOLT profile to bootstrap to be included in the reproducible artifacts ↵Jakub Beránek-32/+36
archive
2023-07-31Remove BOLT from bootstrapJakub Beránek-294/+61
2023-07-31Implement BOLT optimization in the `opt-dist` toolJakub Beránek-24/+163
2023-07-31Document `-Zno-parallel-llvm`.Nicholas Nethercote-0/+8
Because it's usefulness wasn't clear to me, and I initially wondered if it could be removed. The text is based on the text in #50972, the PR that added the flag.
2023-07-31Use - instead of * for unordered listLan, Jian-53/+55
2023-07-31Auto merge of #114126 - ozkanonur:stage-support-for-clean, r=ozkanonurbors-31/+75
clean stage-specific artifacts using `x clean --stage` fixes #109313
2023-07-30Auto merge of #112843 - chenyukang:yukang-more-on-backtrace, r=workingjubileebors-1/+1
Print omitted frames count for short backtrace mode Fixes #111730
2023-07-30remove stage-specific artifacts when `--stage` is usedozkanonur-22/+62
Signed-off-by: ozkanonur <work@onurozkan.dev>
2023-07-30support `--stage` for `x clean`ozkanonur-9/+13
Signed-off-by: ozkanonur <work@onurozkan.dev>
2023-07-30Auto merge of #114204 - GuillaumeGomez:remove-unneeded-clone-calls, r=notriddlebors-16/+11
[rustdoc] Remove unneeded `clone()` calls for `derive_id` I realized we were cloning values before passing them to `derive_id` where they are cloned again, which isn't great. Since they'll be cloned anyway, let's allow to pass both by reference and by value. r? `@notriddle`
2023-07-30rewrite miri script in RustPiotr Osiewicz-357/+1277
2023-07-31Improve the rust style guide docLan, Jian-134/+98
- Make the levels of headings consistent in this whole document - Fix some headings - Remove redundant empty lines - Follow the markdown linter advices to use the same symbol for different level of unordered list entries
2023-07-30Auto merge of #2997 - RalfJung:test-utils, r=RalfJungbors-112/+77
refactor tests/utils a bit, and move some FS functions there
2023-07-30refactor tests/utils a bit, and move some FS functions thereRalf Jung-112/+77
2023-07-30Auto merge of #114250 - matthiaskrgr:rollup-0r0dhrr, r=matthiaskrgrbors-6/+6
Rollup of 6 pull requests Successful merges: - #110056 (Fix the example in document for WaitTimeoutResult::timed_out) - #112655 (Mark `map_or` as `#[must_use]`) - #114018 (Make `--error-format human-annotate-rs` handle multiple files) - #114068 (inline format!() args up to and including rustc_middle (2)) - #114223 (Documentation: Fix Stilted Language in Vec->Indexing) - #114227 (Add tidy check for stray rustfix files) r? `@ghost` `@rustbot` modify labels: rollup
2023-07-30Rollup merge of #114227 - asquared31415:tidy_check_fixed, r=albertlarsan68Matthias Krüger-1/+1
Add tidy check for stray rustfix files `x.fixed` files that don't correspond to a test file now emit a tidy error.
2023-07-30Rollup merge of #112655 - WaffleLapkin:must_use_map_or, r=workingjubileeMatthias Krüger-5/+5
Mark `map_or` as `#[must_use]` I don't know what else to say. r? libs
2023-07-30Remove some unneeded `clone()` callsGuillaume Gomez-16/+11
2023-07-30Mark `map_or` as `#[must_use]`Maybe Waffle-5/+5
2023-07-30bootstrap: inline format!() argsMatthias Krüger-174/+162
2023-07-30Check lazy type aliases for well-formednessLeón Orell Valerian Liehr-1/+1
2023-07-30fmtThe Miri Conjob Bot-1/+1