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

Closed
wants to merge 34 commits into from

Commits on Jun 30, 2020

  1. va_args implementation for AAPCS.

    Implement the va args in codegen for AAPCS, this will be used as the
    default va_args implementation for AArch64 rather than the va_args
    llvm-ir as it currently is.
    
    Copyright (c) 2020, Arm Limited.
    JamieCunliffe committed Jun 30, 2020
    Configuration menu
    Copy the full SHA
    fc52b47 View commit details
    Browse the repository at this point in the history

Commits on Jul 14, 2020

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

Commits on Jul 17, 2020

  1. Configuration menu
    Copy the full SHA
    5300ca3 View commit details
    Browse the repository at this point in the history
  2. refactor ty_is_non_local

    lcnr committed Jul 17, 2020
    Configuration menu
    Copy the full SHA
    1ac3713 View commit details
    Browse the repository at this point in the history

Commits on Jul 19, 2020

  1. compiletest: Rewrite extract_lldb_version function

    This makes extract_lldb_version has the same version type like
    extract_gdb_version.
    
    This is technically a breaking change for rustc-dev users.
    But note that rustc-dev is a nightly component.
    tesuji committed Jul 19, 2020
    Configuration menu
    Copy the full SHA
    cfa3a33 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    d778f32 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    07d56cb View commit details
    Browse the repository at this point in the history
  4. Use Option::as_deref

    tesuji committed Jul 19, 2020
    Configuration menu
    Copy the full SHA
    79d5cbb View commit details
    Browse the repository at this point in the history
  5. Extract closure to function

    tesuji committed Jul 19, 2020
    Configuration menu
    Copy the full SHA
    75caee0 View commit details
    Browse the repository at this point in the history
  6. Use subslice pattern

    tesuji committed Jul 19, 2020
    Configuration menu
    Copy the full SHA
    5aa33b1 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    5e5d816 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    2bcefa8 View commit details
    Browse the repository at this point in the history
  9. Extract extract_version_range

    tesuji committed Jul 19, 2020
    Configuration menu
    Copy the full SHA
    99e3a3c View commit details
    Browse the repository at this point in the history
  10. Rewrite extract_llvm_version

    tesuji committed Jul 19, 2020
    Configuration menu
    Copy the full SHA
    60fac34 View commit details
    Browse the repository at this point in the history
  11. Rewrite extract_version_range

    tesuji committed Jul 19, 2020
    Configuration menu
    Copy the full SHA
    1314d31 View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    4fb260b View commit details
    Browse the repository at this point in the history

Commits on Jul 20, 2020

  1. Apply rust-lang#66379 to *mut T as_ref

    aticu committed Jul 20, 2020
    Configuration menu
    Copy the full SHA
    40df8fd View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    cf52d5f View commit details
    Browse the repository at this point in the history
  3. review

    lcnr committed Jul 20, 2020
    Configuration menu
    Copy the full SHA
    c71b196 View commit details
    Browse the repository at this point in the history
  4. update coherence docs

    lcnr committed Jul 20, 2020
    Configuration menu
    Copy the full SHA
    cfcbca6 View commit details
    Browse the repository at this point in the history

