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 6 pull requests #108159

Merged
merged 12 commits into from
Feb 17, 2023
Merged

Rollup of 6 pull requests #108159

merged 12 commits into from
Feb 17, 2023

Commits on Feb 16, 2023

  1. Configuration menu
    Copy the full SHA
    f997231 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    09359d2 View commit details
    Browse the repository at this point in the history
  3. Default repr(C) enums to c_int size

    This is what ISO C strongly implies this is correct, and
    many processor-specific ABIs imply or mandate this size, so
    "everyone" (LLVM, gcc...) defaults to emitting enums this way.
    However, this is by no means guaranteed by ISO C,
    and the bare-metal Arm targets show it can be overridden,
    which rustc supports via `c-enum-min-bits` in a target.json.
    
    The override is a flag named `-fshort-enums` in clang and gcc,
    but introducing a CLI flag is probably unnecessary for rustc.
    This flag can be used by non-Arm microcontroller targets,
    like AVR and MSP430, but it is not enabled for them by default.
    Rust programmers who know the size of a target's enums
    can use explicit reprs, which also lets them match C23 code.
    
    This change is most relevant to 16-bit targets: AVR and MSP430.
    Most of rustc's targets use 32-bit ints, but ILP64 does exist.
    Regardless, rustc should now correctly handle enums for
    both very small and very large targets.
    
    Thanks to William for confirming MSP430 behavior,
    and to Waffle for better style and no-core size_of asserts.
    
    Co-authored-by: William D. Jones <[email protected]>
    Co-authored-by: Waffle Maybe <[email protected]>
    3 people committed Feb 16, 2023
    Configuration menu
    Copy the full SHA
    2edf6c8 View commit details
    Browse the repository at this point in the history

Commits on Feb 17, 2023

  1. Configuration menu
    Copy the full SHA
    6990ab9 View commit details
    Browse the repository at this point in the history
  2. typo

    tshepang committed Feb 17, 2023
    Configuration menu
    Copy the full SHA
    ad8947c View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    c946494 View commit details
    Browse the repository at this point in the history
  4. Rollup merge of rust-lang#107592 - workingjubilee:use-16-bit-enum-on-…

    …16-bit-targets, r=WaffleLapkin
    
    Default `repr(C)` enums to `c_int` size
    
    This is what ISO C strongly implies this is correct, and
    many processor-specific ABIs imply or mandate this size, so
    "everyone" (LLVM, gcc...) defaults to emitting enums this way.
    However, this is by no means guaranteed by ISO C,
    and the bare-metal Arm targets show it can be overridden,
    which rustc supports via `c-enum-min-bits` in a target.json.
    
    The override is a flag named `-fshort-enums` in clang and gcc,
    but introducing a CLI flag is probably unnecessary for rustc.
    This flag can be used by non-Arm microcontroller targets,
    like AVR and MSP430, but it is not enabled for them by default.
    Rust programmers who know the size of a target's enums
    can use explicit reprs, which also lets them match C23 code.
    
    This change is most relevant to 16-bit targets: AVR and MSP430.
    Most of rustc's targets use 32-bit ints, but ILP64 does exist.
    Regardless, rustc should now correctly handle enums for
    both very small and very large targets.
    
    Thanks to William for confirming MSP430 behavior,
    and to Waffle for better style and no-core `size_of` asserts.
    
    Fixes rust-lang#107361
    Fixes rust-lang#77806
    matthiaskrgr authored Feb 17, 2023
    Configuration menu
    Copy the full SHA
    e0aa561 View commit details
    Browse the repository at this point in the history
  5. Rollup merge of rust-lang#107956 - KittyBorgX:master, r=ozkanonur

    Copy `bin/*` and `lib/*.dylib` files to `stage0-sysroot`
    
    Fixes rust-lang#101691
    matthiaskrgr authored Feb 17, 2023
    Configuration menu
    Copy the full SHA
    9956766 View commit details
    Browse the repository at this point in the history
  6. Rollup merge of rust-lang#108126 - tshepang:nits, r=lcnr

    fix a line, and do a consistency fix
    matthiaskrgr authored Feb 17, 2023
    Configuration menu
    Copy the full SHA
    e53bd4c View commit details
    Browse the repository at this point in the history
  7. Rollup merge of rust-lang#108144 - compiler-errors:triagebot-more, r=…

    …Mark-Simulacrum
    
    Add compiler-errors to a few more triagebot groups
    
    Self-explanatory
    matthiaskrgr authored Feb 17, 2023
    Configuration menu
    Copy the full SHA
    a8685eb View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    392b150 View commit details
    Browse the repository at this point in the history
  9. Rollup merge of rust-lang#108154 - scottmcm:start-block-cleanup, r=co…

    …mpiler-errors
    
    `BasicBlock::new(0)` -> `START_BLOCK` [no functional changes]
    matthiaskrgr authored Feb 17, 2023
    Configuration menu
    Copy the full SHA
    ae5473c View commit details
    Browse the repository at this point in the history