Matthias Krüger
3473f734bd
Rollup merge of #110004 - SparrowLii:failure_status, r=oli-obk
...
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_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_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-06 18:43:00 +02:00
Matthias Krüger
4ecfb7fc04
Rollup merge of #109984 - scottmcm:less-float, r=Nilstrieb
...
Remove f32 & f64 from MemDecoder/MemEncoder
r? ```@Nilstrieb```
since they said (maybe joked) on discord that it's a bug if the compiler uses f32 anywhere 🙃
2023-04-06 18:42:59 +02:00
Matthias Krüger
dbc2941c15
Rollup merge of #109980 - xfix:derive-string-partialeq, r=scottmcm
...
Derive String's PartialEq implementation
2023-04-06 18:42:59 +02:00
Matthias Krüger
08ab38a703
Rollup merge of #109977 - notriddle:notriddle/data-nosnippet, r=jsha,the8472
...
rustdoc: avoid including line numbers in Google SERP snippets
![image](https://user-images.githubusercontent.com/1593513/230141184-9171c8e0-de92-48e6-85b6-8baee35e6d86.png )
2023-04-06 18:42:58 +02:00
Matthias Krüger
b153e2bd12
Rollup merge of #109782 - WaffleLapkin:nocommawhenremovingarguments, r=oli-obk
...
Don't leave a comma at the start of argument list when removing arguments
Fixes #109425
Quite a dirty hack, but at least it works ig.
2023-04-06 18:42:58 +02:00
Matthias Krüger
c86c9339e6
Rollup merge of #109755 - compiler-errors:new-solver-generator-witness-mir, r=cjgillot
...
Implement support for `GeneratorWitnessMIR` in new solver
r? ```@cjgillot```
I mostly want this to cut down the number of failing UI tests when running the UI test suite with `--compare-mode=next-solver`, but there doesn't seem like much reason to block implementing this since it adds minimal complexity to the existing structural traits impl in the new solver.
If others are against adding this for some reason, then maybe we should just make `GeneratorWitnessMIR` return `NoSolution` for these traits. Anything but an ICE please 😸 🧊
2023-04-06 18:42:57 +02:00
Matthias Krüger
3e21d6875f
Rollup merge of #109395 - chenyukang:yukang/fix-109291, r=cjgillot
...
Fix issue when there are multiple candidates for edit_distance_with_substrings
Fixes #109291
2023-04-06 18:42:57 +02:00
bors
f5b8f44e5d
Auto merge of #109333 - Zoxc:erase-query-cache-values, r=cjgillot
...
Erase query cache values
This replaces most concrete query values `V` with `MaybeUninit<[u8; { size_of::<V>() }]>` without introducing dynamic dispatch like https://github.com/rust-lang/rust/pull/108638 does. This is split out of https://github.com/rust-lang/rust/pull/108638 so the performance impact of only this change can be measured.
r? `@cjgillot`
2023-04-06 16:29:36 +00:00
klensy
40b6095e88
bump few deps
2023-04-06 18:21:37 +03:00
bors
0534655d9b
Auto merge of #108504 - cjgillot:thir-pattern, r=compiler-errors,Nilstrieb
...
Check pattern refutability on THIR
The current `check_match` query is based on HIR, but partially re-lowers HIR into THIR.
This PR proposed to use the results of the `thir_body` query to check matches, instead of re-building THIR.
Most of the diagnostic changes are spans getting shorter, or commas/semicolons not getting removed.
This PR degrades the diagnostic for confusing constants in patterns (`let A = foo()` where `A` resolves to a `const A` somewhere): it does not point ot the definition of `const A` any more.
2023-04-06 12:42:01 +00:00
SparrowLii
ded048398f
add dont_check_failure_status
option in the compiler test
2023-04-06 19:36:21 +08:00
bors
ce3cb03927
Auto merge of #109961 - nikic:llvm-16.0.1, r=cuviper
...
Update to LLVM 16.0.1
Update to current `release/16.x` branch. I've opted for a rebase to get rid of all our custom cherry-picks.
Fixes #109775 .
r? `@cuviper`
2023-04-06 09:54:59 +00:00
Gary Guo
04126398c2
Ignore many tests on wasm32
2023-04-06 10:08:07 +01:00
Gary Guo
e06de16a82
Add miri tests for terminate terminator
2023-04-06 09:34:17 +01:00
Gary Guo
2a9d710d99
Bless tests
2023-04-06 09:34:17 +01:00
Gary Guo
c5829c2ee5
Fix new usage of old api
2023-04-06 09:34:16 +01:00
Gary Guo
e29b5badbc
Fix mir interp of TerminatorKind::Terminate
2023-04-06 09:34:16 +01:00
Gary Guo
5ae3a53a44
Revert box_free unwind action
2023-04-06 09:34:16 +01:00
Gary Guo
de3f8a1578
Fix MSVC build
2023-04-06 09:34:16 +01:00
Gary Guo
bf6b84b10a
Fix new usage of old api
2023-04-06 09:34:16 +01:00
Gary Guo
5cbda2a55e
Fix tools
2023-04-06 09:34:16 +01:00
Gary Guo
3af45d6c57
Address review feedback
2023-04-06 09:34:16 +01:00
Gary Guo
e3f2edc75b
Rename Abort
terminator to Terminate
...
Unify terminology used in unwind action and terminator, and reflect
the fact that a nounwind panic is triggered instead of an immediate
abort is triggered for this terminator.
2023-04-06 09:34:16 +01:00
Gary Guo
0a5dac3062
Add UnwindAction::Terminate
2023-04-06 09:34:16 +01:00
Gary Guo
5e6ed132fa
Add UnwindAction::Unreachable
...
This also makes eval machine's `StackPopUnwind`
redundant so that is replaced.
2023-04-06 09:34:16 +01:00
Gary Guo
daeb844e0c
Refactor unwind from Option to a new enum
2023-04-06 09:34:16 +01:00
Sergei Belokon
502cb6f4b9
chore(tcp): change the hardcoded port number to port
var
...
The `listen_on` function in the example has a `port` option but doesn't
use it
2023-04-06 18:32:01 +10:00
Scott McMurray
5cb23e4a43
Remove f32 & f64 from MemDecoder/MemEncoder
2023-04-06 00:54:07 -07:00
bors
2824db39f1
Auto merge of #109915 - scottmcm:layout-indexvec, r=oli-obk
...
Use `FieldIdx` in `FieldsShape`
Finally got to the main motivating example from https://github.com/rust-lang/compiler-team/issues/606 :)
2023-04-06 07:38:58 +00:00
John Kåre Alsaker
0110073d03
Fully erase query values
2023-04-06 08:25:54 +02:00
John Kåre Alsaker
6d99dd9189
Address comments
2023-04-06 08:25:53 +02:00
John Kåre Alsaker
453e919c37
Avoid the assertion in erase
2023-04-06 08:25:53 +02:00
John Kåre Alsaker
36b4199a8e
Don't rely on Debug
impl for Erased
2023-04-06 08:25:53 +02:00
John Kåre Alsaker
785459d630
Erase query cache values
2023-04-06 08:25:52 +02:00
bors
7f6edd3f15
Auto merge of #109874 - jyn514:subdirectory-limit, r=compiler-errors
...
Reduce the default max number of files in a UI test directory
It doesn't make sense for the root directory to have a lower limit than subdirectories.
2023-04-06 05:22:35 +00:00
Deadbeef
d764c2da99
address comments
2023-04-06 04:55:58 +00:00
Deadbeef
25fdea009e
fix errors
2023-04-06 04:55:58 +00:00
Deadbeef
fc01b4b63c
fix and bless ui tests 1/2
2023-04-06 04:55:58 +00:00
Deadbeef
af74ef8993
migrate rustc_macros to syn 2.0
2023-04-06 04:55:58 +00:00
管唯宇
9169107c1c
Remove an unnecessary mut
in BufWriter::into_parts
.
...
`ptr::read` takes `*const T` so `&mut` is not necessary.
2023-04-06 11:48:16 +08:00
bors
f211da7101
Auto merge of #109792 - cjgillot:reachable-lint, r=oli-obk
...
Only visit reachable blocks in ConstProp lint.
Fixes https://github.com/rust-lang/rust/issues/78803
Fixes https://github.com/rust-lang/rust/issues/109731
2023-04-06 03:05:47 +00:00
bors
8c7ad16e82
Auto merge of #109986 - JohnTitor:rollup-3aax38t, r=JohnTitor
...
Rollup of 7 pull requests
Successful merges:
- #109909 (Deny `use`ing tool paths)
- #109921 (Don't ICE when encountering `dyn*` in statics or consts)
- #109922 (Disable `has_thread_local` on OpenHarmony)
- #109926 (write threads info into log only when debugging)
- #109968 (Add regression test for #80409 )
- #109969 (Add regression test for #86351 )
- #109973 (rustdoc: Improve logo display very small screen)
Failed merges:
r? `@ghost`
`@rustbot` modify labels: rollup
2023-04-05 23:10:09 +00:00
yukang
4fc3c6b07a
add comment
2023-04-06 06:51:49 +08:00
Michael Howell
e9daab25de
rustdoc: avoid including line numbers in Google SERP snippets
2023-04-05 15:43:09 -07:00
Yuki Okushi
9960e9f851
Rollup merge of #109973 - GuillaumeGomez:logo-display-very-small-screen, r=notriddle
...
rustdoc: Improve logo display very small screen
Before:
![Screenshot from 2023-04-05 16-56-33](https://user-images.githubusercontent.com/3050060/230125438-c63c8de1-923c-4534-adf1-bdef02e402a9.png )
After:
![Screenshot from 2023-04-05 16-57-17](https://user-images.githubusercontent.com/3050060/230125467-d3d46878-373a-4f8a-8554-1bb8c4baf46d.png )
r? `@notriddle`
2023-04-06 07:18:32 +09:00
Yuki Okushi
fe20ae0358
Rollup merge of #109969 - JohnTitor:issue-86351, r=compiler-errors
...
Add regression test for #86351
r? `@compiler-errors`
Closes #86351
2023-04-06 07:18:31 +09:00
Yuki Okushi
1424268a1b
Rollup merge of #109968 - JohnTitor:issue-80409, r=compiler-errors
...
Add regression test for #80409
r? ``@compiler-errors``
Closes #80409
2023-04-06 07:18:31 +09:00
Yuki Okushi
9dfe4af2a8
Rollup merge of #109926 - SparrowLii:parallel_log, r=eholk
...
write threads info into log only when debugging
The current tracing log will unconditionally write thread information during parallel compilation, which sometimes confuses some normal output log information
This fixes the UI test failure of:
```
[ui] tests/ui/consts/const_in_pattern/issue-73431.rs
```
Updates #75760
2023-04-06 07:18:30 +09:00
Yuki Okushi
836504ec34
Rollup merge of #109922 - Amanieu:ohos-no_thread_local, r=wesleywiser
...
Disable `has_thread_local` on OpenHarmony
OpenHarmony uses emulated TLS, which doesn't link properly when using thread-local variables across crate boundaries with `-C prefer-dynamic`. This PR makes thread_local! use pthreads directly instead.
2023-04-06 07:18:30 +09:00
Yuki Okushi
4b8725b854
Rollup merge of #109921 - compiler-errors:dyn-star-const-static, r=eholk
...
Don't ICE when encountering `dyn*` in statics or consts
Since we have properly implemented `dyn*` support in CTFE (#107728 ), let's not ICE here anymore.
Fixes #105777
r? `@eholk`
2023-04-06 07:18:29 +09:00