75574 Commits

Author SHA1 Message Date
James Cowgill
fb806fd9db test: fix repr-transparent-aggregates test on mips64
Since #47964 was merged, 64-bit mips started passing all structures
using 64-bit chunks regardless of their contents. The
repr-transparent-aggregates tests needs updating to cope with this.
2018-03-09 10:21:30 +00:00
James Cowgill
54467ae319 test: ignore asm tests on mips* which won't work
"mov" is not a valid assembly mnemonic on mips.
2018-03-09 10:17:12 +00:00
James Cowgill
e0863c5155 test: ignore mips* in x86_mmx test 2018-03-09 10:17:01 +00:00
James Cowgill
bceb94e8b7 test: ignore stack probe tests on mips* 2018-03-09 10:17:01 +00:00
James Cowgill
59199ebe51 test: remove duplicate ignore-aarch64 from stack-probes test 2018-03-09 10:16:49 +00:00
John Kåre Alsaker
184fd32a03 Move PROFQ_CHAN to a Session field 2018-03-09 08:04:31 +01:00
bors
2079a084df Auto merge of #48860 - Manishearth:rollup, r=Manishearth
Rollup of 5 pull requests

- Successful merges: #48527, #48588, #48801, #48856, #48857
- Failed merges:
2018-03-09 03:59:42 +00:00
1011X
39c3a37018 Merge branch 'master' of github.com:1011X/rust 2018-03-08 22:57:54 -05:00
1011X
679e410b11 declare ascii test module in core 2018-03-08 22:55:54 -05:00
Mark Simulacrum
29a852970b Refactor run_host_only to have the proper effect.
Previously it was set to true when we didn't run HOSTS steps.
2018-03-08 20:30:00 -07:00
Mark Simulacrum
9cfc73cd3f Deny warnings 2018-03-08 20:30:00 -07:00
Mark Simulacrum
c8edb36520 Print out the sysroot and libdir on verbose builds. 2018-03-08 20:30:00 -07:00
Mark Simulacrum
1c8f3b011c Remove ONLY_BUILD.
All uses are replaced with not accessing run.target/run.host, and
instead directly using run.builder.build.build.
2018-03-08 20:30:00 -07:00
Mark Simulacrum
1191510881 Remove ONLY_BUILD_TARGETS.
All cases where it is used can be replaced by substituing run.host for
run.builder.build.build; that is its only effect. As such, it is
removable.
2018-03-08 20:30:00 -07:00
Manish Goregaokar
b65b171f44
Rollup merge of #48857 - Songbird0:improve_column_macro_documentation, r=joshtriplett
Modify part of `column!` documentation.

Just like `line!` documentation, I've replaced:

> The returned column is not the invocation of the `column!` macro itself

By

> The returned column is *not necessarily* the line of the `column!` invocation itself

See #46997.
2018-03-08 17:25:59 -08:00
Manish Goregaokar
5ab485599d
Rollup merge of #48856 - Songbird0:improve_line_macro_documentation, r=joshtriplett
Modify part of `line!` documentation.

In accordance with #46997, I've replaced:

> The returned line is not the invocation of the line! macro itself [...]

By

> The returned line is *not necessarily* the line of the `line!` invocation itself [...]
2018-03-08 17:25:58 -08:00
Manish Goregaokar
68e7282aa8
Rollup merge of #48801 - Manishearth:epoch-features, r=nikomatsakis
Add functionality for gating feature flags on epochs ; rejigger epoch lints

fixes #48794

r? @nikomatsakis
2018-03-08 17:25:57 -08:00
Manish Goregaokar
b0bc601dcc
Rollup merge of #48588 - alexcrichton:termcolor, r=BurntSushi
rustc: Migrate to `termcolor` crate from `term`

This crate moves the compiler's error reporting to using the `termcolor` crate
from crates.io. Previously rustc used a super-old version of the `term` crate
in-tree which is basically unmaintained at this point, but Cargo has been using
`termcolor` for some time now and tools like `rg` are using `termcolor` as well,
so it seems like a good strategy to take!

Note that the `term` crate remains in-tree for libtest. Changing libtest will be
a bit tricky due to how the build works, but we can always tackle that later.

cc #45728
2018-03-08 17:25:56 -08:00
Manish Goregaokar
b228b053ec
Rollup merge of #48527 - zackmdavis:and_the_social_construction_of_tuples, r=estebank
in which parentheses are suggested for should-have-been-tuple-patterns

