Commit Graph

94575 Commits

Author SHA1 Message Date
varkor
55dcc20f9a Add tests for uninferred consts during codegen 2019-05-28 21:34:42 +01:00
varkor
4ad5c62550 Resolve consts in OpportunisticTypeResolver 2019-05-28 21:34:42 +01:00
varkor
5a585fe45e Add a test for a function taking a const param array as an argument 2019-05-28 21:34:42 +01:00
varkor
73f7e426be Relate identical parameters in array lengths 2019-05-28 21:34:42 +01:00
David Wood
9c34473ecf
Special-case .llvm in mangler to fix segfaults
This commit special cases `.llvm` in the mangler to print `.llvm$6d$`
instead. This will avoid segfaults when names in a user's Rust code are
`llvm`.
2019-05-28 20:26:51 +01:00
Alex Crichton
7b362bb841 Fixup style 2019-05-28 11:56:05 -07:00
Alex Crichton
59291dc788 rustbuild: Assert extended builds don't dist too much
This extends a test in the previous commit to assert that we don't build
extra rustc compilers even when the "extended" option is set to true.
This involved some internal refactoring to have more judicious usage of
`compiler_for`, added in the previous commit, as well.

Various `dist::*` targets were refactored to be parameterized with a
`Compiler` instead of a `stage`/`host`, and then the various parameters
within the `Extended` target were tweaked to ensure that we don't ever
accidentally ask for a stage2 build compiler when we're distributing
something.
2019-05-28 11:50:05 -07:00
memoryruins
a1d1d7a2c6 Update test/ui/parser for bare_trait_object warnings 2019-05-28 14:45:27 -04:00
memoryruins
54e10558b4 Set bare_trait_objects lint to warn 2019-05-28 14:42:14 -04:00
Alex Crichton
f7cc467b59 rustbuild: Tweak how stage1 compilers are selected
This commit furthers the previous one to ensure that we don't build an
extra stage of the compiler in CI. A test has been added to rustbuild to
ensure that this doesn't regress, and then in debugging this test it was
hunted down that the `dist::Std` target was the one erroneously pulling
in the wrong compiler.

The `dist::Std` step was updated to instead account for the "full
bootstrap" or not flag, ensuring that the correct compiler for compiling
the final standard library was used. This was another use of the
`force_use_stage1` function which was in theory supposed to be pretty
central, so existing users were all evaluated and a new function,
`Builder::compiler_for`, was introduced. All existing users of
`force_use_stage1` have been updated to use `compiler_for`, where the
semantics of `compiler_for` are similar to that of `compiler` except
that it doesn't guarantee the presence of a sysroot for the arguments
passed (as they may be modified).

Perhaps one day we can unify `compiler` and `compiler_for`, but the
usage of `Builder::compiler` is so ubiquitous it would take quite some
time to evaluate whether each one needs the sysroot or not, so it's
hoped that can be done in parallel.
2019-05-28 11:23:53 -07:00
bors
7212685837 Auto merge of #61274 - Centril:rollup-23dekk4, r=Centril
Rollup of 4 pull requests

Successful merges:

 - #61123 (Allow to specify profiling data output directory as -Zself-profile argument.)
 - #61159 (split core::ptr module into multiple files)
 - #61164 (rename Scalar::Bits to Scalar::Raw and bits field to data)
 - #61250 (Remove special case for *ios* builds in run-make-fulldeps/print-target-list Makefile)

Failed merges:

r? @ghost
2019-05-28 17:38:01 +00:00
Bastian Germann
a552e7a85f Revert "Disable solaris target since toolchain no longer builds"
This reverts commit e764f475ca.
Fixes #61174.
2019-05-28 19:30:46 +02:00
Claude-Alban RANÉLY-VERGÉ-DÉPRÉ
6e5e0daff2 Changes the type mir::Mir into mir::Body
The commit should have changed comments as well.
At the time of writting, it passes the tidy and check tool.

Revisions asked by eddyb :
- Renamed of all the occurences of {visit/super}_mir
- Renamed test structures `CachedMir` to `Cached`

Fixing the missing import on `AggregateKind`
2019-05-28 19:17:51 +02:00
Andre Bogus
6bb6c001be implicit Option-returning doctests
This distinguishes `Option` and `Result`-returning doctests with
implicit `main` method, where the former tests must end with
`Some(())`.
2019-05-28 19:10:39 +02:00
Santiago Pastorino
5e4d83e972 Rename Place::local to Place::local_or_deref_local 2019-05-28 18:50:55 +02:00
Santiago Pastorino
bb94fc0069 Use closure to avoid self.describe_place(...).unwrap_or_else(...) repetition 2019-05-28 18:30:27 +02:00
Santiago Pastorino
1b86bd73cd is_union returns ty to avoid computing it twice 2019-05-28 18:29:40 +02:00
Ralf Jung
2bf80cf6ca
Update src/libcore/mem.rs
Co-Authored-By: Mazdak Farrokhzad <twingoow@gmail.com>
2019-05-28 18:20:24 +02:00
Mazdak Farrokhzad
e06547fe8d
Rollup merge of #61250 - rye:print-target-list--rm-ios-case, r=alexcrichton
Remove special case for *ios* builds in run-make-fulldeps/print-target-list Makefile

