Commit Graph

58943 Commits

Author SHA1 Message Date
abhijeetbhagat
c2a1c7f44f Change description of no-stack-check (#34915) 2016-11-08 13:45:07 +01:00
Josh Driver
134ef4f793 Revert "Point macros 1.1 errors to the input item"
This reverts commit 3784067edc.
Any errors in the derived output now point at the derive attribute
instead of the item.
2016-11-08 23:03:56 +10:30
Josh Driver
31a508e118 Allow proc_macro functions to whitelist specific attributes
By using a second attribute `attributes(Bar)` on
proc_macro_derive, whitelist any attributes with
the name `Bar` in the deriving item. This allows
a proc_macro function to use custom attribtues
without a custom attribute error or unused attribute
lint.
2016-11-08 23:03:56 +10:30
bors
38a959a543 Auto merge of #36843 - petrochenkov:dotstab, r=nikomatsakis
Stabilize `..` in tuple (struct) patterns

I'd like to nominate `..` in tuple and tuple struct patterns for stabilization.
This feature is a relatively small extension to existing stable functionality and doesn't have known blockers.
The feature first appeared in Rust 1.10 6 months ago.
An example of use: https://github.com/rust-lang/rust/pull/36203

Closes https://github.com/rust-lang/rust/issues/33627
r? @nikomatsakis
2016-11-08 02:06:45 -08:00
Nicholas Nethercote
00e48affde Replace FnvHasher use with FxHasher.
This speeds up compilation by 3--6% across most of rustc-benchmarks.
2016-11-08 15:14:59 +11:00
Nicholas Nethercote
eca1cc957f Add FxHasher, a faster alternative to FnvHasher. 2016-11-08 15:14:00 +11:00
Nick Cameron
4b20221e14 save-analysis: don't choke on stripped doc attributes 2016-11-08 15:28:00 +13:00
Brian Anderson
0f817a0dd9 Add release notes for 1.13.0 2016-11-07 23:53:32 +00:00
Josh Driver
d377cf5b3f Rename KNOWN_ATTRS to BUILT_ATTRS, and create KNOWN_ATTRS
KNOWN_ATTRIBUTES should really be named BUILT_ATTRIBUTES,
while KNOWN_ATTRIBUTES should be used to mark attributes
as known, similar to USED_ATTRIBUTES.
2016-11-08 08:30:26 +10:30
bors
57f971bc16 Auto merge of #36365 - matthew-piziak:silent-overflow, r=eddyb
fix silent overflows on `Step` impls

Part of https://github.com/rust-lang/rust/issues/36110

r? @eddyb
2016-11-07 11:48:16 -08:00
oldmanmike
5a2997d3d8 Fix typos and redundant code 2016-11-07 13:59:48 -05:00
oldmanmike
e2ca47ab1a Apply changes recommended in code review
Said code review and recommendations can be found here:
https://github.com/rust-lang/rust/pull/37610
2016-11-07 12:42:20 -05:00
bors
ec0d1ceb42 Auto merge of #37625 - xen0n:rustbuild-mips, r=alexcrichton
rustbuild: support MIPS host builds

There is a *little* code duplication, but primarily for sake of "match exhaustiveness". Let's blame Linux/MIPS for not exposing endianness explicitly in `uname -m` (that's user-space interface and as such is frozen).

Currently the build won't work as we have to wait for a new stage0 for the MIPS host compilers, but this paves the way to self-hosted Rust on MIPS. The cross-compiled MIPS binaries are confirmed to work on the Loongson 3A2000 (MIPS64r2-compatible) so we have plenty of confidence that they'll work on other MIPS platforms too, as Linux/MIPS user-space ABI is consistent across machines of the same bitness.

r? @alexcrichton
2016-11-07 08:39:16 -08:00
bors
c9f16bbc41 Auto merge of #37624 - xen0n:remove-bogus-mipsel-arches, r=alexcrichton
Remove mention of mipsel target_arch

This is the only remaining instance in rustc. All others were in the libc repo, removed with rust-lang/libc#445.

Actually there's more to clean in `libsyntax/abi.rs`, but let's save that for another commit...
2016-11-07 04:14:00 -08:00
bors
045a727b83 Auto merge of #37605 - dsprenkels:arc-max-refcount, r=alexcrichton
Fix Arc::clone()'s MAX_REFCOUNT check (off-by-one)

Before, the strong count of an `Arc` could be set to
`MAX_REFCOUNT + 1`, because when this happened, `old_size` would
be exactly `MAX_REFCOUNT`. `Arc::clone()` would not abort.

This commit changes the check in `Arc::clone()` to also abort if
the old value is equal to `MAX_REFCOUNT`, because then the new
value will be equal to `MAX_REFCOUNT + 1`.

