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 7 pull requests #108935

Closed
wants to merge 29 commits into from

Commits on Jan 27, 2023

  1. Relax ordering rules for asm! operands

    The `asm!` and `global_asm!` macros require their operands to appear
    strictly in the following order:
    - Template strings
    - Positional operands
    - Named operands
    - Explicit register operands
    - `clobber_abi`
    - `options`
    
    This is overly strict and can be inconvienent when building complex
    `asm!` statements with macros. This PR relaxes the ordering requirements
    as follows:
    - Template strings must still come before all other operands.
    - Positional operands must still come before named and explicit register
    operands.
    - Named and explicit register operands can be freely mixed.
    - `options` and `clobber_abi` can appear in any position.
    Amanieu committed Jan 27, 2023
    Configuration menu
    Copy the full SHA
    52f7a21 View commit details
    Browse the repository at this point in the history

Commits on Feb 22, 2023

  1. Configuration menu
    Copy the full SHA
    be3452a View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    34c8708 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    98d2669 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    c044df2 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    524d140 View commit details
    Browse the repository at this point in the history
  6. Address comments

    Zoxc committed Feb 22, 2023
    Configuration menu
    Copy the full SHA
    cf3683f View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    e61ac42 View commit details
    Browse the repository at this point in the history
  8. Add cranelift support

    Zoxc committed Feb 22, 2023
    Configuration menu
    Copy the full SHA
    6c9d750 View commit details
    Browse the repository at this point in the history

Commits on Mar 1, 2023

  1. Configuration menu
    Copy the full SHA
    0f371ca View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    7e2f6c1 View commit details
    Browse the repository at this point in the history
  3. Add unstable feature flags

    bjorn3 committed Mar 1, 2023
    Configuration menu
    Copy the full SHA
    832fede View commit details
    Browse the repository at this point in the history

Commits on Mar 2, 2023

  1. Configuration menu
    Copy the full SHA
    832b33e View commit details
    Browse the repository at this point in the history
  2. Fix UI test

    bwmf2 committed Mar 2, 2023
    Configuration menu
    Copy the full SHA
    cdeb0e3 View commit details
    Browse the repository at this point in the history
  3. Add UI test

    bwmf2 committed Mar 2, 2023
    Configuration menu
    Copy the full SHA
    219195f View commit details
    Browse the repository at this point in the history

Commits on Mar 4, 2023

  1. Configuration menu
    Copy the full SHA
    1ccb1de View commit details
    Browse the repository at this point in the history
  2. Fix test for MSVC

    bjorn3 committed Mar 4, 2023
    Configuration menu
    Copy the full SHA
    f1cf67b View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    de2e16c View commit details
    Browse the repository at this point in the history

Commits on Mar 6, 2023

  1. Configuration menu
    Copy the full SHA
    ef807cb View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    a2040de View commit details
    Browse the repository at this point in the history

Commits on Mar 8, 2023

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

