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 8 pull requests #126775

Closed
wants to merge 20 commits into from

Commits on Jun 14, 2024

  1. Configuration menu
    Copy the full SHA
    9b22110 View commit details
    Browse the repository at this point in the history

Commits on Jun 15, 2024

  1. Configuration menu
    Copy the full SHA
    2220ef8 View commit details
    Browse the repository at this point in the history
  2. to extract a pidfd we must consume the child

    As long as a pidfd is on a child it can be safely reaped. Taking it
    would mean the child would now have to be awaited through its pid, but could also
    be awaited through the pidfd. This could then suffer from a recycling race.
    the8472 committed Jun 15, 2024
    Configuration menu
    Copy the full SHA
    210400a View commit details
    Browse the repository at this point in the history

Commits on Jun 18, 2024

  1. Configuration menu
    Copy the full SHA
    c4ddc86 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    d51b446 View commit details
    Browse the repository at this point in the history
  3. make this comment correct

    dev-ardi committed Jun 18, 2024
    Configuration menu
    Copy the full SHA
    9f63712 View commit details
    Browse the repository at this point in the history

Commits on Jun 19, 2024

  1. Add the target-features

    sayantn committed Jun 19, 2024
    Configuration menu
    Copy the full SHA
    b6d20d1 View commit details
    Browse the repository at this point in the history
  2. Fix stderr cases

    sayantn committed Jun 19, 2024
    Configuration menu
    Copy the full SHA
    1e1b3fc View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    50d1efa View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    3e8898a View commit details
    Browse the repository at this point in the history

Commits on Jun 20, 2024

  1. Configuration menu
    Copy the full SHA
    a656bb6 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    3e59f0c View commit details
    Browse the repository at this point in the history

