Commit Graph

75665 Commits

Author SHA1 Message Date
Johannes Löthberg
54b68b6569 Add RELRO run-make tests
Signed-off-by: Johannes Löthberg <johannes@kyriasis.com>
2018-03-06 23:39:09 +01:00
Johannes Löthberg
f0c459ebd2 Make relro-level=off explicitly disable RELRO
Previously relro-level=off would just not tell the linker to use RELRO,
but when you want to disable RELRO you most likely want to entirely
prevent.

Signed-off-by: Johannes Löthberg <johannes@kyriasis.com>
2018-03-06 23:39:00 +01:00
Phlosioneer
1246eef9a9 Fix trailing whitespace 2018-03-06 17:24:58 -05:00
1011X
a0c626227e FusedIterator will be stabilized 2018-03-06 16:33:38 -05:00
Santiago Pastorino
52a47d4c02
Run rustfmt over modified files 2018-03-06 18:03:09 -03:00
Santiago Pastorino
4b12ded889
mir is already a reference 2018-03-06 18:03:09 -03:00
Santiago Pastorino
c85c5a0423
Make causal tracking lazy 2018-03-06 18:03:05 -03:00
Alex Crichton
87f3dda514 Update env_logger to 0.5.4
It looks like this cuts down on the number of dependencies in env_logger and
notably cuts out a difference between a shared dependency of rls/cargo. My goal
here is to ensure that when we compile the RLS/Cargo on CI we only compile Cargo
once, and this is one step towards that!
2018-03-06 12:37:28 -08:00
Guillaume Gomez
b26f108b6a Fix sidebar horizontal scroll 2018-03-06 20:45:57 +01:00
1011X
06bad6a441 Merge branch 'master' of https://github.com/rust-lang/rust 2018-03-06 14:35:12 -05:00
Alex Crichton
04eaefb25f rustc: Update LLVM
This pulls in the rest of LLVM's `release_60` branch (the actual 6.0.0 release)
and also pulls in a cherry-pick to...

Closes #48226
2018-03-06 08:45:12 -08:00
bors
2789b067da Auto merge of #48768 - kennytm:rollup, r=kennytm
Rollup of 14 pull requests

- Successful merges: #48403, #48432, #48546, #48573, #48590, #48657, #48727, #48732, #48753, #48754, #48761, #48474, #48507, #47463
- Failed merges:
2018-03-06 15:01:21 +00:00
Santiago Pastorino
ec761903ec
Remove nll-dump-cause flag and always track causes 2018-03-06 10:34:46 -03:00
kennytm
8e3493d459
Rollup merge of #47463 - bluss:fused-iterator, r=alexcrichton
Stabilize FusedIterator

FusedIterator is a marker trait that promises that the implementing
iterator continues to return `None` from `.next()` once it has returned
`None` once (and/or `.next_back()`, if implemented).

The effects of FusedIterator are already widely available through
`.fuse()`, but with stable `FusedIterator`, stable Rust users can
implement this trait for their iterators when appropriate.

Closes #35602
2018-03-06 20:52:37 +08:00
kennytm
ebc6d6e24f
Rollup merge of #48507 - GuillaumeGomez:cstr-note, r=steveklabnik
Add new warning for CStr::from_ptr

Fixes #48401.
2018-03-06 20:52:36 +08:00
kennytm
ee9425214b
Rollup merge of #48474 - christianpoveda:new_cell_docs, r=steveklabnik
New Cell docs

This fixes https://github.com/rust-lang/rust/issues/44061
2018-03-06 20:52:35 +08:00
kennytm
fa374f91a1
Rollup merge of #48761 - frewsxcv:frewsxcv-rm-python, r=alexcrichton
Remove seemingly unused sugarise-doc-comments Python script.

This Python script converts documentation comments from the
`#[doc = "..."]` attribute to the `///` syntax. It was added six
years ago, presumably to help with the transition when `///` was
implemented and hasn't really been touched since. I don't think there's
much value in keeping it around at this point.
2018-03-06 20:52:34 +08:00
kennytm
b691c521bb
Rollup merge of #48754 - leodasvacas:while-let-all-the-things, r=rkruppe
while let all the things
2018-03-06 20:52:32 +08:00
kennytm
7dc3f17ef9
Rollup merge of #48753 - tbu-:pr_hashmap_isize, r=BurntSushi
Remove a couple of `isize` references from hashmap docs

