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 #127982

Merged
merged 22 commits into from
Jul 19, 2024
Merged

Rollup of 6 pull requests #127982

merged 22 commits into from
Jul 19, 2024

Commits on Jul 16, 2024

  1. add rust error message for CMSE stack spill

    when the `C-cmse-nonsecure-call` ABI is used, arguments and return values must be passed via registers. Failing to do so (i.e. spilling to the stack) causes an LLVM error down the line, but now rustc will properly emit an error a bit earlier in the chain
    folkertdev committed Jul 16, 2024
    Configuration menu
    Copy the full SHA
    50ba821 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    1e86064 View commit details
    Browse the repository at this point in the history
  3. make function pub in error_codes markdown file

    the error is only generated for functions that are actually codegen'd
    folkertdev committed Jul 16, 2024
    Configuration menu
    Copy the full SHA
    36d2371 View commit details
    Browse the repository at this point in the history
  4. move cmse ABI validation into its own module

    Co-authored-by: Tamme Dittrich <tamme@tweedegolf.com>
    folkertdev and tdittr committed Jul 16, 2024
    Configuration menu
    Copy the full SHA
    c7ff46c View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    1a79606 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    09b620d View commit details
    Browse the repository at this point in the history

Commits on Jul 17, 2024

  1. Configuration menu
    Copy the full SHA
    5f0f690 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    8a3dd7f View commit details
    Browse the repository at this point in the history
  3. CFI: Support provided methods on traits

    Provided methods currently don't get type erasure performed on them
    because they are not in an `impl` block. If we are instantiating a
    method that is an associated item, but *not* in an impl block, treat it
    as a provided method instead.
    maurer committed Jul 17, 2024
    Configuration menu
    Copy the full SHA
    2abdc4e View commit details
    Browse the repository at this point in the history

Commits on Jul 18, 2024

  1. Configuration menu
    Copy the full SHA
    7b63734 View commit details
    Browse the repository at this point in the history
  2. remove cmse validation from rustc_codegen_ssa

    it was moved to hir_analysis in the previous commit
    folkertdev committed Jul 18, 2024
    Configuration menu
    Copy the full SHA
    6b6b842 View commit details
    Browse the repository at this point in the history
  3. improve error reporting

    folkertdev committed Jul 18, 2024
    Configuration menu
    Copy the full SHA
    c2894a4 View commit details
    Browse the repository at this point in the history

Commits on Jul 19, 2024

  1. Configuration menu
    Copy the full SHA
    af7ecb6 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    a0db06b View commit details
    Browse the repository at this point in the history
  3. Avoid ref when using format! for perf

    Clean up a few minor refs in `format!` macro, as it has a tiny perf
    cost. A few more minor related cleanups.
    nyurik committed Jul 19, 2024
    Configuration menu
    Copy the full SHA
    91275b2 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    756459e View commit details
    Browse the repository at this point in the history
  5. Rollup merge of rust-lang#127295 - maurer:default-impl-cfi, r=estebank

    CFI: Support provided methods on traits
    
    Provided methods currently don't get type erasure performed on them because they are not in an `impl` block. If we are instantiating a method that is an associated item, but *not* in an impl block, treat it as a provided method instead.
    matthiaskrgr committed Jul 19, 2024
    Configuration menu
    Copy the full SHA
    6ae6f8b View commit details
    Browse the repository at this point in the history
  6. Rollup merge of rust-lang#127814 - folkertdev:c-cmse-nonsecure-call-e…

    …rror-messages, r=oli-obk
    
    `C-cmse-nonsecure-call`: improved error messages
    
    tracking issue: rust-lang#81391
    issue for the error messages (partially implemented by this PR): rust-lang#81347
    related, in that it also deals with CMSE: rust-lang#127766
    
    When using the `C-cmse-nonsecure-call` ABI, both the arguments and return value must be passed via registers. Previously, when violating this constraint, an ugly LLVM error would be shown. Now, the rust compiler itself will print a pretty message and link to more information.
    matthiaskrgr committed Jul 19, 2024
    Configuration menu
    Copy the full SHA
    3b20150 View commit details
    Browse the repository at this point in the history
  7. Rollup merge of rust-lang#127949 - princess-entrapta:master, r=tgross35

    fix: explain E0120 better cover cases when its raised
    
    Fixes rust-lang#98996
    
    Wording change on the explain of E0120 as requested
    matthiaskrgr committed Jul 19, 2024
    Configuration menu
    Copy the full SHA
    41d3cb6 View commit details
    Browse the repository at this point in the history
  8. Rollup merge of rust-lang#127966 - oli-obk:structured_diag, r=compile…

    …r-errors
    
    Use structured suggestions for unconstrained generic parameters on impl blocks
    
    I did not deduplicate with `UnusedGenericParameter`, because in contrast to type declarations, just using a generic parameter in an impl isn't enough, it must be used with the right variance and not just as part of a projection.
    matthiaskrgr committed Jul 19, 2024
    Configuration menu
    Copy the full SHA
    a2c99cf View commit details
    Browse the repository at this point in the history
  9. Rollup merge of rust-lang#127976 - fmease:lta-cyclic-bivariant-param-…

    …better-err, r=compiler-errors
    
    Lazy type aliases: Diagostics: Detect bivariant ty params that are only used recursively
    
    Follow-up to errs's rust-lang#127871. Extends the logic to cover LTAs, too, not just ADTs.
    This change only takes effect with the next-gen solver enabled as cycle errors like
    the one we have here are fatal in the old solver. That's my explanation anyways.
    
    r? compiler-errors
    matthiaskrgr committed Jul 19, 2024
    Configuration menu
    Copy the full SHA
    115b086 View commit details
    Browse the repository at this point in the history
  10. Rollup merge of rust-lang#127978 - nyurik:lib-refs, r=workingjubilee

    Avoid ref when using format! for perf
    
    Clean up a few minor refs in `format!` macro, as it has a performance cost. Apparently the compiler is unable to inline `format!("{}", &variable)`, and does a run-time double-reference instead (format macro already does one level referencing).  Inlining format args prevents accidental `&` misuse.
    matthiaskrgr committed Jul 19, 2024
    Configuration menu
    Copy the full SHA
    e28be0d View commit details
    Browse the repository at this point in the history