A test would require allocating memory for `isize::MAX` pointers.
This would probably crash any machine, so no test is submitted
with this commit.
2016-11-06 23:05:58 -08:00
Wang Xuerui
0d433a8feb rustbuild: support MIPS host builds
There is a *little* code duplication, but primarily for sake of "match
exhaustiveness". Let's blame Linux/MIPS for not exposing endianness
explicitly in `uname -m` (that's user-space interface and as such is
frozen).

Currently the build won't work as we have to wait for a new stage0 for
the MIPS host compilers, but this paves the way to self-hosted Rust on
MIPS. The cross-compiled MIPS binaries are confirmed to work on the
Loongson 3A2000 (MIPS64r2-compatible) so we have plenty of confidence
that they'll work on other MIPS platforms too, as Linux/MIPS user-space
ABI is consistent across machines of the same bitness.
2016-11-07 14:29:15 +08:00
Wang Xuerui
a28c01bdf9 Remove mention of mipsel target_arch
The `mipsel` `target_arch` was introduced with the initial MIPSel
support (rust-lang/rust@82ec1aef29),
but was subsequently removed with implementation of the Flexible Target
Specification (Rust RFC 0131,
rust-lang/rust@3a8f4ec32a).
This is the only remaining instance in rustc. All others are in the libc
repo, and are fixed in rust-lang/libc@b3676593f6.
2016-11-07 14:15:58 +08:00
bors
09fc1af9d8 Auto merge of #37506 - jseyfried:improve_shadowing_checks, r=nrc
macros: improve shadowing checks

This PR improves macro-expanded shadowing checks to work with out-of-(pre)order expansion.

Out-of-order expansion became possible in #37084, so this technically a [breaking-change] for nightly.
The regression test from this PR is an example of code that would break.

r? @nrc
2016-11-06 19:12:28 -08:00
bors
8e2b57d3e4 Auto merge of #37619 - TimNN:aarch64-fuchsia-abi-blacklist, r=alexcrichton
use arm abi blacklist for aarch64 fuchsia

r? @alexcrichton
2016-11-06 15:59:45 -08:00
Guillaume Gomez
520d5f4cb9 Set attributes hidden by default 2016-11-06 22:56:35 +01:00
bors
4742008742 Auto merge of #37617 - pweyck:force-static-llvm-linking, r=alexcrichton
Force static linking of LLVM

Run `llvm-config` with `--link-static` if available, to force static linking of LLVM.
This option was added in LLVM 3.8.

This is my first pull request, any feedback is welcome!

Fixes #36854
See also: #36996
2016-11-06 12:47:14 -08:00
Guillaume Gomez
22dad4b044 Improve attributes display and allow expansion 2016-11-06 21:03:08 +01:00
Tim Neumann
9bae00332c use arm abi blacklist for aarch64 fuchsia 2016-11-06 20:41:46 +01:00
Daan Sprenkels
99aaccd32f Add a comment to Arc::MAX_REFCOUNT
The constant name `MAX_REFCOUNT` suggests that the value is a
_hard_ limit on the amount of references to an `Arc`. This is
a more soft limit however. This commit adds a comment to the
constant to annotate this.

See also: PR #37605
2016-11-06 20:07:28 +01:00
Guillaume Gomez
a96247bcac Set possibility to hide attributes 2016-11-06 20:06:04 +01:00
Guillaume Gomez
b1a3f88e55 Print more tags in rustdoc 2016-11-06 20:06:04 +01:00
bors
2a44315fc7 Auto merge of #37616 - jneem:master, r=alexcrichton
Add test for issue 18060.

Closes #18060
2016-11-06 09:34:15 -08:00
meh
f9cc166527 Fix terminfo database search path 2016-11-06 18:20:38 +01:00
pweyck
bcfbbd8645 Force static linking of LLVM
Run llvm-config with "--link-static" if available, to force static linking of LLVM.
This option was added in LLVM 3.8.

Fixes #36854
See also: #36996
2016-11-06 16:33:34 +01:00
Joe Neeman
6829c3ded8 Add test for issue 18060. 2016-11-06 16:32:49 +01:00
bors
5fe733a159 Auto merge of #37404 - eddyb:lazy-4, r=nikomatsakis
[4/n] rustc: harden against InferOk having obligations in more cases.