Commits on Jul 21, 2020

  1. Configuration menu
    Copy the full SHA
    b3340b5 View commit details
    Browse the repository at this point in the history
  2. Remove the assert on alignment check.

    Also the alignment should only be done on general register types as
    per the AAPCS so fixed that issue.
    
    Copyright (c) 2020, Arm Limited.
    JamieCunliffe committed Jul 21, 2020
    Configuration menu
    Copy the full SHA
    8b58eb9 View commit details
    Browse the repository at this point in the history
  3. Update books

    ehuss committed Jul 21, 2020
    Configuration menu
    Copy the full SHA
    3eed7da View commit details
    Browse the repository at this point in the history
  4. [AVR] Correctly set the pointer address space when constructing point…

    …ers to functions
    
    This patch extends the existing `type_i8p` method so that it requires an
    explicit address space to be specified. Before this patch, the
    `type_i8p` method implcitily assumed the default address space, which is
    not a safe transformation on all targets, namely AVR.
    
    The Rust compiler already has support for tracking the "instruction
    address space" on a per-target basis. This patch extends the code
    generation routines so that an address space must always be specified.
    
    In my estimation, around 15% of the callers of `type_i8p` produced
    invalid code on AVR due to the loss of address space prior to LLVM final
    code generation. This would lead to unavoidable assertion errors
    relating to invalid bitcasts.
    
    With this patch, the address space is always either 1) explicitly set to
    the instruction address space because the logic is dealing with functions
    which must be placed there, or 2) explicitly set to the default address
    space 0 because the logic can only operate on data space pointers and thus
    we keep the existing semantics of assuming the default, "data" address space.
    dylanmckay committed Jul 21, 2020
    Configuration menu
    Copy the full SHA
    8ae5ead View commit details
    Browse the repository at this point in the history
  5. [AVR] Ensure that function pointers stored within aggregates are anno…

    …tated with the correct space
    
    Before this patch, a function pointer stored within an aggregate like a
    struct or an enum would always have the default address space `0`.
    
    This patch removes this assumption and instead, introspects the inner
    type being pointed at, storing the target address space in the PointeeInfo
    struct so that downstream users may query it.
    dylanmckay committed Jul 21, 2020
    Configuration menu
    Copy the full SHA
    5581ce6 View commit details
    Browse the repository at this point in the history