Commits on Mar 9, 2023

  1. Rollup merge of rust-lang#105798 - Amanieu:relax-asm, r=joshtriplett

    Relax ordering rules for `asm!` operands
    
    The `asm!` and `global_asm!` macros require their operands to appear strictly in the following order:
    - Template strings
    - Positional operands
    - Named operands
    - Explicit register operands
    - `clobber_abi`
    - `options`
    
    This is overly strict and can be inconvienent when building complex `asm!` statements with macros. This PR relaxes the ordering requirements as follows:
    - Template strings must still come before all other operands.
    - Positional operands must still come before named and explicit register operands.
    - Named and explicit register operands can be freely mixed.
    - `options` and `clobber_abi` can appear in any position after the template strings.
    
    r? ```@joshtriplett```
    matthiaskrgr committed Mar 9, 2023
    Configuration menu
    Copy the full SHA
    bc50aff View commit details
    Browse the repository at this point in the history
  2. Rollup merge of rust-lang#106085 - fee1-dead-contrib:tidy-ci-matchers…

    …, r=pietroalbini
    
    use problem matchers for tidy CI
    matthiaskrgr committed Mar 9, 2023
    Configuration menu
    Copy the full SHA
    b224fe5 View commit details
    Browse the repository at this point in the history
  3. Rollup merge of rust-lang#106560 - bjorn3:support_staticlib_dylib_lin…

    …king, r=pnkfelix
    
    Support linking to rust dylib with --crate-type staticlib
    
    This allows for example dynamically linking libstd, while statically linking the user crate into an executable or C dynamic library. For this two unstable flags (`-Z staticlib-allow-rdylib-deps` and `-Z staticlib-prefer-dynamic`) are introduced. Without the former you get an error. The latter is the equivalent to `-C prefer-dynamic` for the staticlib crate type to indicate that dynamically linking is preferred when both options are available, like for libstd. Care must be taken to ensure that no crate ends up being merged into two distinct staticlibs that are linked together. Doing so will cause a linker error at best and undefined behavior at worst. In addition two distinct staticlibs compiled by different rustc may not be combined under any circumstances due to some rustc private symbols not being mangled.
    
    To successfully link a staticlib, `--print native-static-libs` can be used while compiling to ask rustc for the linker flags necessary when linking the staticlib. This is an existing flag which previously only listed native libraries. It has been extended to list rust dylibs too. Trying to locate libstd yourself to link against it is not supported and may break if for example the libstd of multiple rustc versions are put in the same directory.
    
    For an example on how to use this see the `src/test/run-make-fulldeps/staticlib-dylib-linkage/` test.
    matthiaskrgr committed Mar 9, 2023
    Configuration menu
    Copy the full SHA
    3bb8516 View commit details
    Browse the repository at this point in the history
  4. Rollup merge of rust-lang#108089 - Zoxc:windows-tls, r=wesleywiser

    Support TLS access into dylibs on Windows
    
    This allows access to `#[thread_local]`  in upstream dylibs on Windows by introducing a MIR shim to return the address of the thread local. Accesses that go into an upstream dylib will call the MIR shim to get the address of it.
    
    `convert_tls_rvalues` is introduced in `rustc_codegen_ssa` which rewrites MIR TLS accesses to dummy calls which are replaced with calls to the MIR shims when the dummy calls are lowered to backend calls.
    
    A new `dll_tls_export` target option enables this behavior with a `false` value which is set for Windows platforms.
    
    This fixes rust-lang#84933.
    matthiaskrgr committed Mar 9, 2023
    Configuration menu
    Copy the full SHA
    4bb0b2b View commit details
    Browse the repository at this point in the history
  5. Rollup merge of rust-lang#108542 - bwmf2:expanded, r=wesleywiser

    Force parentheses around `match` expression in binary expression
    
    This attempts to solve rust-lang#98790.
    matthiaskrgr committed Mar 9, 2023
    Configuration menu
    Copy the full SHA
    d02ed0a View commit details
    Browse the repository at this point in the history
  6. Rollup merge of rust-lang#108690 - Zoxc:query-size-limits, r=cjgillot

    Place size limits on query keys and values
    
    This just prevents these from growing accidentally too large. I'm not sure if there's an easy way to also print the actual size too.
    matthiaskrgr committed Mar 9, 2023
    Configuration menu
    Copy the full SHA
    80e1112 View commit details
    Browse the repository at this point in the history
  7. Rollup merge of rust-lang#108739 - 823984418:patch-1, r=cjgillot

    Prevent the `start_bx` basic block in codegen from having two `Builder`s at the same time
    
    Here, at the same time, there are two `start_llbb` builder, this should be unexpected.
    matthiaskrgr committed Mar 9, 2023
    Configuration menu
    Copy the full SHA
    ebfe8ac View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    4561b3b View commit details
    Browse the repository at this point in the history