1. 31 7月, 2016 6 次提交
    • J
      arm-musl: statically link to libunwind · f0ec906d
      Jorge Aparicio 提交于
      f0ec906d
    • J
      arm-musl: set max_atomic_width · e50bcf34
      Jorge Aparicio 提交于
      e50bcf34
    • J
      arm-musl targets now use cfg(env = "musl") · 9ffd0fe5
      Jorge Aparicio 提交于
      9ffd0fe5
    • T
      Add ARM MUSL targets. · f7247d10
      Timon Van Overveldt 提交于
      The targets are:
      - `arm-unknown-linux-musleabi`
      - `arm-unknown-linux-musleabihf`
      - `armv7-unknown-linux-musleabihf`
      
      These mirror the existing `gnueabi` targets.
      
      All of these targets produce fully static binaries, similar to the
      x86 MUSL targets.
      
      For now these targets can only be used with `--rustbuild` builds, as
      https://github.com/rust-lang/compiler-rt/pull/22 only made the
      necessary compiler-rt changes in the CMake configs, not the plain
      GNU Make configs.
      
      I've tested these targets GCC 5.3.0 compiled again musl-1.1.12
      (downloaded from http://musl.codu.org/). An example `./configure`
      invocation is:
      
      ```
      ./configure \
          --enable-rustbuild
          --target=arm-unknown-linux-musleabi \
          --musl-root="$MUSL_ROOT"
      ```
      
      where `MUSL_ROOT` points to the `arm-linux-musleabi` prefix.
      Usually that path will be of the form
      `/foobar/arm-linux-musleabi/arm-linux-musleabi`.
      
      Usually the cross-compile toolchain will live under
      `/foobar/arm-linux-musleabi/bin`. That path should either by added
      to your `PATH` variable, or you should add a section to your
      `config.toml` as follows:
      
      ```
      [target.arm-unknown-linux-musleabi]
      cc = "/foobar/arm-linux-musleabi/bin/arm-linux-musleabi-gcc"
      cxx = "/foobar/arm-linux-musleabi/bin/arm-linux-musleabi-g++"
      ```
      
      As a prerequisite you'll also have to put a cross-compiled static
      `libunwind.a` library in `$MUSL_ROOT/lib`. This is similar to [how
      the x86_64 MUSL targets are built]
      (https://doc.rust-lang.org/book/advanced-linking.html).
      f7247d10
    • T
      Update gcc crate dependency to 0.3.27. · 57cad572
      Timon Van Overveldt 提交于
      This is to pull in changes to support ARM MUSL targets.
      
      This change also commits a couple of other cargo-generated changes
      to other dependencies in the various Cargo.toml files.
      57cad572
    • B
      Auto merge of #35117 - aravind-pg:path, r=alexcrichton · 7f7969ef
      bors 提交于
      On Windows, ensure PATH does not contain invalid character `"`
      
      Fixes #34959.
      
      r? @alexcrichton
      7f7969ef
  2. 30 7月, 2016 12 次提交
    • B
      Auto merge of #35127 - Manishearth:rollup, r=Manishearth · ffcbd2de
      bors 提交于
      Rollup of 8 pull requests
      
      - Successful merges: #35049, #35058, #35063, #35080, #35090, #35094, #35104, #35106
      - Failed merges:
      ffcbd2de
    • M
      Rollup merge of #35106 - xen0n:issue-35082, r=alexcrichton · 0b64a561
      Manish Goregaokar 提交于
      syntax_ext: format: fix ICE with bad named arguments
      
      Fixes #35082 by guarding against a new case of malformed invocation not previously covered.
      
      r? @alexcrichton
      0b64a561
    • M
      Rollup merge of #35104 - frewsxcv:linked-list-append, r=steveklabnik · ce799723
      Manish Goregaokar 提交于
      Rewrite `collections::LinkedList::append` doc example.
      
      None
      ce799723
    • M
      Rollup merge of #35094 - mcarton:multispan, r=jonathandturner · 6ea3ef7a
      Manish Goregaokar 提交于
      Revert "Remove unused methods from MultiSpan"
      
      This reverts commit f7019a4e.
      
      That commit removed the only way to make a suggestion with more than one substitute. That feature is not used directly by rustc but exists and is used by Clippy. Bring it back until we come up with a better solution (suggestions don't use span labels, so it would make sense for them to use their own type).
      Rational there: https://github.com/Manishearth/rust-clippy/pull/1119.
      
      r? @jonathandturner
      Cc @Manishearth
      6ea3ef7a
    • M
      Rollup merge of #35090 - michaelwoerister:get-rid-of-id-visitor, r=eddyb · e649a253
      Manish Goregaokar 提交于
      intravisit: Fold functionality of IdVisitor into the regular Visitor.
      e649a253
    • M
      Rollup merge of #35080 - jonathandturner:fix_numeric_expected_found, r=nikomatsakis · 26e22b8e
      Manish Goregaokar 提交于
      Rename _ to {integer} and {float} for unknown numeric types
      
      This PR renames _ to {integer} or {float} for unknown numeric types, to help people parse error messages that have numeric types that haven't been nailed down.
      
      Example:
      ```rust
      fn main() {
          let x: String = 4;
      }
      ```
      
      Before:
      ```
      error[E0308]: mismatched types
       --> quicktest.rs:2:21
        |
      2 |     let x: String = 4;
        |                     ^ expected struct `std::string::String`, found integral variable
        |
        = note: expected type `std::string::String`
        = note:    found type `_`
      
      error: aborting due to previous error
      ```
      
      after:
      ```
      error[E0308]: mismatched types
       --> quicktest.rs:2:21
        |
      2 |     let x: String = 4;
        |                     ^ expected struct `std::string::String`, found integral variable
        |
        = note: expected type `std::string::String`
        = note:    found type `{integer}`
      
      error: aborting due to previous error
      ```
      ```
      26e22b8e
    • M
      Rollup merge of #35063 - jseyfried:avoid_importing_inaccessible_names, r=nrc · 8c6421fb
      Manish Goregaokar 提交于
      resolve: Exclude inaccessible names from single imports
      
      If a single import resolves to an inaccessible name in some but not all namespaces, avoid importing the name in the inaccessible namespaces.
      
      Currently, the inaccessible namespaces are imported but cause a privacy error when used.
      
      r? @nrc
      8c6421fb
    • M
      Rollup merge of #35058 - jethrogb:no_panic_abs, r=alexcrichton · 62346102
      Manish Goregaokar 提交于
      Add non-panicking abs() functions to all signed integer types.
      
      Currently, calling abs() on one of the signed integer types might panic (in
      debug mode at least) because the absolute value of the largest negative value
      can not be represented in that signed type. Unlike all other integer
      operations, there is currently not a non-panicking version on this function.
      This seems to just be an oversight in the design, therefore just adding it now.
      62346102
    • M
      Rollup merge of #35049 - knight42:add-test, r=alexcrichton · 96e39727
      Manish Goregaokar 提交于
      Add a test for AddAssign on String
      
      Fix #35047
      96e39727
    • B
      Auto merge of #35051 - japaric:backtrace, r=alexcrichton · 7580534c
      bors 提交于
      rustbuild: make backtraces (RUST_BACKTRACE) optional
      
      but keep them enabled by default to maintain the status quo.
      
      When disabled shaves ~56KB off every x86_64-unknown-linux-gnu
      binary.
      
      To disable backtraces you have to use a config.toml (see
      src/bootstrap/config.toml.example for details) when building rustc/std:
      
      $ python bootstrap.py --config=config.toml
      
      ---
      
      r? @alexcrichton
      cc rust-lang/rfcs#1417
      7580534c
    • B
      Auto merge of #35032 - vadimcn:rusty-ehabi, r=alexcrichton · 2ad98a0b
      bors 提交于
      Implement ARM personality routine in Rust.
      
      Remove the `eh_personality_catch` lang item.
      Use a simplified version of `cfg_if!` in libunwind.
      
      Closes #34786
      2ad98a0b
    • B
      Auto merge of #34842 - cgswords:attr_enc, r=nrc · f164cf5d
      bors 提交于
      Better attribute and metaitem encapsulation throughout the compiler
      
      This PR refactors most (hopefully all?) of the `MetaItem` interactions outside of `libsyntax` (and a few inside) to interact with MetaItems through the provided traits instead of directly creating / destruct / matching against them. This is a necessary first step to eventually converting `MetaItem`s to internally use `TokenStream` representations (which will make `MetaItem` interactions much nicer for macro writers once the new macro system is in place).
      
      r? @nrc
      f164cf5d
  3. 29 7月, 2016 22 次提交