Also fix a spelling mistake.
2018-03-06 20:52:31 +08:00
kennytm
178b2c4b48
Rollup merge of #48732 - debris:remove_powerpc64, r=alexcrichton
Remove useless powerpc64 entry from ARCH_TABLE

Hope, I understood the scope of the fix correctly. closes #47737
2018-03-06 20:52:30 +08:00
kennytm
57cfbeaf64
Rollup merge of #48727 - leodasvacas:refactor-contrived-match, r=rkruppe
Refactor contrived match.
2018-03-06 20:52:29 +08:00
kennytm
46d629a1d7
Rollup merge of #48657 - sinkuu:opt_str_repeat, r=dtolnay
Optimize str::repeat

Improves the performance of `str::repeat` by bulk copying. Here is the benchmarks of `"abcde".repeat(n)`:

|`n`|old [ns/iter]|new [ns/iter]|diff [%]|
---|---|---|---
|1|27.205|27.421|+0.794|
|2|27.500|27.516|+0.0581|
|3|27.923|27.648|-0.985|
|4|31.206|30.145|-3.40|
|5|35.144|31.861|-9.34|
|7|43.131|34.621|-19.7|
|10|54.945|36.203|-34.1|
|100|428.31|52.895|-87.7|
2018-03-06 20:52:28 +08:00
bors
b977e044a7 Auto merge of #48611 - michaelwoerister:share-generics2, r=alexcrichton
Don't recompute SymbolExportLevel for upstream crates.

The data collected in #48373 suggests that we can avoid generating up to 30% of the LLVM definitions by only instantiating function monomorphizations once with a given crate graph. Some more data, collected with a [proof-of-concept implementation](https://github.com/michaelwoerister/rust/commits/share-generics) of re-using monomorphizations, which is less efficient than the MIR-only RLIB approach, suggests that it's still around 25% LLVM definitions that we can save.

So far, this PR only cleans up handling of symbol export status. Too early to review still.
2018-03-06 11:52:16 +00:00
Ralf Jung
780b544a39 note a FIXME 2018-03-06 11:33:26 +01:00
Ralf Jung
49abd87483 make bounds on higher-kinded lifetimes a hard error in ast_validation
Also move the check for not having type parameters into ast_validation.

I was not sure what to do with compile-fail/issue-23046.rs: The issue looks like
maybe the bounds actually played a role in triggering the ICE, but that seems
unlikely given that the compiler seems to entirely ignore them.  However, I
couldn't find a testcase without the bounds, so I figured the best I could do is
to just remove the bounds and make sure at least that keeps working.
2018-03-06 11:29:48 +01:00
Michael Woerister
f5ab4d4cdd Don't show crate metadata symbol as exported symbol to downstream crates. 2018-03-06 09:58:47 +01:00
Michael Woerister
9f6d554638 Fix export level of plugin and procmacro registrars. 2018-03-06 09:58:47 +01:00
Michael Woerister
8bc005c8bb Don't recompute SymbolExportLevel for upstream crates. 2018-03-06 09:58:47 +01:00
Michael Woerister
aec6c85b0c Compute symbol names more lazily. 2018-03-06 09:47:43 +01:00
Michael Woerister
33d5da1ee4 Clean up handling of symbol export information. 2018-03-06 09:47:43 +01:00
Michael Woerister
e5ee01143b Rename exported_symbol_ids query to something more explicit and document what it is doing. 2018-03-06 09:47:43 +01:00
kennytm
6b8984dfc8
Rollup merge of #48590 - tshepang:more-simple, r=frewsxcv
doc: no need for the reference

Also, we are well within line length limit
2018-03-06 16:25:33 +08:00
kennytm
fe77f5d764
Rollup merge of #48573 - Amanieu:bitreverse2, r=sfackler
Add functions for reversing the bit pattern in an integer

I'm reviving PR #32798 now that the LLVM issues have been resolved.

> This adds the bitreverse intrinsic and adds a reverse_bits function to all integer types.
2018-03-06 16:25:32 +08:00
kennytm
e3451f8cd7
Rollup merge of #48546 - GuillaumeGomez:raw-string-error-note, r=estebank
Raw string error note

Fixes #48395.