![destructure_suggest_parens](https://user-images.githubusercontent.com/1076988/36638335-48b082d4-19a7-11e8-9726-0d043544df2f.png)

Programmers used to working in some other languages (such as Python or
Go) might expect to be able to destructure values with comma-separated
identifiers but no parentheses on the left side of an assignment.

Previously, the first name in such code would get parsed as a
single-indentifier pattern—recognizing, for example, the
`let a` in `let a, b = (1, 2);`—whereupon we would have a fatal syntax
error on seeing an unexpected comma rather than the expected semicolon
(all the way nearer to the end of `parse_full_stmt`).

Instead, let's look for that comma when parsing the pattern, and if we
see it, make-believe that we're parsing the remaining elements in a
tuple pattern, so that we can suggest wrapping it all in parentheses. We
need to do this in a separate wrapper method called on a "top-level"
pattern, rather than within
`parse_pat` itself, because `parse_pat` gets called recursively to parse
the sub-patterns within a tuple pattern.

~~We could also do this for `match` arms, `if let`, and `while let`, but
we elect not to in this patch, as it seems less likely for users to make
the mistake in those contexts.~~

Resolves #48492.

r? @petrochenkov
2018-03-08 17:25:55 -08:00
Manish Goregaokar
a08cfc4cb6 Add rust_2018_idioms lint group 2018-03-08 17:10:06 -08:00
Manish Goregaokar
667973204d Note the future epoch for epoch lints 2018-03-08 17:10:06 -08:00
Manish Goregaokar
fbe57cf13e Make bare_trait_object not be an epoch lint 2018-03-08 17:10:06 -08:00
Manish Goregaokar
ae5ae846cd Make tyvar_behind_raw_pointer an epoch lint 2018-03-08 17:10:05 -08:00
Manish Goregaokar
29542ec85a Add test 2018-03-08 17:10:05 -08:00
Manish Goregaokar
197f35c3e0 Make bare_trait_lint allow for now 2018-03-08 17:10:05 -08:00
Manish Goregaokar
b88a61e36e Make it possible to ungate features by epoch 2018-03-08 17:10:05 -08:00
Manish Goregaokar
c3fe3a56c2 Allow mentioning an optional epoch on features 2018-03-08 17:10:05 -08:00
Manish Goregaokar
4338bd178d Move epochs to libsyntax 2018-03-08 17:10:03 -08:00
Anthony Defranceschi
a0758cdcff Modify part of column! documentation.
Just like `line!` documentation, I've replaced:

> The returned column is not the invocation of the `column!` macro itself

By

> The returned column is *not necessarily* the line of the `column!` invocation itself

See #46997.
2018-03-09 00:43:54 +01:00
Anthony Defranceschi
2d7472fadc Modify part of line! documentation.
In accordance with #46997, I've replaced:

> The returned line is not the invocation of the line! macro itself [...]

By

> The returned line is *not necessarily* the line of the `line!` invocation itself [...]
2018-03-09 00:36:07 +01:00
bors
604d4ce757 Auto merge of #48849 - Manishearth:rollup, r=Manishearth
Rollup of 7 pull requests

- Successful merges: #48292, #48682, #48699, #48738, #48752, #48789, #48808
- Failed merges:
2018-03-08 22:08:21 +00:00
Basile Desloges
0e68bb9728 Update tests 2018-03-08 22:28:52 +01:00
Basile Desloges
48ba50e10c Update "type parameters from outer function" error messages 2018-03-08 22:28:51 +01:00
Basile Desloges
b3164f3ab4 Add codemap functions to retrieve the source before a given span 2018-03-08 22:28:50 +01:00
Maxim Nazarenko
55be283674 and again :( 2018-03-08 23:26:27 +02:00
Maxim Nazarenko
fbcd2f5a6a tidy. Again 2018-03-08 23:16:31 +02:00
Maxim Nazarenko
fe557eee7d another rewrite
based on @nikomatsakis texthg
2018-03-08 23:15:39 +02:00
Zack M. Davis
1f04597c3c in which parentheses are suggested for should-have-been-tuple-patterns
Programmers used to working in some other languages (such as Python or
Go) might expect to be able to destructure values with comma-separated
identifiers but no parentheses on the left side of an assignment.

Previously, the first name in such code would get parsed as a
single-indentifier pattern—recognizing, for example, the
`let a` in `let a, b = (1, 2);`—whereupon we would have a fatal syntax
error on seeing an unexpected comma rather than the expected semicolon
(all the way nearer to the end of `parse_full_stmt`).

Instead, let's look for that comma when parsing the pattern, and if we
see it, momentarily make-believe that we're parsing the remaining
elements in a tuple pattern, so that we can suggest wrapping it all in
parentheses. We need to do this in a separate wrapper method called on
the top-level pattern (or `|`-patterns) in a `let` statement, `for`
loop, `if`- or `while let` expression, or match arm rather than within
`parse_pat` itself, because `parse_pat` gets called recursively to parse
the sub-patterns within a tuple pattern.

Resolves #48492.
2018-03-08 11:30:34 -08:00
Manish Goregaokar
457975369b
Rollup merge of #48808 - Zoxc:reg-diag, r=michaelwoerister
Move REGISTERED_DIAGNOSTICS to a ParseSess field

r? @michaelwoerister
2018-03-08 11:26:02 -08:00
Manish Goregaokar
d17eb8f68e
Rollup merge of #48789 - GuillaumeGomez:horizontal-scroll, r=QuietMisdreavus
Fix sidebar horizontal scroll

Just like @onur said.

r? @QuietMisdreavus
2018-03-08 11:26:00 -08:00
Manish Goregaokar
c8a73e438a
Rollup merge of #48752 - alexcrichton:fix-target-feature, r=michaelwoerister
rustc: Fix ICE with `#[target_feature]` on module

This commit fixes an ICE in rustc when `#[target_feature]` was applied to items
other than functions due to the way the feature was validated.
2018-03-08 11:25:59 -08:00
Manish Goregaokar
7c581b08fa
Rollup merge of #48738 - Songbird0:parseinterror_potential_cause, r=joshtriplett
Add a potential cause raising `ParseIntError`.

Initially, I wanted to add it directly to the documentation of `str. parse()` method, I finally found that it was more relevant (I hope so?) to directly document the structure in question. I've added a scenario, in which we could all get caught at least once, to make it easier to diagnose the problem when parsing integers.
2018-03-08 11:25:58 -08:00
Manish Goregaokar
6d0d34336d
Rollup merge of #48699 - frewsxcv:frewsxcv-impl-trait, r=nikomatsakis
Replace iterator structures with `impl Trait`.

Two commits:

* Replace iterator structures with `impl Trait`.
* Run rustfmt on `src/librustc_data_structures/graph/mod.rs`.
2018-03-08 11:25:57 -08:00
Manish Goregaokar
d7f44ac52c
Rollup merge of #48682 - spastorino:make_causal_lazy, r=nikomatsakis
[NLL] Make causal tracking lazy

Close #46590

cc @nikomatsakis
2018-03-08 11:25:56 -08:00
Manish Goregaokar
f12d5aa517
Rollup merge of #48292 - topecongiro:from_str-for-path-and-pathbuf, r=alexcrichton
Implement FromStr for PathBuf

Closes #44431.
2018-03-08 11:25:54 -08:00
James Cowgill
dcc438d633 test: ignore mips64 in abi-main-signature-16bit-c-int.rs 2018-03-08 15:29:10 +00:00
James Cowgill
6f55819a1e test: remove useless ignore-mips*el headers 2018-03-08 15:29:10 +00:00
James Cowgill
1376bf8b01 tools/compiletest: add mips64 to ARCH_LIST
Don't bother distinguishing between big end little endian targets.
There are currently no tests which need this.
2018-03-08 15:27:23 +00:00
James Cowgill
0711a7a72f librustc_trans: add fp64 to mips features whitelist
On 32-bit MIPS, enabling MSA requires also enabling the 64-bit FPU.
2018-03-08 13:19:36 +00:00
James Cowgill
fccaf252df librustc_back: enable fpxx on 32-bit hardfloat mips targets
See this page for details about FPXX:
https://dmz-portal.mips.com/wiki/MIPS_O32_ABI_-_FR0_and_FR1_Interlinking

Using FPXX is the most compatible floating point mode available and
allows the generated code to work in both FR0 and FR1 modes of the
processor. Using MSA (MIPS SIMD) requires FR1, so to use any MSA code we
need a compatible floating point mode.

This commit also sets nooddspreg (disabling the use of odd numbered
single precision float registers) as recommended when enabling FPXX.
2018-03-08 13:16:02 +00:00