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 11 pull requests #119747

Closed
wants to merge 24 commits into from

Commits on Jan 5, 2024

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

Commits on Jan 6, 2024

  1. Configuration menu
    Copy the full SHA
    4292190 View commit details
    Browse the repository at this point in the history
  2. tests: Normalize \r\n to \n in some run-make tests

    The output is produced by printf from C code in these cases, and printf prints in text mode, which means `\n` will be printed as `\r\n` on Windows.
    In --bless mode the new output with `\r\n` will replace expected output in `tests/run-make/raw-dylib-*\output.txt` files, which use \n, always resulting in dirty files in the repo.
    petrochenkov committed Jan 6, 2024
    Configuration menu
    Copy the full SHA
    c51828a View commit details
    Browse the repository at this point in the history

Commits on Jan 7, 2024

  1. coverage: Anonymize line numbers in branch views

    The code for anonymizing line numbers in coverage reports now supports the
    slightly different line number syntax used by branch regions.
    Zalathar committed Jan 7, 2024
    Configuration menu
    Copy the full SHA
    957a46f View commit details
    Browse the repository at this point in the history

Commits on Jan 8, 2024

  1. Remove crossbeam-channel

    The standard library's std::sync::mpsc basically is a crossbeam channel,
    and for the use case here will definitely suffice. This drops this
    dependency from librustc_driver.
    Mark-Simulacrum committed Jan 8, 2024
    Configuration menu
    Copy the full SHA
    be0293f View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    e651f6f View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    75df38e View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    585a285 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    88f5759 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    f2dbeba View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    6971e93 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    43ce533 View commit details
    Browse the repository at this point in the history
  9. Stop mentioning internal lang items in no_std binary errors

    When writing a no_std binary, you'll be greeted with nonsensical errors
    mentioning lang items like eh_personality and start. That's pretty bad
    because it makes you think that you need to define them somewhere! But
    oh no, now you're getting the `internal_features` lint telling you that
    you shouldn't use them! But you need a no_std binary! What now?
    
    No problem! Writing a no_std binary is super easy. Just use panic=abort
    and supply your own platform specific entrypoint symbol (like `main`)
    and you're good to go. Would be nice if the compiler told you that,
    right?
    
    This makes it so that it does do that.
    Nilstrieb committed Jan 8, 2024
    Configuration menu
    Copy the full SHA
    4533a77 View commit details
    Browse the repository at this point in the history
  10. Rollup merge of rust-lang#116343 - Nilstrieb:maybe-dont-mention-all-t…

    …he-weird-lang-items-just-saying, r=bjorn3
    
    Stop mentioning internal lang items in no_std binary errors
    
    When writing a no_std binary, you'll be greeted with nonsensical errors mentioning lang items like eh_personality and start. That's pretty bad because it makes you think that you need to define them somewhere! But oh no, now you're getting the `internal_features` lint telling you that you shouldn't use them! But you need a no_std binary! What now?
    
    No problem! Writing a no_std binary is super easy. Just use panic=abort and supply your own platform specific entrypoint symbol (like `main`) and you're good to go. Would be nice if the compiler told you that, right?
    
    This makes it so that it does do that.
    
    I don't _love_ the new messages yet, but they're decent I think. They can probably be improved, please suggest improvements.
    matthiaskrgr committed Jan 8, 2024
    Configuration menu
    Copy the full SHA
    7bfe917 View commit details
    Browse the repository at this point in the history
  11. Rollup merge of rust-lang#118903 - azhogin:azhogin/skip_second_stmt_d…

    …ebuginfo.rs, r=petrochenkov
    
    Improved support of collapse_debuginfo attribute for macros.
    
    Added walk_chain_collapsed function to consider collapse_debuginfo attribute in parent macros in call chain.
    Fixed collapse_debuginfo attribute processing for cranelift (there was if/else branches error swap).
    
    cc rust-lang#100758
    matthiaskrgr committed Jan 8, 2024
    Configuration menu
    Copy the full SHA
    d8b03c0 View commit details
    Browse the repository at this point in the history
  12. Rollup merge of rust-lang#119033 - Zalathar:unicode, r=davidtwco

    coverage: `llvm-cov` expects column numbers to be bytes, not code points
    
    Normally the compiler emits column numbers as a 1-based number of Unicode code points.
    
    But when we embed coverage mappings for `-Cinstrument-coverage`, those mappings will ultimately be read by the `llvm-cov` tool. That tool assumes that column numbers are 1-based numbers of *bytes*, and relies on that assumption when slicing up source code to apply highlighting (in HTML reports, and in text-based reports with colour).
    
    For the very common case of all-ASCII source code, bytes and code points are the same, so the difference isn't noticeable. But for code that contains non-ASCII characters, emitting column numbers as code points will result in `llvm-cov` slicing strings in the wrong places, producing mangled output or fatal errors.
    
    (See taiki-e/cargo-llvm-cov#275 as an example of what can go wrong.)
    matthiaskrgr committed Jan 8, 2024
    Configuration menu
    Copy the full SHA
    32089a9 View commit details
    Browse the repository at this point in the history
  13. Rollup merge of rust-lang#119598 - Laura7089:fix/deref-typo, r=Nilstrieb

    Fix a typo in core::ops::Deref's doc
    matthiaskrgr committed Jan 8, 2024
    Configuration menu
    Copy the full SHA
    1f4ffe4 View commit details
    Browse the repository at this point in the history
  14. Rollup merge of rust-lang#119660 - RalfJung:const-ub-enum, r=oli-obk

    remove an unnecessary stderr-per-bitwidth
    
    also update some regexp, `a(lloc)?` would no longer match now that we have compiletest itself do alloc ID normalization.
    
    r? ```@oli-obk```
    matthiaskrgr committed Jan 8, 2024
    Configuration menu
    Copy the full SHA
    d49531a View commit details
    Browse the repository at this point in the history
  15. Rollup merge of rust-lang#119663 - petrochenkov:rmakefix, r=Mark-Simu…

    …lacrum
    
    tests: Normalize `\r\n` to `\n` in some run-make tests
    
    The output is produced by printf from C code in these cases, and printf prints in text mode, which means `\n` will be printed as `\r\n` on Windows.
    
    In --bless mode the new output with `\r\n` will replace expected output in `tests/run-make/raw-dylib-*\output.txt` files, which use \n, always resulting in dirty files in the repo.
    matthiaskrgr committed Jan 8, 2024
    Configuration menu
    Copy the full SHA
    92b5296 View commit details
    Browse the repository at this point in the history
  16. Rollup merge of rust-lang#119681 - Zalathar:anon-branch, r=clubby789

    coverage: Anonymize line numbers in branch views
    
    Extracted from rust-lang#118305, as this is now the only part of that PR that needs to touch compiletest.
    
    ---
    
    Coverage tests run the `llvm-cov` tool to generate a coverage report for a test program, and then compare the report against a known-good snapshot.
    
    We use the `anonymize_coverage_line_numbers` function to replace line numbers in coverage reports with `LL`, so that they are less sensitive to lines being added or removed. This PR augments the existing code by making it also support the slightly different line number syntax used when reporting branch regions.
    
    Currently the compiler never emits branch regions, so there is no way to write a coverage test that makes use of this new capability. Instead, I've added a unit test that checks against some sample reports taken from rust-lang#118305. That unit test can be removed when some form of branch coverage support gets merged, and real branch coverage tests are added to the coverage test suite.
    
    (I have also manually tested this change as part of my draft branch-coverage PR.)
    matthiaskrgr committed Jan 8, 2024
    Configuration menu
    Copy the full SHA
    b1900fc View commit details
    Browse the repository at this point in the history
  17. Rollup merge of rust-lang#119704 - chenyukang:yukang-fix-let_undersco…

    …re, r=Nilstrieb
    
    Fix two variable binding issues in lint let_underscore
    
    Fixes rust-lang#119696
    Fixes rust-lang#119697
    matthiaskrgr committed Jan 8, 2024
    Configuration menu
    Copy the full SHA
    ef89314 View commit details
    Browse the repository at this point in the history
  18. Rollup merge of rust-lang#119725 - compiler-errors:has_effect_param, …

    …r=fmease
    
    Add helper for when we want to know if an item has a host param
    
    r? ```@fmease``` since you're a good reviewer and no good deed goes unpunished
    
    This helper will see far more usages as built-in traits get constified.
    matthiaskrgr committed Jan 8, 2024
    Configuration menu
    Copy the full SHA
    6e4437c View commit details
    Browse the repository at this point in the history
  19. Rollup merge of rust-lang#119738 - esp-rs:esp32p4-espidf, r=Nilstrieb

    Add `riscv32imafc-esp-espidf` tier 3 target for the ESP32-P4.
    
    The tier 3 target answers in the original PR are still relevant, so please review them here: rust-lang#87666 (comment)
    
    cc: `@ivmarkov`
    matthiaskrgr committed Jan 8, 2024
    Configuration menu
    Copy the full SHA
    b00a6b5 View commit details
    Browse the repository at this point in the history
  20. Rollup merge of rust-lang#119740 - Mark-Simulacrum:drop-crossbeam, r=…

    …davidtwco
    
    Remove crossbeam-channel
    
    The standard library's std::sync::mpsc basically is a crossbeam channel, and for the use case here will definitely suffice. This drops this dependency from librustc_driver.
    matthiaskrgr committed Jan 8, 2024
    Configuration menu
    Copy the full SHA
    d608792 View commit details
    Browse the repository at this point in the history