summary refs log tree commit diff
path: root/src/tools
AgeCommit message (Collapse)AuthorLines
2023-05-04[beta] Update cargoWeihang Lo-0/+0
2023-04-17add support for `// unset-exec-env` in compiletestPietro Albini-4/+32
2023-04-17treat the dev channel as nightly in compiletestPietro Albini-1/+5
2023-04-14Auto merge of #110197 - cjgillot:codegen-discr, r=pnkfelixbors-1/+1
Do not attempt to commute comparison and cast to codegen discriminants The general algorithm to compute a discriminant is: ``` relative_tag = tag - niche_start is_niche = relative_tag <= (ule) relative_max discr = if is_niche { cast(relative_tag) + niche_variants.start() } else { untagged_variant } ``` We have an optimization branch which attempts to merge the addition and the subtraction by commuting them with the cast. We currently get this optimization wrong. This PR takes the easiest and safest way: remove the optimization, and let LLVM handle it. (Perf may not agree with that course of action :sweat_smile:) There may be a less invasive solution, but I don't have the necessary knowledge of LLVM semantics to find it. Cranelift has the same optimization, which should be handled similarly. cc `@nikic` and `@bjorn3` if you have a better solution. Fixes https://github.com/rust-lang/rust/issues/110128
2023-04-14Rollup merge of #110244 - kadiwa4:unnecessary_imports, r=JohnTitorMatthias Krüger-6/+2
Remove some unneeded imports / qualified paths Continuation of #105537.
2023-04-14Pacify tidy.Camille GILLOT-1/+1
2023-04-14Rollup merge of #106249 - Ezrashaw:suggest-test-tool, r=jyn514,albertlarsan68Yuki Okushi-0/+200
Create "suggested tests" tool in `rustbuild` Not the claimed person in #97339 but: I've done a very rough implementation of this feature in-tree. I'm very new to `rustc` development (outside of docs) so some help would be greatly appreciated. The UI of this new subcommand obviously will change and I need some mentoring with the `--run` flag. r? ```@jyn514```
2023-04-14Auto merge of #109875 - jyn514:no-fulldeps, r=compiler-errorsbors-1/+1
Move most ui-fulldeps tests to ui/ Same rationale as https://github.com/rust-lang/rust/pull/109770, they don't actually need a stage 2 build. This increases the limit for the UI directory because otherwise it was annoying to be constantly moving files into subdirectories when I fixed a test; https://github.com/rust-lang/rust/pull/109873 makes up for it. cc https://github.com/rust-lang/rust/pull/109770, https://github.com/rust-lang/rust/pull/109874
2023-04-13Move most ui-fulldeps tests to uijyn-1/+1
They pass fine. Only tests that required `extern crate rustc_*` or were marked `ignore-stage1` have been keep in fulldeps.
2023-04-14Auto merge of #110160 - petrochenkov:notagain2, r=cjgillotbors-2/+2
resolve: Pre-compute non-reexport module children Instead of repeating the same logic by walking HIR during metadata encoding. The only difference is that we are no longer encoding `macro_rules` items, but we never currently need them as a part of this list. They can be encoded separately if this need ever arises. `module_reexports` is also un-querified, because I don't see any reasons to make it a query, only overhead.
2023-04-13Update cargoWeihang Lo-0/+0
2023-04-13Rollup merge of #110072 - joshtriplett:stabilize-is-terminal, r=Mark-SimulacrumMatthias Krüger-4/+0
Stabilize IsTerminal FCP completed in https://github.com/rust-lang/rust/issues/98070 . closes: https://github.com/rust-lang/rust/issues/98070
2023-04-12Special-case item attributes in the suggestion outputEsteban Küber-9/+0
2023-04-12Tweak output for 'add line' suggestionEsteban Küber-11/+28
2023-04-12Auto merge of #110249 - matthiaskrgr:rollup-7iig04q, r=matthiaskrgrbors-6/+22
Rollup of 8 pull requests Successful merges: - #110153 (Fix typos in compiler) - #110165 (rustdoc: use CSS `overscroll-behavior` instead of JavaScript) - #110175 (Symbol cleanups) - #110203 (Remove `..` from return type notation) - #110205 (rustdoc: make settings radio and checks thicker, less contrast) - #110222 (Improve the error message when forwarding a matched fragment to another macro) - #110237 (Split out a separate feature gate for impl trait in associated types) - #110241 (tidy: Issue an error when UI test limits are too high) Failed merges: - #110218 (Remove `ToRegionVid`) r? `@ghost` `@rustbot` modify labels: rollup
2023-04-12remove some unneeded importsKaDiWa-6/+2
2023-04-12tidy: Issue an error when ui test limits are too highclubby789-6/+22
2023-04-12Rollup merge of #110188 - Nilstrieb:remove-remove-dir-all, r=jyn514Matthias Krüger-864/+0
Remove orphaned remove_dir_all implementation from rust-installer I have no idea why it's here, but it's not used at all. r? Mark-Simulacrum
2023-04-12resolve: Pre-compute non-reexport module childrenVadim Petrochenkov-2/+2
Instead of repeating the same logic by walking HIR during metadata encoding. The only difference is that we are no longer encoding `macro_rules` items, but we never currently need them as a part of this list. They can be encoded separately if this need ever arises. `module_reexports` is also un-querified, because I don't see any reasons to make it a query, only overhead.
2023-04-11Rollup merge of #110155 - DaniPopes:rest-typos, r=jyn514Michael Goulet-60/+60
Fix typos in librustdoc, tools and config files I used [`typos`](https://github.com/crate-ci/typos) to fix all typos, minus the ones present in #110153 and in #110154. Refs #110150
2023-04-11Rollup merge of #110018 - jfgoog:host-and-target-linker, r=wesleywiserMichael Goulet-7/+16
Pass host linker to compiletest. Tests marked `// force-host` were using the default linker, even if a custom linker was configured in config.toml. This change adds a new flag, --host-linker, to compiletest, and renames --linker to --target-linker.
2023-04-11Auto merge of #110198 - weihanglo:update-cargo, r=weihanglobors-0/+0
Update cargo 17 commits in 0e474cfd7b16b018cf46e95da3f6a5b2f1f6a9e7..7bf43f028ba5eb1f4d70d271c2546c38512c9875 2023-03-31 23:15:58 +0000 to 2023-04-10 16:01:41 +0000 - docs(pkgid): Consistently use @ (rust-lang/cargo#11956) - Fix credential token format validation. (rust-lang/cargo#11951) - Validate token on publish. (rust-lang/cargo#11952) - Clarify docs on `-C` that it appears before the command. (rust-lang/cargo#11947) - Add `try_canonicalize` and use it over `std::fs::canonicalize` (rust-lang/cargo#11866) - Fix typo (rust-lang/cargo#11944) - docs(changelog): Change wording about auto-fix message (rust-lang/cargo#11943) - Update home repo URL (rust-lang/cargo#11941) - doc(changelog): `[env]` is a table, not a stable (rust-lang/cargo#11942) - Stop using UncanonicalizedIter for QueryKind::Exact (rust-lang/cargo#11937) - Don't query permutations of the path prefix. (rust-lang/cargo#11936) - Fix typo in variable name (rust-lang/cargo#11931) - Fix Cargo warning about unused sparse configuration key (rust-lang/cargo#11930) - Switch benchsuite to the index archive. (rust-lang/cargo#11933) - Update git2 (rust-lang/cargo#11928) - Publish docs: Clarify requirements about the state of the index after publish. (rust-lang/cargo#11926) - Call out the differences between the index JSON and the API or metadata. (rust-lang/cargo#11927)
2023-04-11Update cargoWeihang Lo-0/+0
2023-04-11Merge commit '83e42a2337dadac915c956d125f1d69132f36425' into clippyupPhilipp Krones-1695/+4728
2023-04-11Remove orphaned remove_dir_all implementation from rust-installernils-864/+0
I have no idea why it's here, but it's not used at all.
2023-04-11rename maybe_delink to maybe_remove_mentionDaniPopes-3/+3
2023-04-10Fix remaining typosDaniPopes-60/+60
2023-04-10rustupBen Kimock-14/+10
2023-04-10Turn off the alignment check pass, remove the panic test for itBen Kimock-11/+3
The panic test is now counted as an error test; we encounter a Terminate terminator, and emit an interpreter error, as opposed to just terminating due to a panic. So this test should have broken with https://github.com/rust-lang/rust/pull/102906 but wasn't because the Miri test suite is currently broken in rust-lang/rust: https://github.com/rust-lang/rust/issues/110102
2023-04-10Merge from rustcBen Kimock-404/+770
2023-04-10Preparing for merge from rustcBen Kimock-1/+1
2023-04-10Auto merge of #110137 - Dylan-DPC:rollup-fdruvwp, r=Dylan-DPCbors-2/+7
Rollup of 6 pull requests Successful merges: - #109724 (prioritize param env candidates if they don't guide type inference) - #110021 (Fix a couple ICEs in the new `CastKind::Transmute` code) - #110044 (Avoid some manual slice length calculation) - #110115 (compiletest: Use remap-path-prefix only in CI) - #110121 (Fix `x check --stage 1` when download-rustc is enabled) - #110124 (Some clippy fixes in the compiler) Failed merges: - #109752 (Stall auto trait assembly in new solver for int/float vars) r? `@ghost` `@rustbot` modify labels: rollup
2023-04-10Rollup merge of #110115 - jyn514:remap-path-prefix-ci, r=compiler-errorsDylan DPC-2/+7
compiletest: Use remap-path-prefix only in CI This makes jump-to-definition work in most IDEs, as well as being easier to understand for contributors. Fixes https://github.com/rust-lang/rust/issues/109725. cc `@TimNN`
2023-04-10Stabilize IsTerminalJosh Triplett-4/+0
closes: https://github.com/rust-lang/rust/issues/98070
2023-04-10Auto merge of #110008 - klensy:deps-up-apr-06, r=Mark-Simulacrumbors-2/+2
bump few deps Update few deps to fix security vulns, future incompatibilities, duplicates. `jemalloc-sys` v0.5.0+5.3.0 -> v0.5.3+5.3.0-patched: fixes future-incompatibilities by dropping fs_extra (https://github.com/rust-lang-ci/rust/actions/runs/4626595610/jobs/8183514150#step:26:19499, https://github.com/tikv/jemallocator/blob/tikv-jemalloc-sys-0.5.3/CHANGELOG.md) `openssl-src` v111.22.0+1.1.1q -> v111.25.0+1.1.1t: fixes few vulns: https://www.openssl.org/news/vulnerabilities-1.1.1.html https://www.cve.org/CVERecord?id=CVE-2022-4304 https://www.cve.org/CVERecord?id=CVE-2022-4450 https://www.cve.org/CVERecord?id=CVE-2023-0215 https://www.cve.org/CVERecord?id=CVE-2023-0286 There exist newer openssl version 1.1.1u with low severity vulns, but no crate update yet `openssl` crate with deps 0.10.38 ->0.10.49 fixes vulns (https://github.com/sfackler/rust-openssl/blob/openssl-v0.10.49/openssl/CHANGELOG.md) https://rustsec.org/advisories/RUSTSEC-2023-0022 https://rustsec.org/advisories/RUSTSEC-2023-0023 https://rustsec.org/advisories/RUSTSEC-2023-0024 update `env_logger` for `rustbook` and `cargo_metadata` for `tidy` to newer versions (still used by `rustfmt`, `miri`)
2023-04-09Rollup merge of #110114 - jyn514:wasm-errors, r=compiler-errorsMatthias Krüger-2/+2
compiletest: Give a better error message if `node` isn't installed
2023-04-09Auto merge of #109751 - bzEq:aix-gmake, r=Mark-Simulacrumbors-0/+1
AIX uses gmake for GNU style Makefile AIX's `make` is SystemV style, should use `gmake` for GNU style Makefile.
2023-04-09compiletest: Use remap-path-prefix only in CIJoshua Nelson-2/+7
This makes jump-to-definition work in most IDEs, as well as being easier to understand for contributors.
2023-04-09compiletest: Give a better error message if `node` isn't installedJoshua Nelson-2/+2
2023-04-09feat: implement basic suggest-tests toolEzra Shaw-0/+200
2023-04-09Auto merge of #110031 - compiler-errors:generic-elaboration, r=b-naberbors-2/+2
Make elaboration generic over input Combines all the `elaborate_*` family of functions into just one, which is an iterator over the same type that you pass in (e.g. elaborating `Predicate` gives `Predicate`s, elaborating `Obligation`s gives `Obligation`s, etc.)
2023-04-07Auto merge of #102906 - nbdd0121:mir, r=wesleywiser,tmiaskobors-42/+87
Refactor unwind in MIR This makes unwinding from current `Option<BasicBlock>` into ```rust enum UnwindAction { Continue, Cleanup(BasicBlock), Unreachable, Terminate, } ``` cc `@JakobDegen` `@RalfJung` `@Amanieu`
2023-04-07Auto merge of #110019 - jplatte:jplatte/stabilize-is-some-and, r=Amanieubors-1/+0
Stabilize is_some_and This stabilizes the following public API: ```rust impl<T> Option<T> { pub fn is_some_and(self, f: impl FnOnce(T) -> bool) -> bool; } impl<T, E> Result<T, E> { pub fn is_ok_and(self, f: impl FnOnce(T) -> bool) -> bool; pub fn is_err_and(self, f: impl FnOnce(E) -> bool) -> bool; } ``` Closes #93050 (tracking issue). `@rustbot` label +T-libs-api -T-libs
2023-04-06Make elaborator genericMichael Goulet-2/+2
2023-04-06Stabilize is_some_andJonas Platte-1/+0
2023-04-06Pass host linker to compiletest.James Farrell-7/+16
Tests marked `// force-host` were using the default linker, even if a custom linker was configured in config.toml. This change adds a new flag, --host-linker, to compiletest, and renames --linker to --target-linker.
2023-04-06Rollup merge of #110004 - SparrowLii:failure_status, r=oli-obkMatthias Krüger-1/+13
add `dont_check_failure_status` option in the compiler test Sometimes the compiler triggers one ice while processing another ice. This will cause a recursive panic and go to [`sys::abort_internal()`](https://github.com/rust-lang/rust/blob/master/library/std/src/panicking.rs#L675), which generates an unfixed exit code. So I think we need an option to allow these use cases to generate different exit codes Updates #75760 cc #95134 For example, when set `parallel_compiler = true`, issue-95134 will ice in `report_ice` since it try to print the query stack. Below is the brief error message: ``` failures: ---- [ui] tests\ui\recursion\issue-95134.rs stdout ---- error: Error: expected failure status (Some(101)) but received status Some(-1073740791). status: exit code: 0xc0000409 command: PATH="D:\rust-backup\parallel_rust\rust-para\build\x86_64-pc-windows-msvc\stage1\bin;C:\Program Files (x86)\Windows Kits\10\bin\x64;C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\bin\HostX64\x64;C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\bin\HostX64\x64;D:\rust-backup\parallel_rust\rust-para\build\x86_64-pc-windows-msvc\stage0-bootstrap-tools\x86_64-pc-windows-msvc\release\deps;D:\rust-backup\parallel_rust\rust-para\build\x86_64-pc-windows-msvc\stage0\bin;C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.4\bin;C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.4\libnvvp;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Program Files\TortoiseGit\bin;C:\Program Files\CMake\bin;C:\Program Files (x86)\GnuWin32\bin;C:\Program Files\Git\cmd;C:\Program Files\NVIDIA Corporation\Nsight Compute 2021.2.1\;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Users\HuaweiOpensource\anaconda3;C:\Users\HuaweiOpensource\anaconda3\Scripts;C:\Users\HuaweiOpensource\anaconda3\Library\bin;C:\Users\HuaweiOpensource\anaconda3\Library\mingw-w64;C:\Program Files (x86)\Windows Kits\10\Windows Performance Toolkit\;C:\Program Files (x86)\GnuWin32\bin;C:\Users\HuaweiOpensource\AppData\Local\Programs\Python\Python38\Scripts\;C:\Users\HuaweiOpensource\AppData\Local\Programs\Python\Python38\;C:\Users\HuaweiOpensource\.cargo\bin;C:\Users\HuaweiOpensource\.cargo\bin;D:\Program Files\JetBrains\CLion 2022.1.3\bin;;D:\Program Files\JetBrains\PyCharm Community Edition 2020.3\bin;;D:\Program Files\OpenSSL-Win64\bin;C:\Program Files (x86)\Windows Kits\10\Windows Performance Toolkit;C:\Program Files (x86)\Windows Kits\10\bin\10.0.19041.0\x64;" "D:\\rust-backup\\parallel_rust\\rust-para\\build\\x86_64-pc-windows-msvc\\stage1\\bin\\rustc.exe" "D:\\rust-backup\\parallel_rust\\rust-para\\tests\\ui\\recursion\\issue-95134.rs" "-Zthreads=1" "--target=x86_64-pc-windows-msvc" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Zdeduplicate-diagnostics=no" "-Cstrip=debuginfo" "--remap-path-prefix=D:\\rust-backup\\parallel_rust\\rust-para\\tests\\ui=fake-test-src-base" "-C" "prefer-dynamic" "--out-dir" "D:\\rust-backup\\parallel_rust\\rust-para\\build\\x86_64-pc-windows-msvc\\test\\ui\\recursion\\issue-95134" "-A" "unused" "-Crpath" "-Cdebuginfo=0" "-Lnative=D:\\rust-backup\\parallel_rust\\rust-para\\build\\x86_64-pc-windows-msvc\\native\\rust-test-helpers" "-L" "D:\\rust-backup\\parallel_rust\\rust-para\\build\\x86_64-pc-windows-msvc\\test\\ui\\recursion\\issue-95134\\auxiliary" "-Copt-level=0" stdout: none --- stderr ------------------------------- thread 'rustc' panicked at 'index out of bounds: the len is 0 but the index is 0', C:\Users\HuaweiOpensource\.cargo\registry\src\github.com-1ecc6299db9ec823\ena-0.14.2\src\snapshot_vec.rs:199:10 stack backtrace: 0: 0x7ffc3e90bc05 - std::backtrace_rs::backtrace::trace_unsynchronized::hfabb14c555fa1e54 1: 0x7ffc3e900799 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h88786f2c1c37cad0 2: 0x7ffc3e95143b - core::fmt::write::hef4555c5285e005b 3: 0x7ffc3e8ef2aa - std::io::Write::write_fmt::h9ea304efc4781c26 4: 0x7ffc3e90059b - std::sys_common::backtrace::print::h7b33cd350eefb143 ...... 178: 0x7ffc27d6a3f2 - <&mut serde_json[7222a1897944c7c8]::ser::Serializer<&mut alloc[6a6f6c0f0cd9fa15]::vec::Vec<u8>, serde_json[7222a1897944c7c8]::ser::PrettyFormatter> as serde[d3e6684f4f38fcf7]::ser::Serializer>::collect_seq::<&alloc[6a6f6c0f0cd9fa15]::vec::Vec<serde_json[7222a1897944c7c8]::value::Value>> 179: 0x7ffc3e8ed9ec - std::sys::windows::thread::Thread::new::thread_start::h5be4f069fac1a629 180: 0x7ffcb0b37614 - BaseThreadInitThunk 181: 0x7ffcb18c26a1 - RtlUserThreadStart error: the compiler unexpectedly panicked. this is a bug. note: we would appreciate a bug report: https://github.com/rust-lang/rust/issues/new?labels=C-bug%2C+I-ICE%2C+T-compiler&template=ice.md note: rustc 1.70.0-dev running on x86_64-pc-windows-msvc note: compiler flags: -Z threads=1 -C codegen-units=1 -Z ui-testing -Z simulate-remapped-rust-src-base=/rustc/FAKE_PREFIX -Z translate-remapped-path-to-local-path=no -Z deduplicate-diagnostics=no -C strip=debuginfo -C prefer-dynamic -C rpath -C debuginfo=0 -C opt-level=0 query stack during panic: thread 'rustc' panicked at 'type variables should not be hashed: _#0t', D:\rust-backup\parallel_rust\rust-para\compiler\rustc_type_ir\src\lib.rs:718:17 stack backtrace: 0: 0x7ffc3e90bc05 - std::backtrace_rs::backtrace::trace_unsynchronized::hfabb14c555fa1e54 1: 0x7ffc3e900799 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h88786f2c1c37cad0 2: 0x7ffc3e95143b - core::fmt::write::hef4555c5285e005b 3: 0x7ffc3e8ef2aa - std::io::Write::write_fmt::h9ea304efc4781c26 4: 0x7ffc3e90059b - std::sys_common::backtrace::print::h7b33cd350eefb143 5: 0x7ffc3e91c109 - std::panicking::default_hook::h12f01c5f2b8959c6 ...... 197: 0x7ffc27d6a3f2 - <&mut serde_json[7222a1897944c7c8]::ser::Serializer<&mut alloc[6a6f6c0f0cd9fa15]::vec::Vec<u8>, serde_json[7222a1897944c7c8]::ser::PrettyFormatter> as serde[d3e6684f4f38fcf7]::ser::Serializer>::collect_seq::<&alloc[6a6f6c0f0cd9fa15]::vec::Vec<serde_json[7222a1897944c7c8]::value::Value>> 198: 0x7ffc3e8ed9ec - std::sys::windows::thread::Thread::new::thread_start::h5be4f069fac1a629 199: 0x7ffcb0b37614 - BaseThreadInitThunk 200: 0x7ffcb18c26a1 - RtlUserThreadStart error: the compiler unexpectedly panicked. this is a bug. note: we would appreciate a bug report: https://github.com/rust-lang/rust/issues/new?labels=C-bug%2C+I-ICE%2C+T-compiler&template=ice.md note: rustc 1.70.0-dev running on x86_64-pc-windows-msvc note: compiler flags: -Z threads=1 -C codegen-units=1 -Z ui-testing -Z simulate-remapped-rust-src-base=/rustc/FAKE_PREFIX -Z translate-remapped-path-to-local-path=no -Z deduplicate-diagnostics=no -C strip=debuginfo -C prefer-dynamic -C rpath -C debuginfo=0 -C opt-level=0 query stack during panic: thread panicked while processing panic. aborting. ------------------------------------------ ```
2023-04-06bump few depsklensy-2/+2
2023-04-06add `dont_check_failure_status` option in the compiler testSparrowLii-1/+13
2023-04-06Add miri tests for terminate terminatorGary Guo-4/+58