about summary refs log tree commit diff
path: root/src/tools
AgeCommit message (Collapse)AuthorLines
2022-12-22Rollup merge of #105986 - eltociear:patch-18, r=RalfJungYuki Okushi-1/+1
Fix typo in reading_half_a_pointer.rs gurantee -> guarantee
2022-12-22Rollup merge of #105602 - RalfJung:read-convenience, r=oli-obkYuki Okushi-54/+54
interpret: add read_machine_[ui]size convenience methods We have `read_pointer`, so it felt inconsistent to not also have these. r? ```@oli-obk```
2022-12-21Fix typo in reading_half_a_pointer.rsIkko Ashimine-1/+1
gurantee -> guarantee
2022-12-20Rollup merge of #105935 - Ezrashaw:add-test+docs-for-e0377, r=GuillaumeGomezMatthias Krüger-2/+2
docs/test: add UI test and long-form error docs for `E0377`
2022-12-20docs/test: add UI test and long-form error docs for `E0377`Ezra Shaw-2/+2
2022-12-19Make Clippy test no longer unsoundMichael Goulet-1/+1
2022-12-18Update cargoWeihang Lo-0/+0
11 commits in cc0a320879c17207bbfb96b5d778e28a2c62030d..c994a4a638370bc7e0ffcbb0e2865afdfa7d4415 2022-12-14 14:46:57 +0000 to 2022-12-18 21:50:58 +0000 - Fix examples of proc-macro crates being scraped for examples (rust-lang/cargo#11497) - Enable triagebot's relabel functionality (rust-lang/cargo#11498) - Revert "temporarily disable test `lto::test_profile`" (rust-lang/cargo#11495) - Bump to 0.69.0, update changelog (rust-lang/cargo#11493) - Fix typo (rust-lang/cargo#11491) - Display CPU info in CI (rust-lang/cargo#11488) - Fix collision_doc_profile test error (rust-lang/cargo#11489) - fix: Make auto-fix note work with `clippy` (rust-lang/cargo#11399) - fix(add): use the possessive in error message (rust-lang/cargo#11483) - Document home crate in contrib docs (rust-lang/cargo#11481) - Split up registry documentation into multiple sections (rust-lang/cargo#11480)
2022-12-18Make x use the x and x.ps1 scriptsAlbert Larsan-40/+32
This removes another python search from bootstrap.
2022-12-17Auto merge of #105849 - matthiaskrgr:rollup-ya4s1n2, r=matthiaskrgrbors-30/+51
Rollup of 8 pull requests Successful merges: - #104854 (Symlink `build/host` -> `build/$HOST_TRIPLE`) - #105458 (Allow blocking `Command::output`) - #105559 (bootstrap: Allow installing `llvm-tools`) - #105789 (rustdoc: clean up margin CSS for scraped examples) - #105792 (docs: add long error explanation for error E0320) - #105814 (Support call and drop terminators in custom mir) - #105829 (Speed up tidy) - #105836 (std::fmt: Use args directly in example code) Failed merges: r? `@ghost` `@rustbot` modify labels: rollup
2022-12-17Rollup merge of #105829 - the8472:tidy-style, r=jyn514Matthias Krüger-30/+51
Speed up tidy This can be reviewed commit by commit since they contain separate optimizations. ``` # master $ taskset -c 0-5 hyperfine './x test tidy' Benchmark #1: ./x test tidy Time (mean ± σ): 4.857 s ± 0.064 s [User: 12.967 s, System: 2.014 s] Range (min … max): 4.779 s … 4.997 s 10 runs # PR $ taskset -c 0-5 hyperfine './x test tidy' Benchmark #1: ./x test tidy Time (mean ± σ): 3.672 s ± 0.035 s [User: 10.524 s, System: 2.029 s] Range (min … max): 3.610 s … 3.725 s 10 runs ```
2022-12-17Auto merge of #105145 - Ayush1325:sequential-remote-server, r=Mark-Simulacrumbors-13/+36
Add batch flag to remote-test-server When using this flag, the stdout and stderr are sent in a single batch instead of being streamed. It also used `Command::output` instead of `Command::spawn`. This is useful for targets that might support std but not threading (Eg: UEFI). Signed-off-by: Ayush Singh <ayushsingh1325@gmail.com>
2022-12-17poll tidy threads for completion before waitingThe 8472-6/+16
2022-12-17optimize line-by-line style checks in tidyThe 8472-24/+35
2022-12-17Merge commit '4bdfb0741dbcecd5279a2635c3280726db0604b5' into clippyupPhilipp Krones-602/+2707
2022-12-15Rollup merge of #105743 - nnethercote:SimplifiedType-cleanups, r=lcnrMatthias Krüger-1/+1
`SimplifiedType` cleanups r? `@lcnr`
2022-12-15Move alignment failure error reporting to machineOli Scherer-1/+10
2022-12-15Make alignment checks a future incompat lintOli Scherer-2/+7
2022-12-15Auto merge of #105713 - bjorn3:sync_cg_clif-2022-12-14, r=bjorn3bors-0/+6
Sync rustc_codegen_cranelift This time there are a bunch of bugfixes, some new llvm intrinsic implementations and refactorings to the build system in preparation for running cg_clif tests as part of `./x.py test`. r? `@ghost` `@rustbot` label +A-codegen +A-cranelift +T-compiler
2022-12-15Auto merge of #105657 - oli-obk:mk_projection_ty, r=lcnrbors-10/+10
Guard ProjectionTy creation against passing the wrong number of substs r? `@lcnr`
2022-12-15Merge `SimplifiedTypeGen<D>` into `SimplifiedType`.Nicholas Nethercote-1/+1
`SimplifiedTypeGen<DefId>` is the only instantiation used, so we don't need the generic parameter.
2022-12-14Add tidy exceptionsbjorn3-0/+6
2022-12-14Update cargoWeihang Lo-0/+0
8 commits in 70898e522116f6c23971e2a554b2dc85fd4c84cd..cc0a320879c17207bbfb96b5d778e28a2c62030d 2022-12-05 19:43:44 +0000 to 2022-12-14 14:46:57 +0000 - artifact deps should works when target field specified coexists with `optional = true` (rust-lang/cargo#11434) - Add `home` crate to cargo crates (rust-lang/cargo#11359) - Use proper git URL for GitHub repos (rust-lang/cargo#11475) - Fixes flock(fd, LOCK_UN) emulation on Solaris. (rust-lang/cargo#11474) - Allow Check targets needed for optional doc-scraping to fail without killing the build (rust-lang/cargo#11450) - fix: gleaning rustdocflags from `target.cfg(…)` is not supported (rust-lang/cargo#11323) - Fix typo (rust-lang/cargo#11470) - resolver.md: Fix naming in example (rust-lang/cargo#11469)
2022-12-14Remove TraitRef::newOli Scherer-3/+3
2022-12-14Ensure no one constructs `AliasTy`s themselvesOli Scherer-7/+7
2022-12-14Auto merge of #104986 - compiler-errors:opaques, r=oli-obkbors-27/+27
Combine `ty::Projection` and `ty::Opaque` into `ty::Alias` Implements https://github.com/rust-lang/types-team/issues/79. This PR consolidates `ty::Projection` and `ty::Opaque` into a single `ty::Alias`, with an `AliasKind` and `AliasTy` type (renamed from `ty::ProjectionTy`, which is the inner data of `ty::Projection`) defined as so: ``` enum AliasKind { Projection, Opaque, } struct AliasTy<'tcx> { def_id: DefId, substs: SubstsRef<'tcx>, } ``` Since we don't have access to `TyCtxt` in type flags computation, and because repeatedly calling `DefKind` on the def-id is expensive, these two types are distinguished with `ty::AliasKind`, conveniently glob-imported into `ty::{Projection, Opaque}`. For example: ```diff match ty.kind() { - ty::Opaque(..) => + ty::Alias(ty::Opaque, ..) => {} _ => {} } ``` This PR also consolidates match arms that treated `ty::Opaque` and `ty::Projection` identically. r? `@ghost`
2022-12-13Combine projection and opaque into aliasMichael Goulet-12/+12
2022-12-13squash OpaqueTy and ProjectionTy into AliasTyMichael Goulet-11/+11
2022-12-13ProjectionTy.item_def_id -> ProjectionTy.def_idMichael Goulet-8/+8
2022-12-13Use ty::OpaqueTy everywhereMichael Goulet-7/+7
2022-12-13Make some diagnostics not depend on the source of what they reference being ↵Oli Scherer-0/+8
available
2022-12-12interpret: add read_machine_[ui]size convenience methodsRalf Jung-54/+54
2022-12-12Auto merge of #105592 - matthiaskrgr:rollup-1cazogq, r=matthiaskrgrbors-1/+1
Rollup of 2 pull requests Successful merges: - #104997 (Move tests) - #105569 (`bug!` with a better error message for failing `Instance::resolve`) Failed merges: r? `@ghost` `@rustbot` modify labels: rollup
2022-12-12Auto merge of #105160 - nnethercote:rm-Lit-token_lit, r=petrochenkovbors-11/+15
Remove `token::Lit` from `ast::MetaItemLit`. Currently `ast::MetaItemLit` represents the literal kind twice. This PR removes that redundancy. Best reviewed one commit at a time. r? `@petrochenkov`
2022-12-11Move testsCaio-1/+1
2022-12-12Add batch flag to remote-test-serverAyush Singh-13/+36
When using this flag, the stdout and stderr is sent in a single batch instead of being streamed. It also used `Command::output` instead of `Command::spawn`. This is useful for targets that might support std but not threading (Eg: UEFI). Signed-off-by: Ayush Singh <ayushsingh1325@gmail.com>
2022-12-10Rollup merge of #105234 - JakobDegen:unneeded-field, r=oli-obkMatthias Krüger-1/+0
Remove unneeded field from `SwitchTargets` This had a fixme already. The only change in behavior is that the mir dumps now no longer contains labels for the types of the integers on the edges of a switchint: Before: ![image](https://user-images.githubusercontent.com/51179609/205467622-34401a68-dca6-43eb-915e-b9fda1988860.png) After: ![image](https://user-images.githubusercontent.com/51179609/205467634-b5b2a259-9cb4-4843-845c-592c500f0f9c.png) I don't think that's a problem though. The information is still available to a user that really cares by checking the type of `_2`, so it honestly feels like a bit of an improvement to me. r? mir
2022-12-10Rollup merge of #105516 - weihanglo:update-cargo, r=weihangloMatthias Krüger-0/+0
Update cargo 2 commits in f6e737b1e3386adb89333bf06a01f68a91ac5306..70898e522116f6c23971e2a554b2dc85fd4c84cd 2022-12-02 20:21:24 +0000 to 2022-12-05 19:43:44 +0000 - Rename `generate_units` -&gt; `generate_root_units` (rust-lang/cargo#11458) - Implements cargo file locking using fcntl on Solaris. (rust-lang/cargo#11439) r? `@ghost`
2022-12-10Rollup merge of #105109 - rcvalle:rust-kcfi, r=bjorn3Matthias Krüger-0/+6
Add LLVM KCFI support to the Rust compiler This PR adds LLVM Kernel Control Flow Integrity (KCFI) support to the Rust compiler. It initially provides forward-edge control flow protection for operating systems kernels for Rust-compiled code only by aggregating function pointers in groups identified by their return and parameter types. (See llvm/llvm-project@cff5bef.) Forward-edge control flow protection for C or C++ and Rust -compiled code "mixed binaries" (i.e., for when C or C++ and Rust -compiled code share the same virtual address space) will be provided in later work as part of this project by identifying C char and integer type uses at the time types are encoded (see Type metadata in the design document in the tracking issue #89653). LLVM KCFI can be enabled with -Zsanitizer=kcfi. Thank you again, `@bjorn3,` `@eddyb,` `@nagisa,` and `@ojeda,` for all the help!
2022-12-10Update cargoWeihang Lo-0/+0
2 commits in f6e737b1e3386adb89333bf06a01f68a91ac5306..70898e522116f6c23971e2a554b2dc85fd4c84cd 2022-12-02 20:21:24 +0000 to 2022-12-05 19:43:44 +0000 - Rename `generate_units` -&gt; `generate_root_units` (rust-lang/cargo#11458) - Implements cargo file locking using fcntl on Solaris. (rust-lang/cargo#11439)
2022-12-09Remove unneeded field from `SwitchTargets`Jakob Degen-1/+0
2022-12-09Auto merge of #105486 - matthiaskrgr:rollup-o7c4l1c, r=matthiaskrgrbors-4/+2
Rollup of 10 pull requests Successful merges: - #105216 (Remove unused GUI test) - #105245 (attempt to clarify align_to docs) - #105387 (Improve Rustdoc scrape-examples UI) - #105389 (Enable profiler in dist-powerpc64le-linux) - #105427 (Dont silently ignore rustdoc errors) - #105442 (rustdoc: clean up docblock table CSS) - #105443 (Move some queries and methods) - #105455 (use the correct `Reveal` during validation) - #105470 (Clippy: backport ICE fix before beta branch) - #105474 (lib docs: fix typo) Failed merges: r? `@ghost` `@rustbot` modify labels: rollup
2022-12-09Rollup merge of #105470 - flip1995:clippy_backport, r=ManishearthMatthias Krüger-4/+2
Clippy: backport ICE fix before beta branch r? `@Manishearth` Before beta is branched tomorrow we should backport the fix from https://github.com/rust-lang/rust-clippy/pull/10027 for an ICE. That way we'll get this into stable one release sooner. This only cherry-picks the fix, not the tests for it. The proper sync of this will be done next week Thursday.
2022-12-09Auto merge of #104449 - oli-obk:unhide_unknown_spans, r=estebank,RalfJungbors-80/+84
Start emitting labels even if their pointed to file is not available locally r? `@estebank` cc `@RalfJung` fixes #97699
2022-12-08Add LLVM KCFI support to the Rust compilerRamon de C Valle-0/+6
This commit adds LLVM Kernel Control Flow Integrity (KCFI) support to the Rust compiler. It initially provides forward-edge control flow protection for operating systems kernels for Rust-compiled code only by aggregating function pointers in groups identified by their return and parameter types. (See llvm/llvm-project@cff5bef.) Forward-edge control flow protection for C or C++ and Rust -compiled code "mixed binaries" (i.e., for when C or C++ and Rust -compiled code share the same virtual address space) will be provided in later work as part of this project by identifying C char and integer type uses at the time types are encoded (see Type metadata in the design document in the tracking issue #89653). LLVM KCFI can be enabled with -Zsanitizer=kcfi. Co-authored-by: bjorn3 <17426603+bjorn3@users.noreply.github.com>
2022-12-08Fix #10021Samuel Moelius-4/+2
2022-12-08Rollup merge of #105317 - RalfJung:retag-rework, r=oli-obkMatthias Krüger-179/+239
make retagging work even with 'unstable' places This is based on top of https://github.com/rust-lang/rust/pull/105301. Only the last two commits are new. While investigating https://github.com/rust-lang/unsafe-code-guidelines/issues/381 I realized that we would have caught this issue much earlier if the add_retag pass wouldn't bail out on assignments of the form `*ptr = ...`. So this PR changes our retag strategy: - When a new reference is created via `Rvalue::Ref` (or a raw ptr via `Rvalue::AddressOf`), we do the retagging as part of just executing that address-taking operation. - For everything else, we still insert retags -- these retags basically serve to ensure that references stored in local variables (and their fields) are always freshly tagged, so skipping this for assignments like `*ptr = ...` is less egregious. r? ```@oli-obk```
2022-12-07Make -Zsimulate-remapped-rust-src-base reproducible on CIOli Scherer-0/+2
2022-12-06Emit full spans in miriOli Scherer-3/+2
2022-12-06Bless after rebaseOli Scherer-4/+4
2022-12-06Reintroduce the span printing in miri (plus point to spans where possible)Oli Scherer-420/+423