Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rollup of 9 pull requests #111476

Closed
wants to merge 23 commits into from

Conversation

matthiaskrgr
Copy link
Member

Successful merges:

Failed merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

obeis and others added 23 commits May 10, 2023 09:54
This test case currently fails on s390x, and probably other
platforms where the last line of a backtrace does not contain
and " at <source location>" specification.

The problem with the existing normalization lines
// normalize-stderr-test "\s*\d{1,}: .*\n" -> ""
// normalize-stderr-test "\s at .*\n" -> ""
is that \s matches all whitespace, including newlines, so the
first (but not second) of these regexes may merge multiple
lines.  Thus the output differs depending on which of these
matches on the last line of a backtrace.

As the whitespace used in backtraces is just normal space
characters, change both regexes to just match at least one
space character instead:
// normalize-stderr-test " +\d{1,}: .*\n" -> ""
// normalize-stderr-test " + at .*\n" -> ""
…r=lcnr

Make `NonUseContext::AscribeUserTy` carry `ty::Variance`

Close rust-lang#108267
…mpiler-errors

Fix backtrace normalization in ice-bug-report-url.rs

This test case currently fails on s390x, and probably other platforms where the last line of a backtrace does not contain and " at <source location>" specification.

The problem with the existing normalization lines
// normalize-stderr-test "\s*\d{1,}: .*\n" -> ""
// normalize-stderr-test "\s at .*\n" -> ""
is that \s matches all whitespace, including newlines, so the first (but not second) of these regexes may merge multiple lines.  Thus the output differs depending on which of these matches on the last line of a backtrace.

As the whitespace used in backtraces is just normal space characters, change both regexes to just match at least one space character instead:
// normalize-stderr-test " +\d{1,}: .*\n" -> ""
// normalize-stderr-test " + at .*\n" -> ""
Verify copies of mutable pointers in 2 stages in ReferencePropagation

Fixes rust-lang#111422

In the first stage, we mark the copies as reborrows, to be checked later.
In the second stage, we walk the reborrow chains to verify that all stages are fully replacable.

The replacement itself mirrors the check, and iterates through the reborrow chain.

r? ``@RalfJung``
cc ``@JakobDegen``
Only warn single-use lifetime when the binders match.

Fixes rust-lang#111400
…r=b-naber

Note user-facing types of coercion failure

When coercing, for example, `Box<A>` into `Box<dyn B>`, make sure that any failure notes mention *those* specific types, rather than mentioning inner types, like "the cast from `A` to `dyn B`".

I expect end-users are often confused when we skip layers of types and only mention the "innermost" part of a coercion, especially when other notes point at HIR, e.g. rust-lang#111406.
Update cargo

2 commits in 26b73d15a68fb94579f6d3590585ec0e9d81d3d5..13413c64ff88dd6c2824e9eb9374fc5f10895d28
2023-05-09 20:28:03 +0000 to 2023-05-10 13:46:18 +0000