Commits on Jul 22, 2020

  1. Rollup merge of rust-lang#73270 - dylanmckay:avr-use-correct-addrspac…

    …e, r=nagisa
    
    [AVR] Correctly set the pointer address space when constructing pointers to functions
    
    NOTE: Pull request iterations:
    
    * https://github.com/dylanmckay/rust/releases/tag/avr-use-correct-addrspace.0
    * https://github.com/dylanmckay/rust/releases/tag/avr-use-correct-addrspace.1
    * https://github.com/dylanmckay/rust/releases/tag/avr-use-correct-addrspace.2
    
    This patch extends the existing `type_i8p` method so that it requires an
    explicit address space to be specified. Before this patch, the
    `type_i8p` method implcitily assumed the default address space, which is
    not a safe transformation on all targets, namely AVR.
    
    The Rust compiler already has support for tracking the "instruction
    address space" on a per-target basis. This patch extends the code
    generation routines so that an address space must always be specified.
    
    In my estimation, around 15% of the callers of `type_i8p` produced
    invalid code on AVR due to the loss of address space prior to LLVM final
    code generation. This would lead to unavoidable assertion errors
    relating to invalid bitcasts.
    
    With this patch, the address space is always either 1) explicitly preserved
    from the input type, or 2) explicitly set to the instruction address
    space because the logic is dealing with functions which must be placed
    there, or 3) explicitly set to the default address space 0 because the
    logic can only operate on data space pointers and thus we keep the
    existing semantics of assuming the default, "data" address space.
    Manishearth authored Jul 22, 2020
    Configuration menu
    Copy the full SHA
    14ad41e View commit details
    Browse the repository at this point in the history
  2. Rollup merge of rust-lang#73655 - JamieCunliffe:jamie_va-args-c, r=nikic

    va_args implementation for AAPCS.
    
    Implement the va args in codegen for AAPCS, this will be used as the
    default va_args implementation for AArch64 rather than the va_args
    llvm-ir as it currently is.
    
    This should fix the following issues:
    rust-lang#56475
    rust-lang#72579
    Manishearth authored Jul 22, 2020
    Configuration menu
    Copy the full SHA
    233dcac View commit details
    Browse the repository at this point in the history
  3. Rollup merge of rust-lang#73893 - ajpaverd:cfguard-stabilize, r=nikom…

    …atsakis
    
    Stabilize control-flow-guard codegen option
    
    This is the stabilization PR discussed in rust-lang#68793. It converts the `-Z control-flow-guard` debugging option into a codegen option (`-C control-flow-guard`), and changes the associated tests.
    Manishearth authored Jul 22, 2020
    Configuration menu
    Copy the full SHA
    7a8e644 View commit details
    Browse the repository at this point in the history
  4. Rollup merge of rust-lang#74237 - lzutao:compiletest, r=Mark-Simulacrum

    compiletest: Rewrite extract_*_version functions
    
    This makes extract_lldb_version has the same version type like
    extract_gdb_version.
    Manishearth authored Jul 22, 2020
    Configuration menu
    Copy the full SHA
    b233720 View commit details
    Browse the repository at this point in the history
  5. Rollup merge of rust-lang#74454 - lcnr:negative-impls, r=nikomatsakis

    small coherence cleanup
    
    r? @eddyb
    Manishearth authored Jul 22, 2020
    Configuration menu
    Copy the full SHA
    1796490 View commit details
    Browse the repository at this point in the history
  6. Rollup merge of rust-lang#74538 - nbdd0121:issue-73976, r=lcnr

    Guard against non-monomorphized type_id intrinsic call
    
    This PR checks whether the type is sufficient monomorphized when calling type_id or type_name intrinsics. If the type is not sufficiently monomorphized, e.g. used in a pattern, the code will be rejected.
    
    Fixes rust-lang#73976
    Manishearth authored Jul 22, 2020
    Configuration menu
    Copy the full SHA
    eb8a5cb View commit details
    Browse the repository at this point in the history
  7. Rollup merge of rust-lang#74568 - aticu:master, r=Mark-Simulacrum

    Apply rust-lang#66379 to `*mut T` `as_ref`
    
    rust-lang#66379 changed the documentation of `as_ref` on the type `*const T` and `as_mut` on the type `*mut T`, but it missed making that same change for `as_ref` on the type `*mut T`.
    Manishearth authored Jul 22, 2020
    Configuration menu
    Copy the full SHA
    a77009a View commit details
    Browse the repository at this point in the history
  8. Rollup merge of rust-lang#74570 - spastorino:fix-prioritization-proce…

    …dures-links, r=Mark-Simulacrum
    
    Use forge links for prioritization procedure
    
    r? @Mark-Simulacrum
    
    cc @rust-lang/wg-prioritization
    Manishearth authored Jul 22, 2020
    Configuration menu
    Copy the full SHA
    b37a78e View commit details
    Browse the repository at this point in the history
  9. Rollup merge of rust-lang#74589 - ehuss:update-books, r=ehuss

    Update books
    
    ## reference
    
    5 commits in 0ea7bc494f1289234d8800bb9185021e0ad946f0..b329ce37424874ad4db94f829a55807c6e21d2cb
    2020-07-02 15:33:04 -0700 to 2020-07-20 08:54:08 -0700
    - this '*' is unnecessary, and reduces readability (rust-lang/reference#853)
    - Tiny typo fix (rust-lang/reference#849)
    - Update const eval chapter to latest changes (rust-lang/reference#842)
    - Document #[track_caller]. (rust-lang/reference#742)
    - Document shebang restriction. (rust-lang/reference#823)
    
    ## book
    
    2 commits in 84a31397b34f9d405df44f2899ff17a4828dba18..a914f2c7e5cdb771fa465de142381a51c53b580e
    2020-07-04 10:50:18 -0500 to 2020-07-21 09:20:05 -0500
    - Change misleading wording (rust-lang/book#2399)
    - Improve wording to include Windows versions (rust-lang/book#2395)
    
    ## edition-guide
    
    3 commits in 82bec5877c77cfad530ca11095db4456d757f668..bd6e4a9f59c5c1545f572266af77f5c7a5bad6d1
    2020-06-03 08:56:02 -0500 to 2020-07-12 17:37:08 -0500
    - update guide for 1.36 and 1.37 (rust-lang/edition-guide#217)
    - Add contents for Rust 1.35 (rust-lang/edition-guide#216)
    - update edition guide for Rust 1.34 (rust-lang/edition-guide#215)
    Manishearth authored Jul 22, 2020
    Configuration menu
    Copy the full SHA
    5871ff4 View commit details
    Browse the repository at this point in the history