_This is part of a series ([prev](https://github.com/rust-lang/rust/pull/37402) | [next](https://github.com/rust-lang/rust/pull/37408)) of patches designed to rework rustc into an out-of-order on-demand pipeline model for both better feature support (e.g. [MIR-based](https://github.com/solson/miri) early constant evaluation) and incremental execution of compiler passes (e.g. type-checking), with beneficial consequences to IDE support as well.
If any motivation is unclear, please ask for additional PR description clarifications or code comments._

<hr>

This adds more asserts that `InferOk` results have no obligations, pending completion of #32730.

Each of these could accidentally drop obligations on the floor if they start getting produced by unification, and a future change does just that, in order to produce a "shallow success" (hopefully leading to ambiguities during trait selection), _without_ the possibility of an eventual success - mostly guarded by ICEs for now.
2016-11-06 06:22:38 -08:00
Eduard Burtescu
aee1ee3cc2 rustc: harden against InferOk having obligations in more cases. 2016-11-06 16:22:11 +02:00
Juan Gomez
8016dc39aa Add support for ARMv5TE architecture 2016-11-06 13:06:01 +01:00
sinkuu
12f0b6f2fb Fix typo 2016-11-06 20:54:00 +09:00
sinkuu
1a819a2298 Make E0243/0244 message consistent with E0107 2016-11-06 20:51:21 +09:00
bors
161f2623bd Auto merge of #37386 - johnthagen:Self-reference-example, r=GuillaumeGomez
Add example using Self to reference

When I first came across `Self` I had a hard time finding references to it in the docs (and it's also been asked about on [StackOverflow](http://stackoverflow.com/questions/32304595/whats-the-difference-between-self-and-self).

I hope this example provides someone who comes across it for the first time a little more help.  If there is a better way to show an example actually using `Self`, I'm happy to modify this.  It was just the simplest place to start I could see.
2016-11-06 02:28:58 -08:00
bors
3fc8304fd9 Auto merge of #37597 - alexcrichton:rollup, r=alexcrichton
Rollup of 24 pull requests

- Successful merges: #37255, #37317, #37408, #37410, #37422, #37427, #37470, #37501, #37537, #37556, #37557, #37564, #37565, #37566, #37569, #37574, #37577, #37579, #37583, #37585, #37586, #37587, #37589, #37596
- Failed merges: #37521, #37547
2016-11-05 22:34:25 -07:00
Alex Crichton
bdacb63f5a Only test docs and such for the host 2016-11-05 19:29:53 -07:00
oldmanmike
21814a5ebb Add unary and binary tests for incr-comp 2016-11-05 21:31:57 -04:00
johnthagen
434c314405 Use From trait as an example usage of Self. 2016-11-05 18:21:17 -04:00
Esteban Küber
40c2c0f833 Include type of missing trait methods in error
Provide either a span pointing to the original definition of missing
trait items, or a message with the inferred definitions.
2016-11-05 13:26:22 -07:00
Alex Crichton
18ee04b3df Merge branch 'gdb-next-gen' of https://github.com/TimNN/rust into rollup 2016-11-05 10:51:34 -07:00
Alex Crichton
11251e59b9 Fix tests from the rollup 2016-11-05 10:51:04 -07:00
Alex Crichton
e126f3c6c6 Merge branch 'selfgate' of https://github.com/petrochenkov/rust into rollup 2016-11-05 10:50:47 -07:00
Alex Crichton
0eff43ff75 Merge branch 'new-rustbuild' into rollup 2016-11-05 10:50:26 -07:00
Alex Crichton
9847bd3d68 Rollup merge of #37596 - est31:master, r=alexcrichton
Add error when proc_macro_derive is used not on functions

Fixes #37590
2016-11-05 10:50:25 -07:00
Alex Crichton
8e5c91a6fb Rollup merge of #37589 - raphlinus:fuchsia_random, r=alexcrichton
std: Track change to cprng syscall signature (Fuchsia)

The mx_cprng_draw syscall has changed signature to separate the status
and size return values, rather than multiplexing them into a single
value with errors interpreted as a negative value. This patch tracks
that change.
2016-11-05 10:50:25 -07:00
Alex Crichton
5bce6ad16a Rollup merge of #37587 - ollie27:to_mut, r=alexcrichton
Remove recursive call from Cow::to_mut

It seems to prevent it from being inlined.
2016-11-05 10:50:25 -07:00
Alex Crichton
78f18647e8 Rollup merge of #37586 - TimNN:fix-37559, r=alexcrichton
fix #37559: update compiler-rt

Fixes #37559

r? @alexcrichton
2016-11-05 10:50:25 -07:00
Alex Crichton
727f1d3f16 Rollup merge of #37585 - leodasvacas:change_into_to_from, r=alexcrichton
Change `Into<Vec<u8>> for String` and `Into<OsString> for PathBuf` to From

Fixes #37561. First contribution, happy with any and all feedback!
2016-11-05 10:50:25 -07:00