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 9 pull requests #74242

Closed
wants to merge 22 commits into from

Commits on Jun 25, 2020

  1. Modify type names on MSVC to make tuples .natvis compatible.

    - Mangles (T0, T1) as tuple<T0, T1>, possibly unblocking rust-lang#70052 "Update hashbrown to 0.8.0"
    - Prettifies Rust tuples similar to VS2017's std::tuple
    - Improves debuginfo test coverage
    MaulingMonkey committed Jun 25, 2020
    Configuration menu
    Copy the full SHA
    f8eb81b View commit details
    Browse the repository at this point in the history
  2. debuginfo: Define int/float types in terms of MSVC-recognized types.

    PDB debug information doesn't appear to be emitted for basic types.
    By defining u32 as a typedef for unsigned __int32 when targeting MSVC,
    we allow CDB and other debuggers to recognize "u32" as a type/expression.
    
    This in turn unblocks rust-lang#70052 "Update hashbrown to 0.8.0" by
    allowing $T1 ..= $T3 to resolve, which would otherwise fail to resolve
    when builtin types fail to parse.
    MaulingMonkey committed Jun 25, 2020
    Configuration menu
    Copy the full SHA
    24a728a View commit details
    Browse the repository at this point in the history

Commits on Jul 8, 2020

  1. Fix cross-compilation of LLVM to aarch64 Windows targets

    When cross-compiling, the LLVM build system recurses to build tools
    that need to run on the host system. However, since we pass cmake defines
    to set the compiler and target, LLVM still compiles these tools for the
    target system, rather than the host. The tools then fail to execute
    during the LLVM build.
    
    This change sets defines for the tools that need to run on the
    host (llvm-nm, llvm-tablegen, and llvm-config), so that the LLVM build
    does not attempt to build them, and instead relies on the tools already built.
    
    If compiling with clang-cl, this change also adds the `--target` option
    to specify the target triple. MSVC compilers do not require this, since there
    is a separate compiler binary for cross-compilation.
    arlosi committed Jul 8, 2020
    Configuration menu
    Copy the full SHA
    59f979f View commit details
    Browse the repository at this point in the history
  2. linker: illumos ld does not support --eh-frame-hdr

    As of rust-lang#73564, the --eh-frame-hdr flag is unconditionally
    passed to linkers on many platforms.  The illumos link editor does not
    currently support this flag.
    
    The linker machinery in the Rust toolchain currently seems to use the
    (potentially cross-compiled) target to choose linker flags, rather than
    looking at what might be running on the build system.  Disabling the
    flag for all illumos/Solaris targets seems like the best we can do for
    now without more serious surgery.
    jclulow committed Jul 8, 2020
    Configuration menu
    Copy the full SHA
    7fb421b View commit details
    Browse the repository at this point in the history

Commits on Jul 9, 2020

  1. Configuration menu
    Copy the full SHA
    520fb92 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    6864546 View commit details
    Browse the repository at this point in the history
  3. Tweak wording

    JohnTitor committed Jul 9, 2020
    Configuration menu
    Copy the full SHA
    a9b6476 View commit details
    Browse the repository at this point in the history
  4. Enforce the static symbol order.

    By making the proc macro abort if any symbols are out of order.
    
    The commit also changes the proc macro collect multiple errors (of order
    or duplicated symbols) and prints them at the end, which is useful if
    you have multiple errors.
    nnethercote committed Jul 9, 2020
    Configuration menu
    Copy the full SHA
    de3f2d1 View commit details
    Browse the repository at this point in the history

Commits on Jul 10, 2020

  1. Rename sym::item_context as sym::ItemContext.

    Because it represents the symbol `ItemContext`, and `sym` identifiers
    are supposed to match the actual symbol whenever possible.
    nnethercote committed Jul 10, 2020
    Configuration menu
    Copy the full SHA
    714b6ec View commit details
    Browse the repository at this point in the history
  2. Minor refactor for rustc_resolve diagnostics match

    Use `matches!` instead of old `if let`
    pickfire authored Jul 10, 2020
    Configuration menu
    Copy the full SHA
    1fb0ed0 View commit details
    Browse the repository at this point in the history