I think this note should be helpful enough to solve the issue.
2018-03-06 16:25:31 +08:00
kennytm
813ac2c36b
Rollup merge of #48432 - flip1995:lit_diag, r=oli-obk
Suggest type for overflowing bin/hex-literals

Fixes #48073

For hexadecimal and binary literals, which overflow, it gives an additional note to the warning message, like in this [comment](https://github.com/rust-lang/rust/issues/48073#issuecomment-365370113).

Additionally it will suggest a type (`X < Y`):
- `iX`: if literal fits in `uX` => `uX`, else => `iY`
- `-iX` => `iY`
- `uX` => `uY`

Exceptions: `isize`, `usize`. I don't think you can make a good suggestion here. The programmer has to figure it out on it's own in this case.

r? @oli-obk
2018-03-06 16:25:30 +08:00
kennytm
43de95ca5b
Rollup merge of #48403 - lukaslueg:casted, r=steveklabnik
Fix spelling s/casted/cast/

r? @GuillaumeGomez
2018-03-06 16:25:28 +08:00
bors
6f2100b92c Auto merge of #48509 - Phlosioneer:option-doc-change, r=TimNN
Slight modification to the as_ref example of std::option::Option

A user in a reddit thread was confused by the name of the variable
"num_as_int"; they thought the example was trying to convert the
string "10" as if it were binary 2 by calling str::len(). In reality,
the example is simply demonstrating how to take an immutable reference
to the value of an Option. The confusion comes from the coincidence
that the length of the string "10" is also its binary representation,
and the implication from the variable names that a conversion was
occuring ("num_as_str" to "num_as_int").

This PR changes the example number to 12 instead of 10, and changes
the variable name from "num_as_int" to "num_length" to better
communicate what the example is doing.

The reddit thread:
https://www.reddit.com/r/rust/comments/7zpvev/notyetawesome_rust_what_use_cases_would_you_like/dur39xw/
2018-03-06 06:14:11 +00:00
Phlosioneer
c97c7bfcf3 Add info message for -Wall command
Users coming from other languages (namely C and C++) often expect
to use a -Wall flag. Rustc doesn't support that, and previously it
simply printed that it didn't recognize the "all" lint.

This change makes rustc print out a help message, explaining:
- Why there is no -Wall flag
- How to view all the available warnings
- Point out that the most commonly used warning is -Wunused
- Instead of using a command-line flag, the user should consider
  a !#[warn(unused)] directive in the root of their crate.
2018-03-06 00:01:30 -05:00
Amanieu d'Antras
88aec91017 Add i128 tests for intrinsics 2018-03-06 03:31:56 +00:00
Amanieu d'Antras
24fb4b7669 Add reverse_bits to integer types 2018-03-06 03:31:53 +00:00
Corey Farwell
2ec47e07ee Remove seemingly unused sugarise-doc-comments Python script.
This Python script converts documentation comments from the
`#[doc = "..."]` attribute to the `///` syntax. It was added six
years ago, presumably to help with the transition when `///` was
implemented and hasn't really been touched since. I don't think there's
much value in keeping it around at this point.
2018-03-05 20:27:02 -05:00
varkor
f69a0999e7 Remove IdxSet::elems 2018-03-06 01:14:38 +00:00
varkor
89d12478ac Remove IdxSet::each_bit 2018-03-06 01:14:36 +00:00
varkor
6701d9020f Remove IdxSet::reset_to_empty 2018-03-06 00:58:01 +00:00
bors
1733a61141 Auto merge of #48456 - mark-i-m:whitelist, r=alexcrichton
Whitelist rustc dependencies

As per https://internals.rust-lang.org/t/rustc-dependency-policy/6537/8?u=nikomatsakis

cc @alexcrichton @nikomatsakis
2018-03-06 00:44:21 +00:00
1011X
aa1ded9286 Remove unnecessary imports 2018-03-05 18:13:56 -05:00
Guillaume Gomez
831009f035 Add resource-suffix option for rustdoc 2018-03-05 23:45:27 +01:00
Guillaume Gomez
a628543891 Don't generate '[+]'/'[-]' on 'empty' traits 2018-03-05 23:39:34 +01:00
1011X
a39b62d838 Copy license into libcore/tests/ascii.rs 2018-03-05 17:02:11 -05:00
1011X
1b3d1fc2aa Move tests, re-export items from core::ascii 2018-03-05 16:39:09 -05:00