Previous `TODO` comment in this file mentions [an issue that was closed](https://github.com/rust-lang/rust/issues/29812), and I was able to confirm locally that provided code in that issue no longer produces an ICE. Discussion on that issue seems to indicate this code was no longer needed as of 1.12.0.

I removed the `*ios*` branch from this `case` statement as it may cause confusion, then removed the case statement entirely as it only had a wildcard branch.
2019-05-28 18:15:41 +02:00
Mazdak Farrokhzad
16ef483b79
Rollup merge of #61164 - RalfJung:scalar, r=oli-obk
rename Scalar::Bits to Scalar::Raw and bits field to data

Also use this opportunity to seal some abstraction leaks (other modules constructing `Scalar::Bits` directly instead of using a constructor).

r? @oli-obk
2019-05-28 18:15:39 +02:00
Mazdak Farrokhzad
f91a3abade
Rollup merge of #61159 - RalfJung:ptr, r=alexcrichton
split core::ptr module into multiple files

Cc @Centril
2019-05-28 18:15:38 +02:00
Mazdak Farrokhzad
251ca03ba3
Rollup merge of #61123 - michaelwoerister:self-profile-dir, r=wesleywiser
Allow to specify profiling data output directory as -Zself-profile argument.

The PR also makes `rustc` include the crate-name (if already available) in the output file name.

r? @wesleywiser

At some point we should add some basic tests for `-Zself-profile`.
2019-05-28 18:15:35 +02:00
Ralf Jung
ce7689293b mention that MaybeUninit is a bit like Option 2019-05-28 18:04:37 +02:00
bors
a6ce9b3123 Auto merge of #61246 - oli-obk:clippy, r=oli-obk
Update clippy submodule

fixes #61240
2019-05-28 14:42:27 +00:00
Michael Woerister
64ee32e53a Rename PgoGenerate to something more general. 2019-05-28 16:14:34 +02:00
Michael Woerister
53f1c38734 Allow to specify profiling data output directory as -Zself-profile argument. 2019-05-28 16:14:34 +02:00
Michael Woerister
ebabcf7105 Make test/codegen/pgo-instrumentation.rs work reliably on Windows. 2019-05-28 15:25:52 +02:00
Michael Woerister
9f92668ce1 Emit error when trying to use PGO in conjunction with unwinding on Windows. 2019-05-28 15:25:52 +02:00
bors
7da118581c Auto merge of #61258 - Centril:rollup-l2mof9t, r=Centril
Rollup of 9 pull requests

Successful merges:

 - #61084 (Clarify docs for unreachable! macro)
 - #61220 (Added error message for E0284)
 - #61227 (Use .await syntax instead of await!)
 - #61230 (avoid creating Boxes of uninitalized values in RawVec)
 - #61237 (Updated the Iterator docs with information about overriding methods.)
 - #61241 (Check place iterative)
 - #61242 (Make dest_needs_borrow iterate instead of recurse)
 - #61247 (Make eval_place iterate instead of recurse)
 - #61248 (Use Place::local)

Failed merges:

r? @ghost
2019-05-28 11:50:14 +00:00
Joseph Lyons
b0c3385a63 Alphabetized lines with Atom's Sort Lines package
https://github.com/atom/sort-lines
2019-05-28 06:42:47 -04:00
Joseph Lyons
2a6490c7ff Adding mailmap for myself 2019-05-28 06:40:41 -04:00
Joseph Lyons
7bba62c309 Fixing mailmap for Carol 2019-05-28 06:40:16 -04:00
Oliver Scherer
a1da365eb3 Update clippy submodule 2019-05-28 12:03:21 +02:00
Mazdak Farrokhzad
149c53fc44
Rollup merge of #61248 - spastorino:use-place-local-fn, r=oli-obk
Use Place::local

r? @oli-obk
2019-05-28 11:49:09 +02:00
Mazdak Farrokhzad
1dc9bbbffe
Rollup merge of #61247 - spastorino:eval-place-iterate, r=wesleywiser
Make eval_place iterate instead of recurse

r? @oli-obk
2019-05-28 11:49:08 +02:00
Mazdak Farrokhzad
ffb4ceb27f
Rollup merge of #61242 - spastorino:dest-needs-borrow-iterate, r=oli-obk
Make dest_needs_borrow iterate instead of recurse

r? @oli-obk
2019-05-28 11:49:04 +02:00
Mazdak Farrokhzad
c33b3492e7
Rollup merge of #61241 - spastorino:check-place-iterative, r=oli-obk
Check place iterative

r? @oli-obk
2019-05-28 11:49:02 +02:00
Mazdak Farrokhzad
a449bc3ad0
Rollup merge of #61237 - DevQps:expand-iterator-docs, r=Mark-Simulacrum
Updated the Iterator docs with information about overriding methods.

# Description

Updated the Iterator docs with information about overriding methods.

closes #60223
2019-05-28 11:49:00 +02:00
Mazdak Farrokhzad
460e626a9c
Rollup merge of #61230 - matklad:ub-comment, r=RalfJung
avoid creating Boxes of uninitalized values in RawVec

`RawVec<bool>::into_box` is definitely instant UB, if not all values are initialized.

See https://gankro.github.io/blah/initialize-me-maybe/
2019-05-28 11:48:58 +02:00
Mazdak Farrokhzad
c48835ba19
Rollup merge of #61227 - diwic:patch-2, r=Centril
Use .await syntax instead of await!

Tiny doc fix.
2019-05-28 11:48:56 +02:00
Mazdak Farrokhzad
3b5157917a
Rollup merge of #61220 - imbrem:error_explanations, r=estebank
Added error message for E0284

Work on #61137
2019-05-28 11:48:55 +02:00
Mazdak Farrokhzad
08f7724355
Rollup merge of #61084 - blkerby:unreachable_doc, r=KodrAus
Clarify docs for unreachable! macro

Fixes #60754.
2019-05-28 11:48:53 +02:00
Philipp Hansch
96e3fb255b
librustc_errors: Move annotation collection to own impl
Extracted from work on #59346. This moves the annotation collection to
the `FileWithAnnotatedLines` impl to allow re-use in a separate
EmitterWriter.
2019-05-28 08:34:44 +02:00
bors
837b72c805 Auto merge of #60955 - agnxy:rename-assoc, r=oli-obk,Centril
Rename "Associated*" to "Assoc*"

This change is for #60163.

r? @oli-obk
2019-05-28 05:28:13 +00:00
bors
87ed0b421d Auto merge of #61036 - michaelwoerister:pgo-xlto-test, r=alexcrichton
PGO - Add a smoketest for combining PGO with cross-language LTO.

This PR

- Adds a test making sure that PGO can be combined with cross-language LTO.
- Does a little cleanup on how the `pgo-use` flag is handled internally.
- Makes the compiler error if the `pgo-use` file given to `rustc` doesn't actually exist. LLVM only gives a warning and then just doesn't do PGO. Clang, on the other hand, does give an error in this case.
- Makes the build system also build `compiler-rt` when building LLDB. This way the Clang compiler that we get from building LLDB can perform PGO, which is something that the new test case wants to do. CI compile times shouldn't be affected too much.
2019-05-28 01:56:44 +00:00
Kristofer Rye
e0f017da75
Fix an sh error
Didn't think it was this particular about things, but I also should
have tested locally.

It makes sense, though---`\` followed by LF would eat it, so we'd have
`sysroot done` instead of `sysroot; done` as it is parsed.  This should
pass now.

Signed-off-by: Kristofer Rye <kristofer.rye@gmail.com>
Tested-by: Kristofer Rye <kristofer.rye@gmail.com>
2019-05-27 19:40:11 -05:00
Jad Ghalayini
b3480126d4 Incorporated suggested changes 2019-05-27 19:37:20 -04:00
bors
b71117947f Auto merge of #61078 - pietroalbini:nightly-next, r=Centril
Bump nightly to 1.37.0

r? @Mark-Simulacrum
2019-05-27 23:04:54 +00:00
Kristofer Rye
57cea25151
Remove now-dead case statement in print-target-list Makefile
Since this case statement no longer has any branches, remove it.

Signed-off-by: Kristofer Rye <kristofer.rye@gmail.com>
2019-05-27 16:52:54 -05:00
Kristofer Rye
8de3ddf8d8
Remove *ios* case from print-target-list Makefile
Based on the TODO, this case was added to short-circuit for ios builds,
which is no longer necessary.

The comment in this Makefile mentions rust-lang/rust#29812 as a
dependency, but that issue has been since closed, with a statement that
the ICE of concern was resolved circa 1.12.

Here we remove this case, and just run the same branch for all targets.

Signed-off-by: Kristofer Rye <kristofer.rye@gmail.com>
2019-05-27 16:44:16 -05:00