1. 29 7月, 2017 7 次提交
    • B
      Auto merge of #43527 - alexcrichton:different-llvm-cross, r=Mark-Simulacrum · 8d0ad26b
      bors 提交于
      rustbuild: Tweak how we cross-compile LLVM
      
      In preparation for upgrading to LLVM 5.0 it looks like we need to tweak how we
      cross compile LLVM slightly. It's using `CMAKE_SYSTEM_NAME` to infer whether to
      build libFuzzer which only works on some platforms, and then once we configure
      that it needs to apparently reach into the host build area to try to compile
      `llvm-config` as well. Once these are both configured, though, it looks like we
      can successfully cross-compile LLVM.
      8d0ad26b
    • B
      Auto merge of #43492 - lu-zero:master, r=alexcrichton · 6dd8744a
      bors 提交于
      More Altivec Intrinsics
      6dd8744a
    • B
      Auto merge of #43518 - cuviper:aapcs_vfp, r=eddyb · 42a09c01
      bors 提交于
      Support homogeneous aggregates for hard-float ARM
      
      Hard-float ARM targets use the AAPCS-VFP ABI, which passes and returns
      homogeneous float/vector aggregates in the VFP registers.
      
      Fixes #43329.
      
      r? @EddyB
      42a09c01
    • A
      rustbuild: Tweak how we cross-compile LLVM · 069a1b3c
      Alex Crichton 提交于
      In preparation for upgrading to LLVM 5.0 it looks like we need to tweak how we
      cross compile LLVM slightly. It's using `CMAKE_SYSTEM_NAME` to infer whether to
      build libFuzzer which only works on some platforms, and then once we configure
      that it needs to apparently reach into the host build area to try to compile
      `llvm-config` as well. Once these are both configured, though, it looks like we
      can successfully cross-compile LLVM.
      069a1b3c
    • B
      Auto merge of #43230 - alexcrichton:more-tokenstream, r=nrc,jseyfried · 126321e2
      bors 提交于
      Implement tokenization for some items in proc_macro
      
      This PR is a partial implementation of https://github.com/rust-lang/rust/issues/43081 targeted towards preserving span information in attribute-like procedural macros. Currently all attribute-like macros will lose span information with the input token stream if it's iterated over due to the inability of the compiler to losslessly tokenize an AST node. This PR takes a strategy of saving off a list of tokens in particular AST nodes to return a lossless tokenized version. There's a few limitations with this PR, however, so the old fallback remains in place.
      126321e2
    • A
      syntax: Capture a `TokenStream` when parsing items · 4886ec86
      Alex Crichton 提交于
      This is then later used by `proc_macro` to generate a new
      `proc_macro::TokenTree` which preserves span information. Unfortunately this
      isn't a bullet-proof approach as it doesn't handle the case when there's still
      other attributes on the item, especially inner attributes.
      
      Despite this the intention here is to solve the primary use case for procedural
      attributes, attached to functions as outer attributes, likely bare. In this
      situation we should be able to now yield a lossless stream of tokens to preserve
      span information.
      4886ec86
    • B
      Auto merge of #43298 - gaurikholkar:lifetime_errors, r=estebank · eba9d7f0
      bors 提交于
      improve case with both anonymous lifetime parameters #43269
      
      This is a fix to #43269.
      
      Sample output message-
      
      ```
      
      error[E0623]: lifetime mismatch
        --> $DIR/ex3-both-anon-regions.rs:12:12
         |
      11 | fn foo(x: &mut Vec<&u8>, y: &u8) {
         |                    ---      --- these references must have the same lifetime
      12 |     x.push(y);
         |            ^ data from `y` flows into `x` here
      
      error: aborting due to 2 previous errors
      
      ```
      r? @nikomatsakis
      eba9d7f0
  2. 28 7月, 2017 23 次提交
  3. 27 7月, 2017 10 次提交
    • L
      Add support for Vector Maximum on PowerPC · a718c813
      Luca Barbato 提交于
      a718c813
    • M
    • B
      Auto merge of #43498 - joshtriplett:fix-notices, r=aturon · 0565653e
      bors 提交于
      Copyright/license headers
      
      (As discussed with @aturon and @est31. CC @rust-lang/core.)
      
      Currently, rust-lang/rust includes notices that say things like
      ```
      The Rust Project is copyright 2010, The Rust Project
      Developers.
      ```
      or
      ```
      Copyright (c) 2010 The Rust Project Developers
      ```
      or
      ```
      // Copyright 2017 The Rust Project Developers. See the COPYRIGHT
      // file at the top-level directory of this distribution and at
      // http://rust-lang.org/COPYRIGHT.
      ```
      
      These notices aren't accurate. "Copyright YYYY Some Name" has a specific legal meaning, and "The Rust Project Developers" isn't a legal entity. In practice, the actual legal structure is that all Rust contributors retain their copyrights when contributing to Rust, and just license them under MIT/Apache-2.0. Our legal notices should reflect that.
      
      This came up because of RFC 2044, which proposed fixing this for the RFC repository. That effort started out by copying the rust-lang/rust notices, propagating this issue.
      
      Based on discussion with @aturon, the two of us propose the following:
      
      - Delete the per-file notices entirely, for any files licensed under the standard terms. (Keep notices for anything that's *not* MIT/Apache-2.0.)
        - An alternative to that would be to just delete the first paragraph of the standard notice, and keep the second paragraph that points to the MIT and Apache 2.0 licenses.
      - Delete the first paragraph of LICENSE-MIT (the inaccurate pseudo-copyright line), leaving only the text of the MIT license.
      - Edit the COPYRIGHT file to more accurately describe the situation (changing the pseudo-copyright line immediately under "longer version", and editing the text that starts with "additional copyright may be ...", to just always state that copyrights are retained by the Rust contributors, and licensed under MIT/Apache-2.0 (with the exceptions to that explicitly noted in that file).
      
      If @rust-lang/core is fine with this proposal, I'd be happy to provide a pull request with the proposed fixes.
      0565653e
    • L
      ade5ead3
    • M
      Explain why we subtract one from the stage · 3c43163d
      Mark Simulacrum 提交于
      3c43163d
    • M
      Make sure CFG_RELEASE_CHANNEL is always set. · cb27faf7
      Mark Simulacrum 提交于
      Previously we'd build libsyntax without it when documenting and that'd
      cause us to recompile it when building normally for no reason.
      cb27faf7
    • M
      Allow changing rustdoc which builds the book. · 3b905516
      Mark Simulacrum 提交于
      3b905516
    • M
      Don't needlessly build rustdoc for compiletest. · 4e5333cb
      Mark Simulacrum 提交于
      For most tests, rustdoc isn't needed, so avoid building it.
      4e5333cb
    • M
      Build rustdoc on-demand. · e2e9b40e
      Mark Simulacrum 提交于
      Rustdoc is no longer compiled in every stage, alongside rustc, instead
      it is only compiled when requested, and generally only for the last
      stage.
      e2e9b40e
    • M
      fe0eca0d