Commits on Jun 21, 2024

  1. Rollup merge of rust-lang#124101 - the8472:pidfd-methods, r=cuviper

    Add PidFd::{kill, wait, try_wait}
    
    rust-lang#117957 changed `Child` kill/wait/try_wait to use its pidfd instead of the pid, when one is available.
    This PR extracts those implementations and makes them available on `PidFd` directly.
    
    The `PidFd` implementations differ significantly from the corresponding `Child` methods:
    
    * the methods can be called after the child has been reaped, which will result in an error but will be safe. This state is not observable in `Child` unless something stole the zombie child
    * the `ExitStatus` is not kept, meaning that only the first time a wait succeeds it will be returned
    * `wait` does not close stdin
    * `wait` only requires `&self` instead of `&mut self` since there is no state to maintain and subsequent calls are safe
    
    Tracking issue: rust-lang#82971
    matthiaskrgr authored Jun 21, 2024
    Configuration menu
    Copy the full SHA
    af6ecd6 View commit details
    Browse the repository at this point in the history
  2. Rollup merge of rust-lang#126125 - dev-ardi:conflict-markers, r=estebank

    Improve conflict marker recovery
    
    <!--
    If this PR is related to an unstable feature or an otherwise tracked effort,
    please link to the relevant tracking issue here. If you don't know of a related
    tracking issue or there are none, feel free to ignore this.
    
    This PR will get automatically assigned to a reviewer. In case you would like
    a specific user to review your work, you can assign it to them by using
    
        r​? <reviewer name>
    -->
    closes rust-lang#113826
    r? ``@estebank`` since you reviewed rust-lang#115413
    cc: ``@rben01`` since you opened up the issue in the first place
    matthiaskrgr authored Jun 21, 2024
    Configuration menu
    Copy the full SHA
    6c4f668 View commit details
    Browse the repository at this point in the history
  3. Rollup merge of rust-lang#126481 - ChrisDenton:powerpc-unkown-openbsd…

    …, r=ehuss
    
    Add `powerpc-unknown-openbsd` maintenance status
    
    As noted in rust-lang#126451 (comment) `powerpc-unknown-openbsd` is not maintained by the OpenBSD devs. If a maintainer is found this can be updated with their information but we should document the current status and note explicitly that it's different from other OpenBSD targets.
    matthiaskrgr authored Jun 21, 2024
    Configuration menu
    Copy the full SHA
    854fa51 View commit details
    Browse the repository at this point in the history
  4. Rollup merge of rust-lang#126613 - tgross35:log-test-update, r=cuviper

    Print the tested value in int_log tests
    
    Tiny change - from the failures in rust-lang#125016, it would have been nice to see what the tested values were. Update the assertion messages.
    matthiaskrgr authored Jun 21, 2024
    Configuration menu
    Copy the full SHA
    47a09e5 View commit details
    Browse the repository at this point in the history
  5. Rollup merge of rust-lang#126617 - sayantn:veorq, r=workingjubilee

    Expand `avx512_target_feature` to include VEX variants
    
    Added 5 new target features for x86:
    
     - `AVX-IFMA`
     - `AVX-NE-CONVERT`
     - `AVX-VNNI`
     - `AVX-VNNI_INT8`
     - `AVX-VNNI_INT16`
    
    Both LLVM and GCC already have support for these.
    
    See also the [stdarch PR](rust-lang/stdarch#1586)
    matthiaskrgr authored Jun 21, 2024
    Configuration menu
    Copy the full SHA
    a25b652 View commit details
    Browse the repository at this point in the history
  6. Rollup merge of rust-lang#126700 - compiler-errors:fragment, r=fmease

    Make edition dependent `:expr` macro fragment act like the edition-dependent `:pat` fragment does
    
    Parse the `:expr` fragment as `:expr_2021` in editions <=2021, and as `:expr` in edition 2024. This is similar to how we parse `:pat` as `:pat_param` in edition <=2018 and `:pat_with_or` in >=2021, and means we can get rid of a span dependency from `nonterminal_may_begin_with`.
    
    Specifically, this fixes a theoretical regression since the `expr_2021` macro fragment previously would allow `const {}` if the *caller* is edition 2024. This is inconsistent with the way that the `pat` macro fragment was upgraded, and also leads to surprising behavior when a macro *caller* crate upgrades to edtion 2024, since they may have parsing changes that they never asked for (with no way of opting out of it).
    
    This PR also allows using `expr_2021` in all editions. Why was this was disallowed in the first place? It's purely additive, and also it's still feature gated?
    
    r? ``@fmease`` ``@eholk`` cc ``@vincenzopalazzo``
    cc rust-lang#123865
    
    Tracking:
    
    - rust-lang#123742
    matthiaskrgr authored Jun 21, 2024
    Configuration menu
    Copy the full SHA
    b338a7d View commit details
    Browse the repository at this point in the history
  7. Rollup merge of rust-lang#126707 - ferrocene:hoverbear/fix-inaccessib…

    …le-temp-dir, r=jieyouxu
    
    Pass target to inaccessible-temp-dir rmake test
    
    This PR circles back to do the target specific changes in `inaccessible-temp-dir` from rust-lang#126355. Specifically, this repairs the test on `riscv64gc-unknown-linux-gnu`. (The failure can be viewed in rust-lang#126641 -> https://github.com/rust-lang/rust/actions/runs/9571149616/job/26387537888?pr=126641)
    
    We removed this change from rust-lang#126355 to avoid a merge conflict with rust-lang#126279. (...and, because I hoped that would fix the test instead, but it did not.)
    
    ## Testing
    
    > [!NOTE]
    > `riscv64gc-unknown-linux-gnu` is a [**Tier 2 with Host Tools** platform](https://doc.rust-lang.org/beta/rustc/platform-support.html), all tests may not necessarily pass! This PR is specifically about the `inaccessible-temp-dir` rmake test.
    
    You can test out the job locally:
    
    ```sh
    DEPLOY=1 ./src/ci/docker/run.sh riscv64gc-gnu
    ```
    
    `DEPLOY=1` helps reproduce the CI's environment and also avoids the chance of a `llvm-c/BitReader.h` error (detailed in rust-lang#85424 and rust-lang#56650).
    
    <details>
    
    <summary>tests/run-make/inaccessible-temp-dir failure</summary>
    
    ```bash
    ---- [run-make] tests/run-make/inaccessible-temp-dir stdout ----
    ---- [run-make] tests/run-make/inaccessible-temp-dir stdout ----
    
    error: rmake recipe failed to complete
    status: exit status: 1
    command: cd "/checkout/obj/build/x86_64-unknown-linux-gnu/test/run-make/inaccessible-temp-dir/inaccessible-temp-dir/rmake_out" && env -u RUSTFLAGS AR="riscv64-linux-gnu-ar" CC="riscv64-linux-gnu-gcc" CC_DEFAULT_FLAGS="-ffunction-sections -fdata-sections -fPIC -march=rv64gc -mabi=lp64d" CXX="riscv64-linux-gnu-g++" CXX_DEFAULT_FLAGS="-ffunction-sections -fdata-sections -fPIC -march=rv64gc -mabi=lp64d" HOST_RPATH_DIR="/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib" LD_LIBRARY_PATH="/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-bootstrap-tools/x86_64-unknown-linux-gnu/release/deps:/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/lib:/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools-bin:/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib" LD_LIB_PATH_ENVVAR="LD_LIBRARY_PATH" LLVM_BIN_DIR="/checkout/obj/build/x86_64-unknown-linux-gnu/llvm/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 codegentypes core coroutines coverage csky cskyasmparser cskycodegen cskydesc cskydisassembler cskyinfo debuginfobtf debuginfocodeview debuginfodwarf debuginfogsym debuginfologicalview debuginfomsf debuginfopdb demangle dlltooldriver dwarflinker dwarflinkerclassic dwarflinkerparallel dwp engine executionengine extensions filecheck frontenddriver frontendhlsl frontendoffloading frontendopenacc frontendopenmp fuzzercli fuzzmutate globalisel hexagon hexagonasmparser hexagoncodegen hexagondesc hexagondisassembler hexagoninfo hipstdpar 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 orcdebugging 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 textapibinaryreader transformutils vectorize webassembly webassemblyasmparser webassemblycodegen webassemblydesc webassemblydisassembler webassemblyinfo webassemblyutils windowsdriver windowsmanifest x86 x86asmparser x86codegen x86desc x86disassembler x86info x86targetmca xray" LLVM_FILECHECK="/checkout/obj/build/x86_64-unknown-linux-gnu/llvm/build/bin/FileCheck" PYTHON="/usr/bin/python3" REMOTE_TEST_CLIENT="/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-tools-bin/remote-test-client" RUSTC="/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" RUSTC_LINKER="riscv64-linux-gnu-gcc" RUSTDOC="/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustdoc" RUST_BUILD_STAGE="stage2-riscv64gc-unknown-linux-gnu" SOURCE_ROOT="/checkout" TARGET="riscv64gc-unknown-linux-gnu" TARGET_RPATH_DIR="/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/riscv64gc-unknown-linux-gnu/lib" TARGET_RPATH_ENV="/checkout/obj/build/x86_64-unknown-linux-gnu/test/run-make/inaccessible-temp-dir/inaccessible-temp-dir/rmake_out:/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-bootstrap-tools/x86_64-unknown-linux-gnu/release/deps:/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/lib" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/run-make/inaccessible-temp-dir/inaccessible-temp-dir/rmake"
    stdout: none
    --- stderr -------------------------------
    command unexpectedly succeeded at line 33
    Command { cmd: LD_LIBRARY_PATH="/checkout/obj/build/x86_64-unknown-linux-gnu/test/run-make/inaccessible-temp-dir/inaccessible-temp-dir/rmake_out:/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib:/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-bootstrap-tools/x86_64-unknown-linux-gnu/release/deps:/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/lib:/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools-bin:/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/run-make/inaccessible-temp-dir/inaccessible-temp-dir/rmake_out" "program.rs" "-Ztemps-dir=inaccessible/tmp", stdin: None, drop_bomb: DropBomb { command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc", defused: true, armed_line: 30 } }
    output status: `exit status: 0`
    === STDOUT ===
    
    === STDERR ===
    ```
    
    </details>
    matthiaskrgr authored Jun 21, 2024
    Configuration menu
    Copy the full SHA
    a9859a0 View commit details
    Browse the repository at this point in the history
  8. Rollup merge of rust-lang#126767 - compiler-errors:static-foreign-ite…

    …m, r=spastorino
    
    `StaticForeignItem` and `StaticItem` are the same
    
    The struct `StaticItem` and `StaticForeignItem` are the same, so remove `StaticForeignItem`. Having them be separate is unique to `static` items -- unlike `ForeignItemKind::{Fn,TyAlias}`, which use the normal AST item.
    
    r? `@spastorino` or `@oli-obk`
    matthiaskrgr authored Jun 21, 2024
    Configuration menu
    Copy the full SHA
    832109b View commit details
    Browse the repository at this point in the history