Commits on Jul 11, 2020

  1. Configuration menu
    Copy the full SHA
    dd872be View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    b929f72 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    f5de23b View commit details
    Browse the repository at this point in the history
  4. Rollup merge of rust-lang#72920 - oli-obk:const_transmute, r=RalfJung

    Stabilize `transmute` in constants and statics but not const fn
    
    cc rust-lang#53605 (leaving issue open so we can add `transmute` to `const fn` later)
    
    Previous attempt: rust-lang#64011
    
    r? @RalfJung
    
    cc @rust-lang/wg-const-eval
    Manishearth authored Jul 11, 2020
    Configuration menu
    Copy the full SHA
    62c3d99 View commit details
    Browse the repository at this point in the history
  5. Rollup merge of rust-lang#73715 - MaulingMonkey:pr-natvis-tuples, r=A…

    …manieu
    
    debuginfo:  Mangle tuples to be natvis friendly, typedef basic types
    
    These changes are meant to unblock rust-lang#70052 "Update hashbrown to 0.8.0" by allowing the use of `tuple<u64, u64>` as a .natvis expression in MSVC style debuggers (MSVC, WinDbg, CDB, etc.)
    
    * f8eb81b does the actual mangling of `(u64, u64)` -> `tuple<u64, 64>`
    * 24a728a allows `u64` to resolve (fixing `$T1` / `$T2` when used to visualize `HashMap<u64, u64, ...>`)
    Manishearth authored Jul 11, 2020
    Configuration menu
    Copy the full SHA
    670a8fb View commit details
    Browse the repository at this point in the history
  6. Rollup merge of rust-lang#74116 - arlosi:aarch64build, r=pietroalbini

    Fix cross compilation of LLVM to aarch64 Windows targets
    
    When cross-compiling, the LLVM build system recurses to build tools that need to run on the host system. However, since we pass cmake defines to set the compiler and target, LLVM still compiles these tools for the target system, rather than the host. The tools then fail to execute during the LLVM build.
    
    This change sets defines for the tools that need to run on the host (llvm-nm, llvm-tablegen, and llvm-config), so that the LLVM build does not attempt to build them, and instead relies on the tools already built.
    
    If compiling with clang-cl, adds the `--target` option to specify the target triple. MSVC compilers do not require this, since there is a separate compiler binary for each cross-compilation target.
    
    Related issue: rust-lang#72881
    Requires LLVM change: rust-lang/llvm-project#67
    Manishearth authored Jul 11, 2020
    Configuration menu
    Copy the full SHA
    95314f2 View commit details
    Browse the repository at this point in the history
  7. Rollup merge of rust-lang#74167 - jclulow:illumos-linker-eh-frame-hdr…

    …-fix, r=petrochenkov
    
    linker: illumos ld does not support --eh-frame-hdr
    
    As of rust-lang#73564, the --eh-frame-hdr flag is unconditionally
    passed to linkers on many platforms.  The illumos link editor does not
    currently support this flag.
    
    The linker machinery in the Rust toolchain currently seems to use the
    (potentially cross-compiled) target to choose linker flags, rather than
    looking at what might be running on the build system.  Disabling the
    flag for all illumos/Solaris targets seems like the best we can do for
    now without more serious surgery.
    Manishearth authored Jul 11, 2020
    Configuration menu
    Copy the full SHA
    f9389bc View commit details
    Browse the repository at this point in the history
  8. Rollup merge of rust-lang#74168 - JohnTitor:help-for-in-band-lifetime…

    …s, r=petrochenkov
    
    Add a help to use `in_band_lifetimes` in nightly
    
    Fixes rust-lang#73775
    Manishearth authored Jul 11, 2020
    Configuration menu
    Copy the full SHA
    212ce2f View commit details
    Browse the repository at this point in the history
  9. Rollup merge of rust-lang#74197 - estebank:self-sugg, r=petrochenkov

    Reword incorrect `self` token suggestion
    Manishearth authored Jul 11, 2020
    Configuration menu
    Copy the full SHA
    5ef9245 View commit details
    Browse the repository at this point in the history
  10. Rollup merge of rust-lang#74203 - nnethercote:enforce-static-symbol-o…

    …rder, r=petrochenkov
    
    Enforce the static symbol order.
    
    By making the proc macro abort if any symbols are out of order.
    
    The commit also changes the proc macro collect multiple errors (of order
    or duplicated symbols) and prints them at the end, which is useful if
    you have multiple errors.
    
    r? @petrochenkov
    Manishearth authored Jul 11, 2020
    Configuration menu
    Copy the full SHA
    f5ee28f View commit details
    Browse the repository at this point in the history
  11. Rollup merge of rust-lang#74213 - pickfire:patch-1, r=jonas-schievink

    Minor refactor for rustc_resolve diagnostics match
    
    Use `matches!` instead of old `if let`
    Manishearth authored Jul 11, 2020
    Configuration menu
    Copy the full SHA
    d1f886d View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    cc1ecf3 View commit details
    Browse the repository at this point in the history