* Update libc to 0.2.144 (rust-lang/cargo#12098)
* changelog: add entries of some behavior changes (rust-lang/cargo#12119)

r? ``@weihanglo``
…est, r=notriddle

Update browser-ui-test version to 0.16.0

This new version brings one major improvement: it allows to use the original color format in checks (I plan to slowly continue converting colors back to their "original" format, ie the one used in CSS).

It also provides some improvements in some commands API.

r? `@notriddle`
…mpiler-errors

Improve suggestion for `self: Box<self>`

Fixes rust-lang#110642
…r=wesleywiser

Fix data race in llvm source code coverage

Fixes rust-lang#91092 .

Before this patch, increment of counters for code coverage looks like this:
```
 movq    .L__profc__RNvCsd6wgJFC5r19_3lib6bugaga+8(%rip), %rax
 addq    $1, %rax
movq    %rax, .L__profc__RNvCsd6wgJFC5r19_3lib6bugaga+8(%rip)
```

after this patch:

```
lock            incq    .L__profc__RNvCs3JgIB2SjHh2_3lib6bugaga+8(%rip)
```
@rustbot rustbot added A-testsuite Area: The testsuite used to check the correctness of rustc S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-infra Relevant to the infrastructure team, which will review and decide on the PR/issue. T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue. rollup A PR which is a rollup labels May 11, 2023
@matthiaskrgr
Copy link
Member Author

@bors r+ rollup=never p=150

@bors
Copy link
Contributor

bors commented May 11, 2023

📌 Commit b203279 has been approved by matthiaskrgr

It is now in the queue for this repository.

@bors
Copy link
Contributor

bors commented May 11, 2023

🌲 The tree is currently closed for pull requests below priority 100. This pull request will be tested once the tree is reopened.

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels May 11, 2023
@bors
Copy link
Contributor

bors commented May 11, 2023

⌛ Testing commit b203279 with merge b24f63e23ef08b1764ca33a54be84911f3fad00f...

@rust-log-analyzer
Copy link
Collaborator

The job aarch64-gnu failed! Check out the build log: (web) (plain)

Click to see the possible cause of the failure (guessed by this bot)
---- [run-make] tests/run-make/coverage-llvmir stdout ----

error: make failed
status: exit status: 2
command: cd "/checkout/tests/run-make/coverage-llvmir" && AR="ar" CC="cc -ffunction-sections -fdata-sections -fPIC" CXX="c++ -ffunction-sections -fdata-sections -fPIC" HOST_RPATH_DIR="/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/lib" LD_LIB_PATH_ENVVAR="LD_LIBRARY_PATH" LLVM_BIN_DIR="/checkout/obj/build/aarch64-unknown-linux-gnu/llvm/build/bin" LLVM_COMPONENTS="aarch64 aarch64asmparser aarch64codegen aarch64desc aarch64disassembler aarch64info aarch64utils aggressiveinstcombine all all-targets analysis arm armasmparser armcodegen armdesc armdisassembler arminfo armutils asmparser asmprinter avr avrasmparser avrcodegen avrdesc avrdisassembler avrinfo binaryformat bitreader bitstreamreader bitwriter bpf bpfasmparser bpfcodegen bpfdesc bpfdisassembler bpfinfo cfguard codegen core coroutines coverage debuginfocodeview debuginfodwarf debuginfogsym debuginfologicalview debuginfomsf debuginfopdb demangle dlltooldriver dwarflinker dwarflinkerparallel dwp engine executionengine extensions filecheck frontendhlsl frontendopenacc frontendopenmp fuzzercli fuzzmutate globalisel hexagon hexagonasmparser hexagoncodegen hexagondesc hexagondisassembler hexagoninfo instcombine instrumentation interfacestub interpreter ipo irprinter irreader jitlink libdriver lineeditor linker loongarch loongarchasmparser loongarchcodegen loongarchdesc loongarchdisassembler loongarchinfo lto m68k m68kasmparser m68kcodegen m68kdesc m68kdisassembler m68kinfo mc mca mcdisassembler mcjit mcparser mips mipsasmparser mipscodegen mipsdesc mipsdisassembler mipsinfo mirparser msp430 msp430asmparser msp430codegen msp430desc msp430disassembler msp430info native nativecodegen nvptx nvptxcodegen nvptxdesc nvptxinfo objcarcopts objcopy object objectyaml option orcjit orcshared orctargetprocess passes powerpc powerpcasmparser powerpccodegen powerpcdesc powerpcdisassembler powerpcinfo profiledata remarks riscv riscvasmparser riscvcodegen riscvdesc riscvdisassembler riscvinfo riscvtargetmca runtimedyld scalaropts selectiondag sparc sparcasmparser sparccodegen sparcdesc sparcdisassembler sparcinfo support symbolize systemz systemzasmparser systemzcodegen systemzdesc systemzdisassembler systemzinfo tablegen target targetparser textapi transformutils vectorize webassembly webassemblyasmparser webassemblycodegen webassemblydesc webassemblydisassembler webassemblyinfo webassemblyutils windowsdriver windowsmanifest x86 x86asmparser x86codegen x86desc x86disassembler x86info x86targetmca xray" LLVM_FILECHECK="/checkout/obj/build/aarch64-unknown-linux-gnu/llvm/build/bin/FileCheck" PYTHON="/usr/bin/python3" RUSTC="/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/bin/rustc" RUSTDOC="/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/bin/rustdoc" RUST_BUILD_STAGE="stage2-aarch64-unknown-linux-gnu" RUST_DEMANGLER="/checkout/obj/build/aarch64-unknown-linux-gnu/stage2-tools-bin/rust-demangler" S="/checkout" TARGET="aarch64-unknown-linux-gnu" TARGET_RPATH_DIR="/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/lib/rustlib/aarch64-unknown-linux-gnu/lib" TMPDIR="/checkout/obj/build/aarch64-unknown-linux-gnu/test/run-make/coverage-llvmir/coverage-llvmir" "make"
--- stdout -------------------------------
# Compile the test program with non-experimental coverage instrumentation, and generate LLVM IR
LD_LIBRARY_PATH="/checkout/obj/build/aarch64-unknown-linux-gnu/test/run-make/coverage-llvmir/coverage-llvmir:/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/lib:/checkout/obj/build/aarch64-unknown-linux-gnu/stage0-bootstrap-tools/aarch64-unknown-linux-gnu/release/deps:/checkout/obj/build/aarch64-unknown-linux-gnu/stage0/lib" '/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/bin/rustc' --out-dir /checkout/obj/build/aarch64-unknown-linux-gnu/test/run-make/coverage-llvmir/coverage-llvmir -L /checkout/obj/build/aarch64-unknown-linux-gnu/test/run-make/coverage-llvmir/coverage-llvmir  ../coverage-llvmir/testprog.rs \
  -Cinstrument-coverage \
  --emit=llvm-ir
cat "/checkout/obj/build/aarch64-unknown-linux-gnu/test/run-make/coverage-llvmir/coverage-llvmir"/testprog.ll | \
  "/checkout/obj/build/aarch64-unknown-linux-gnu/llvm/build/bin/FileCheck" ../coverage-llvmir/filecheck.testprog.txt -check-prefixes=CHECK -DDEFINE_INTERNAL='define internal' -DCOMDAT_IF_SUPPORTED=', comdat' -DINSTR_PROF_DATA='__llvm_prf_data' -DINSTR_PROF_NAME='__llvm_prf_names' -DINSTR_PROF_CNTS='__llvm_prf_cnts' -DINSTR_PROF_VALS='__llvm_prf_vals' -DINSTR_PROF_VNODES='__llvm_prf_vnds' -DINSTR_PROF_COVMAP='__llvm_covmap' -DINSTR_PROF_COVFUN='__llvm_covfun' -DINSTR_PROF_ORDERFILE='__llvm_orderfile'
--- stderr -------------------------------
--- stderr -------------------------------
../coverage-llvmir/filecheck.testprog.txt:39:8: error: CHECK: expected string not found in input
CHECK: %pgocount = load i64, {{i64\*|ptr}}
Build completed unsuccessfully in 0:46:21
<stdin>:380:7: note: scanning from here
start:
      ^
      ^
<stdin>:400:51: note: possible intended match here
 %10 = getelementptr inbounds [1 x { ptr, ptr }], ptr %_7, i64 0, i64 0

Input file: <stdin>
Input file: <stdin>
Check file: ../coverage-llvmir/filecheck.testprog.txt

-dump-input=help explains the following input dump.
Input was:
<<<<<<
            .
            .
            .
            .
          375: } 
          376:  
          377: ; testprog::will_be_called 
          378: ; Function Attrs: nonlazybind uwtable 
          379: define internal { ptr, i64 } @_RNvCs2vQph7PjJMo_8testprog14will_be_called() unnamed_addr #1 { 
          380: start: 
check:39'0           X error: no match found
          381:  %0 = alloca { ptr, ptr }, align 8 
check:39'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          382:  %_7 = alloca [1 x { ptr, ptr }], align 8 
check:39'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          383:  %_3 = alloca %"core::fmt::Arguments<'_>", align 8 
check:39'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          384:  %_1 = alloca { ptr, i64 }, align 8 
check:39'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          385:  %1 = atomicrmw add ptr @__profc__RNvCs2vQph7PjJMo_8testprog14will_be_called, i64 1 monotonic, align 8 
check:39'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
            .
            .
            .
          395:  %7 = load ptr, ptr %6, align 8, !nonnull !3, !noundef !3 
check:39'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          396:  %8 = insertvalue { ptr, ptr } poison, ptr %5, 0 
check:39'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          397:  %9 = insertvalue { ptr, ptr } %8, ptr %7, 1 
check:39'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          398:  %_8.0 = extractvalue { ptr, ptr } %9, 0 
check:39'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          399:  %_8.1 = extractvalue { ptr, ptr } %9, 1 
check:39'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          400:  %10 = getelementptr inbounds [1 x { ptr, ptr }], ptr %_7, i64 0, i64 0 
check:39'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
check:39'1                                                       ?                      possible intended match
          401:  %11 = getelementptr inbounds { ptr, ptr }, ptr %10, i32 0, i32 0 
check:39'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          402:  store ptr %_8.0, ptr %11, align 8 
check:39'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          403:  %12 = getelementptr inbounds { ptr, ptr }, ptr %10, i32 0, i32 1 
check:39'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          404:  store ptr %_8.1, ptr %12, align 8 
check:39'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          405: ; call <core::fmt::Arguments>::new_v1 
check:39'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
            .
            .
>>>>>>
>>>>>>
make: *** [Makefile:60: test_llvm_ir] Error 1



failures:

@bors
Copy link
Contributor

bors commented May 11, 2023

💔 Test failed - checks-actions

@bors bors added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels May 11, 2023
@matthiaskrgr matthiaskrgr deleted the rollup-7el2067 branch March 16, 2024 18:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-testsuite Area: The testsuite used to check the correctness of rustc rollup A PR which is a rollup S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-infra Relevant to the infrastructure team, which will review and decide on the PR/issue. T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging this pull request may close these issues.