]> git.lizzy.rs Git - rust.git/log
rust.git
5 years agoMoved some feature gate ui tests to correct location
Alexander Regueiro [Thu, 16 Aug 2018 16:03:49 +0000 (17:03 +0100)]
Moved some feature gate ui tests to correct location

5 years agoAuto merge of #53256 - ollie27:writeln, r=KodrAus
bors [Thu, 16 Aug 2018 13:29:40 +0000 (13:29 +0000)]
Auto merge of #53256 - ollie27:writeln, r=KodrAus

Don't accept non-string literals for the format string in writeln

This is to improve diagnostics.

`println` and `eprintln` were already fixed by #52394.

Fixes #30143

5 years agoAuto merge of #53173 - alexcrichton:win-arm64, r=sfackler
bors [Thu, 16 Aug 2018 11:18:12 +0000 (11:18 +0000)]
Auto merge of #53173 - alexcrichton:win-arm64, r=sfackler

Start adding an `aarch64-pc-windows-msvc` target

This commit adds the necessary definitions for target specs and such as well as
the necessary support in libstd to compile basic `aarch64-pc-windows-msvc`
binaries. The target is not currently built on CI, but it can be built locally
with:

    ./configure --target=aarch64-pc-windows-msvc --set rust.lld
    ./x.py build src/libstd --target aarch64-pc-windows-msvc

Currently this fails to build `libtest` due to a linker bug (seemingly in LLD?)
which hasn't been investigate yet. Otherwise though with libstd you can build a
hello world program (linked with LLD). I've not tried to execute it yet, but it
at least links!

Full support for this target is still a long road ahead, but this is hopefully a
good stepping stone to get started.

Points of note about this target are:

* Currently defaults to `panic=abort` as support is still landing in LLVM for
  SEH on AArch64.
* Currently defaults to LLD as a linker as I was able to get farther with it
  than I was with `link.exe`

5 years agoAuto merge of #53147 - ashtneoi:dont-suggest-ref, r=estebank
bors [Thu, 16 Aug 2018 08:45:32 +0000 (08:45 +0000)]
Auto merge of #53147 - ashtneoi:dont-suggest-ref, r=estebank

For move errors, suggest match ergonomics instead of `ref`

Partially fixes issue #52423. Also makes errors and suggestions more consistent between move-from-place and move-from-value errors.

Limitations:
- Only the first pattern in a match arm can have a "consider removing this borrow operator" suggestion.
- Suggestions don't always compile as-is (see the TODOs in the test for details).

Sorry for the really long test. I wanted to make sure I handled every case I could think of, and it turned out there were a lot of them.

Questions:
- Is there any particular applicability I should set on those suggestions?
- Are the notes about the `Copy` trait excessive?

5 years agoAuto merge of #53295 - estebank:on-unimplemented, r=michaelwoerister
bors [Thu, 16 Aug 2018 06:34:13 +0000 (06:34 +0000)]
Auto merge of #53295 - estebank:on-unimplemented, r=michaelwoerister

Various changes to `rustc_on_unimplemented`

- Add `from_method` and `from_desugaring` to formatting options
- Change wording of errors slightly

5 years agoSplit tests more and bless them again
ashtneoi [Thu, 16 Aug 2018 05:36:19 +0000 (22:36 -0700)]
Split tests more and bless them again

5 years agoMove tests into their own directory
ashtneoi [Thu, 16 Aug 2018 05:35:56 +0000 (22:35 -0700)]
Move tests into their own directory

5 years agoAuto merge of #53293 - petrochenkov:gramattr2, r=alexcrichton
bors [Thu, 16 Aug 2018 04:16:12 +0000 (04:16 +0000)]
Auto merge of #53293 - petrochenkov:gramattr2, r=alexcrichton

syntax: Enforce attribute grammar in the parser

Also fix feature-gating for `unrestricted_attribute_tokens` that was introduced in https://github.com/rust-lang/rust/pull/53270, but was actually broken.

cc https://github.com/rust-lang/rust/pull/50911

5 years agoAuto merge of #53289 - ljedrz:improve_lexer, r=michaelwoerister
bors [Thu, 16 Aug 2018 01:08:13 +0000 (01:08 +0000)]
Auto merge of #53289 - ljedrz:improve_lexer, r=michaelwoerister

A few cleanups and minor improvements for the lexer

- improve readability by adjusting the formatting of some function signatures and adding some newlines
- reorder some functions for easier reading
- remove redundant `'static` in `const`s
- remove some explicit `return`s
- read directly to a `String` in `gather_comments_and_literals`
- change `unwrap_or!` (macro) to `unwrap_or` (function)
- move an `assert!`ion from `try_next_token` (called in a loop) to `try_real_token` after all calls to `try_next_token`
- `#[inline]` some one-liner functions
- assign directly from an `if-else` expression
- refactor a `match` to `map_or`
- add a `token::is_irrelevant` function to detect tokens that are not "`real`"

5 years agoStart adding an `aarch64-pc-windows-msvc` target
Alex Crichton [Mon, 16 Jul 2018 23:38:56 +0000 (16:38 -0700)]
Start adding an `aarch64-pc-windows-msvc` target

This commit adds the necessary definitions for target specs and such as well as
the necessary support in libstd to compile basic `aarch64-pc-windows-msvc`
binaries. The target is not currently built on CI, but it can be built locally
with:

    ./configure --target=aarch64-pc-windows-msvc --set rust.lld
    ./x.py build src/libstd --target aarch64-pc-windows-msvc

Currently this fails to build `libtest` due to a linker bug (seemingly in LLD?)
which hasn't been investigate yet. Otherwise though with libstd you can build a
hello world program (linked with LLD). I've not tried to execute it yet, but it
at least links!

Full support for this target is still a long road ahead, but this is hopefully a
good stepping stone to get started.

Points of note about this target are:

* Currently defaults to `panic=abort` as support is still landing in LLVM for
  SEH on AArch64.
* Currently defaults to LLD as a linker as I was able to get farther with it
  than I was with `link.exe`

5 years agoRe-bless test
ashtneoi [Wed, 15 Aug 2018 22:25:53 +0000 (15:25 -0700)]
Re-bless test

5 years agoAdd files I forgot to commit earlier
ashtneoi [Wed, 15 Aug 2018 02:03:43 +0000 (19:03 -0700)]
Add files I forgot to commit earlier

5 years agoChange a method name and clarify a comment
ashtneoi [Tue, 14 Aug 2018 19:54:31 +0000 (12:54 -0700)]
Change a method name and clarify a comment

5 years agoBless tests
ashtneoi [Tue, 14 Aug 2018 19:38:37 +0000 (12:38 -0700)]
Bless tests

5 years agoTest move-into-Fn/FnMut errors too
ashtneoi [Tue, 14 Aug 2018 18:56:20 +0000 (11:56 -0700)]
Test move-into-Fn/FnMut errors too

5 years agoFix compiletest JSON error message
ashtneoi [Tue, 14 Aug 2018 06:49:21 +0000 (23:49 -0700)]
Fix compiletest JSON error message

5 years agoAllocate fewer Strings at a time
ashtneoi [Tue, 14 Aug 2018 05:01:54 +0000 (22:01 -0700)]
Allocate fewer Strings at a time

5 years agoAdd another FIXME about suggestions
ashtneoi [Tue, 14 Aug 2018 04:49:39 +0000 (21:49 -0700)]
Add another FIXME about suggestions

5 years agoBless UI tests
ashtneoi [Mon, 13 Aug 2018 23:45:40 +0000 (16:45 -0700)]
Bless UI tests

5 years agoRemove incorrect space
ashtneoi [Mon, 13 Aug 2018 23:12:35 +0000 (16:12 -0700)]
Remove incorrect space

5 years agoRemove unnecessary comment
ashtneoi [Mon, 13 Aug 2018 23:06:08 +0000 (16:06 -0700)]
Remove unnecessary comment

Turns out I didn't read the original comment correctly and had some
confusion about how MIR uses temporaries.

5 years agoTest patterns in tuples
ashtneoi [Mon, 13 Aug 2018 22:52:23 +0000 (15:52 -0700)]
Test patterns in tuples

5 years agoCoalesce var-is-not-Copy notes per move
ashtneoi [Mon, 13 Aug 2018 21:51:27 +0000 (14:51 -0700)]
Coalesce var-is-not-Copy notes per move

5 years agoDedup suggestions
ashtneoi [Mon, 13 Aug 2018 10:17:53 +0000 (03:17 -0700)]
Dedup suggestions

5 years agoRemove unnecessary underscore
ashtneoi [Sun, 12 Aug 2018 23:07:19 +0000 (16:07 -0700)]
Remove unnecessary underscore

5 years agoChange TODOs to FIXMEs
ashtneoi [Sun, 12 Aug 2018 21:42:33 +0000 (14:42 -0700)]
Change TODOs to FIXMEs

5 years agoMake move errors more consistent with typeck errors
ashtneoi [Sun, 12 Aug 2018 20:55:34 +0000 (13:55 -0700)]
Make move errors more consistent with typeck errors

5 years agoMake move error suggestions clearer
ashtneoi [Sun, 12 Aug 2018 20:27:14 +0000 (13:27 -0700)]
Make move error suggestions clearer

5 years agoAdd backquotes around variable name
ashtneoi [Sun, 12 Aug 2018 20:14:03 +0000 (13:14 -0700)]
Add backquotes around variable name

5 years agoFix move errors for index expressions
ashtneoi [Wed, 8 Aug 2018 06:44:35 +0000 (23:44 -0700)]
Fix move errors for index expressions

The suggestion logic gave up too early, which kept it from suggesting
borrowing index expressions.

5 years agoTest move errors for index expressions
ashtneoi [Wed, 8 Aug 2018 06:34:01 +0000 (23:34 -0700)]
Test move errors for index expressions

5 years agoAccept whitespace between `&` and `mut`
ashtneoi [Tue, 7 Aug 2018 23:16:37 +0000 (16:16 -0700)]
Accept whitespace between `&` and `mut`

5 years agoAdd more TODOs
ashtneoi [Tue, 7 Aug 2018 08:27:04 +0000 (01:27 -0700)]
Add more TODOs

5 years agoSuggest match ergonomics, not `ref`/`ref mut`
ashtneoi [Tue, 7 Aug 2018 08:02:39 +0000 (01:02 -0700)]
Suggest match ergonomics, not `ref`/`ref mut`

5 years agoFix some random stuff
ashtneoi [Thu, 2 Aug 2018 06:53:28 +0000 (23:53 -0700)]
Fix some random stuff

5 years agoAuto merge of #53400 - GuillaumeGomez:rollup, r=GuillaumeGomez
bors [Wed, 15 Aug 2018 19:39:54 +0000 (19:39 +0000)]
Auto merge of #53400 - GuillaumeGomez:rollup, r=GuillaumeGomez

Rollup of 8 pull requests

Successful merges:

 - #52453 (improve diagnostics for tests with custom return values)
 - #53271 (use ? to simplify `TransitiveRelation.maybe_map`)
 - #53279 (Extend documentation of `rustc_on_unimplemented`)
 - #53342 (fix error for unsized packed struct field)
 - #53344 (Add doc examples for std::alloc::{alloc,alloc_zeroed}.)
 - #53368 (Ignore test that fails on stage1)
 - #53388 (Fix links' color)
 - #53396 (Fix since of Iterator::flatten to be a proper semver)

Failed merges:

r? @ghost

5 years agoRollup merge of #53396 - matklad:fix-flatten-since, r=varkor
Guillaume Gomez [Wed, 15 Aug 2018 17:20:29 +0000 (19:20 +0200)]
Rollup merge of #53396 - matklad:fix-flatten-since, r=varkor

Fix since of Iterator::flatten to be a proper semver

r? @kennytm

5 years agoRollup merge of #53388 - GuillaumeGomez:fix-links-color, r=frewsxcv
Guillaume Gomez [Wed, 15 Aug 2018 17:20:28 +0000 (19:20 +0200)]
Rollup merge of #53388 - GuillaumeGomez:fix-links-color, r=frewsxcv

Fix links' color

Fixes #53375.

Problem was coming from the minifier.

r? @frewsxcv

5 years agoRollup merge of #53368 - matthewjasper:only-stage-2, r=varkor
Guillaume Gomez [Wed, 15 Aug 2018 17:20:26 +0000 (19:20 +0200)]
Rollup merge of #53368 - matthewjasper:only-stage-2, r=varkor

Ignore test that fails on stage1

The error code is not emitted on stage1, so ignore this test there.

5 years agoRollup merge of #53344 - frewsxcv:frewsxcv-doc-ptr, r=ollie27
Guillaume Gomez [Wed, 15 Aug 2018 17:20:25 +0000 (19:20 +0200)]
Rollup merge of #53344 - frewsxcv:frewsxcv-doc-ptr, r=ollie27

Add doc examples for std::alloc::{alloc,alloc_zeroed}.

None

5 years agoRollup merge of #53342 - RalfJung:unsized-packed, r=cramertj
Guillaume Gomez [Wed, 15 Aug 2018 17:20:23 +0000 (19:20 +0200)]
Rollup merge of #53342 - RalfJung:unsized-packed, r=cramertj

fix error for unsized packed struct field

It was really confusing to be told "only the last field of a struct may have a dynamically sized type" when only the last field *was* unsized.

5 years agoRollup merge of #53279 - estebank:on-unimplemented-doc, r=GuillaumeGomez
Guillaume Gomez [Wed, 15 Aug 2018 17:20:22 +0000 (19:20 +0200)]
Rollup merge of #53279 - estebank:on-unimplemented-doc, r=GuillaumeGomez

Extend documentation of `rustc_on_unimplemented`

5 years agoRollup merge of #53271 - llogiq:simplify-maybe-map, r=joshtriplett
Guillaume Gomez [Wed, 15 Aug 2018 17:20:21 +0000 (19:20 +0200)]
Rollup merge of #53271 - llogiq:simplify-maybe-map, r=joshtriplett

use ? to simplify `TransitiveRelation.maybe_map`

I think this looks much clearer than the original.

5 years agoRollup merge of #52453 - srijs:fix-52436, r=TimNN
Guillaume Gomez [Wed, 15 Aug 2018 17:20:19 +0000 (19:20 +0200)]
Rollup merge of #52453 - srijs:fix-52436, r=TimNN

improve diagnostics for tests with custom return values

This is an attempt at getting the ball rolling to improve the diagnostics for test functions that return custom `impl Termination` values (see #52436).

An alternative could be to use `eprintln!`, but including this in the panic message felt nicely consistent with how failing test assertions would be reported.

Let me know what you think!

5 years agoAuto merge of #53164 - davidtwco:issue-52663-span-decl-captured-variables, r=nikomatsakis
bors [Wed, 15 Aug 2018 17:03:39 +0000 (17:03 +0000)]
Auto merge of #53164 - davidtwco:issue-52663-span-decl-captured-variables, r=nikomatsakis

Provide span for declaration of captured variables

Part of #52663.

r? @nikomatsakis

5 years agoFix since of Iterator::flatten to be a proper semver
Aleksey Kladov [Wed, 15 Aug 2018 16:28:42 +0000 (19:28 +0300)]
Fix since of Iterator::flatten to be a proper semver

5 years agoAuto merge of #53237 - overdrivenpotato:wasm-export-table, r=alexcrichton
bors [Wed, 15 Aug 2018 14:40:46 +0000 (14:40 +0000)]
Auto merge of #53237 - overdrivenpotato:wasm-export-table, r=alexcrichton

Export WASM table by default

This allows loading a rust-generated `.wasm` binary in a host and using the exported table much like the `memory` export.

5 years agoFix links' color
Guillaume Gomez [Wed, 15 Aug 2018 13:07:07 +0000 (15:07 +0200)]
Fix links' color

5 years agoAuto merge of #53133 - Zoxc:gen-int, r=eddyb
bors [Wed, 15 Aug 2018 12:02:00 +0000 (12:02 +0000)]
Auto merge of #53133 - Zoxc:gen-int, r=eddyb

Record adjustments and original type for expressions in the generator interior

Fixes https://github.com/rust-lang/rust/issues/50878 and https://github.com/rust-lang/rust/issues/52398.

r? @eddyb

5 years agoAuto merge of #53367 - ehuss:update-cargo, r=alexcrichton
bors [Wed, 15 Aug 2018 09:08:35 +0000 (09:08 +0000)]
Auto merge of #53367 - ehuss:update-cargo, r=alexcrichton

Update cargo

- Update transitioning url (rust-lang/cargo#5889)
- Resolve some clippy lint warnings (rust-lang/cargo#5884)
- Don't kill child processes on normal exit on Windows (rust-lang/cargo#5887)
- fix a bunch of clippy warnings (rust-lang/cargo#5876)
- Add support for rustc's --error-format short (rust-lang/cargo#5879)
- Support JSON with rustdoc. (rust-lang/cargo#5878)
- Fix rustfmt instructions in CONTRIBUTING.md (rust-lang/cargo#5880)
- Allow `cargo run` in workspaces. (rust-lang/cargo#5877)
- Change target filters in workspaces. (rust-lang/cargo#5873)
- Improve verbose console and log for finding git repo in package check (rust-lang/cargo#5858)
- Meta rename (rust-lang/cargo#5871)
- fetch: skip target tests when cross_compile is disabled (rust-lang/cargo#5870)
- Fully capture rustc and rustdoc output when -Zcompile-progress is passed (rust-lang/cargo#5862)
- Fix test --example docs. (rust-lang/cargo#5867)
- Add a feature to build a vendored OpenSSL (rust-lang/cargo#5865)

5 years agofix error for unsized packed struct field
Ralf Jung [Tue, 14 Aug 2018 10:50:01 +0000 (12:50 +0200)]
fix error for unsized packed struct field

5 years agoAuto merge of #53212 - sunjay:nll-raw-cast, r=nikomatsakis
bors [Wed, 15 Aug 2018 06:54:18 +0000 (06:54 +0000)]
Auto merge of #53212 - sunjay:nll-raw-cast, r=nikomatsakis

NLL - Prevent where clauses from extending the lifetime of bindings

Fixes https://github.com/rust-lang/rust/issues/53123

r? @nikomatsakis

5 years agoUpdate cargo
Eric Huss [Tue, 14 Aug 2018 21:27:26 +0000 (14:27 -0700)]
Update cargo

5 years agoAuto merge of #52716 - tromey:rustup-lldb, r=alexcrichton
bors [Wed, 15 Aug 2018 02:52:08 +0000 (02:52 +0000)]
Auto merge of #52716 - tromey:rustup-lldb, r=alexcrichton

Add lldb to the build

This optionally adds lldb (and clang, which it needs) to the build.

Because rust uses LLVM 7, and because clang 7 is not yet released, a
recent git master version of clang is used.

The lldb that is used includes the Rust plugin.

lldb is only built when asked for, or when doing a nightly build on
macOS.  Only macOS is done for now due to difficulties with the Python
dependency.

5 years agoAdd doc examples for std::alloc::{alloc,alloc_zeroed}.
Corey Farwell [Tue, 14 Aug 2018 12:37:12 +0000 (08:37 -0400)]
Add doc examples for std::alloc::{alloc,alloc_zeroed}.

5 years agoAdd lldb to the build
Tom Tromey [Tue, 3 Jul 2018 18:24:24 +0000 (12:24 -0600)]
Add lldb to the build

This optionally adds lldb (and clang, which it needs) to the build.

Because rust uses LLVM 7, and because clang 7 is not yet released, a
recent git master version of clang is used.

The lldb that is used includes the Rust plugin.

lldb is only built when asked for, or when doing a nightly build on
macOS.  Only macOS is done for now due to difficulties with the Python
dependency.

5 years agoAuto merge of #52928 - Mark-Simulacrum:borrowck-cleanup, r=cramertj
bors [Wed, 15 Aug 2018 00:37:52 +0000 (00:37 +0000)]
Auto merge of #52928 - Mark-Simulacrum:borrowck-cleanup, r=cramertj

(old) borrowck cleanup

Primarily moves dataflow code based on CFG to borrowck; this is mostly so we don't forget to delete it once it becomes unused after we fully move to MIR borrowck.

5 years agoAuto merge of #52936 - felixrabe:patch-1, r=alexcrichton
bors [Tue, 14 Aug 2018 22:22:18 +0000 (22:22 +0000)]
Auto merge of #52936 - felixrabe:patch-1, r=alexcrichton

Document #39364 – Panic in mpsc::Receiver::recv_timeout

I can still reproduce #39364 with the example code at https://github.com/rust-lang/rust/issues/39364#issuecomment-320637702.

I'm opening this PR in an attempt to document this bug as a known issue in [libstd/sync/mpsc/mod.rs](https://github.com/rust-lang/rust/blob/master/src/libstd/sync/mpsc/mod.rs).

Inputs very much welcome. ([Nightly docs for `recv_timeout`.](https://doc.rust-lang.org/nightly/std/sync/mpsc/struct.Receiver.html?search=#method.recv_timeout))

5 years agoIgnore test that fails on stage1
Matthew Jasper [Tue, 14 Aug 2018 21:42:16 +0000 (22:42 +0100)]
Ignore test that fails on stage1

5 years agosyntax: Enforce attribute grammar in the parser
Vadim Petrochenkov [Sun, 12 Aug 2018 17:15:59 +0000 (20:15 +0300)]
syntax: Enforce attribute grammar in the parser

5 years agoAuto merge of #53361 - Manishearth:clippyup, r=nrc
bors [Tue, 14 Aug 2018 19:38:45 +0000 (19:38 +0000)]
Auto merge of #53361 - Manishearth:clippyup, r=nrc

Update clippy

r? @kennytm @nrc

5 years agoUpdate clippy
Manish Goregaokar [Tue, 14 Aug 2018 18:29:00 +0000 (11:29 -0700)]
Update clippy

5 years agoAuto merge of #53354 - kennytm:rollup, r=kennytm
bors [Tue, 14 Aug 2018 17:24:18 +0000 (17:24 +0000)]
Auto merge of #53354 - kennytm:rollup, r=kennytm

Rollup of 11 pull requests

Successful merges:

 - #53112 (pretty print BTreeSet)
 - #53208 (Don't panic on std::env::vars() when env is null.)
 - #53226 (driver: set the syntax edition in phase 1)
 - #53229 (Make sure rlimit is only ever increased)
 - #53233 (targets: aarch64: Add bare-metal aarch64 target)
 - #53239 (rustc_codegen_llvm: Restore the closure env alloca hack for LLVM 5.)
 - #53246 (A few cleanups)
 - #53257 (Idiomatic improvements to IP method)
 - #53274 (Remove statics field from CodegenCx)
 - #53290 (Make LLVM emit assembly comments with -Z asm-comments)
 - #53317 (Mark prior failure to avoid ICE)

5 years agoImproved how upvars are detected when presenting errors using prefixes.
David Wood [Tue, 7 Aug 2018 17:50:19 +0000 (19:50 +0200)]
Improved how upvars are detected when presenting errors using prefixes.

5 years agoRollup merge of #53317 - estebank:abolish-ice, r=oli-obk
kennytm [Tue, 14 Aug 2018 15:59:17 +0000 (23:59 +0800)]
Rollup merge of #53317 - estebank:abolish-ice, r=oli-obk

Mark prior failure to avoid ICE

Fix #53251

5 years agoRollup merge of #53290 - whitequark:fix-35741, r=nagisa
kennytm [Tue, 14 Aug 2018 15:59:16 +0000 (23:59 +0800)]
Rollup merge of #53290 - whitequark:fix-35741, r=nagisa

Make LLVM emit assembly comments with -Z asm-comments

Fixes #35741, and makes `-Z asm-comments` actually do something useful.

Before:
```
.section .text.main,"ax",@progbits
.globl main
.p2align 4, 0x90
.type main,@function
main:
.cfi_startproc
pushq %rax
.cfi_def_cfa_offset 16
movslq %edi, %rax
leaq _ZN1t4main17he95a7d4f1843730eE(%rip), %rdi
movq %rsi, (%rsp)
movq %rax, %rsi
movq (%rsp), %rdx
callq _ZN3std2rt10lang_start17h3121da83b2bc3697E
movl %eax, %ecx
movl %ecx, %eax
popq %rcx
.cfi_def_cfa_offset 8
retq
.Lfunc_end8:
.size main, .Lfunc_end8-main
.cfi_endproc
```

After:
```
.section .text.main,"ax",@progbits
.globl main                    # -- Begin function main
.p2align 4, 0x90
.type main,@function
main:                                   # @main
.cfi_startproc
# %bb.0:
pushq %rax
.cfi_def_cfa_offset 16
movslq %edi, %rax
leaq _ZN1t4main17he95a7d4f1843730eE(%rip), %rdi
movq %rsi, (%rsp)            # 8-byte Spill
movq %rax, %rsi
movq (%rsp), %rdx            # 8-byte Reload
callq _ZN3std2rt10lang_start17h3121da83b2bc3697E
movl %eax, %ecx
movl %ecx, %eax
popq %rcx
.cfi_def_cfa_offset 8
retq
.Lfunc_end8:
.size main, .Lfunc_end8-main
.cfi_endproc
                                        # -- End function
```

5 years agoRollup merge of #53274 - bjorn3:remove_statics_field, r=nagisa
kennytm [Tue, 14 Aug 2018 15:59:15 +0000 (23:59 +0800)]
Rollup merge of #53274 - bjorn3:remove_statics_field, r=nagisa

Remove statics field from CodegenCx

It doesnt seem to be used anywhere.

5 years agoRollup merge of #53257 - faern:ip-method-idiomatic-improvement, r=TimNN
kennytm [Tue, 14 Aug 2018 15:59:13 +0000 (23:59 +0800)]
Rollup merge of #53257 - faern:ip-method-idiomatic-improvement, r=TimNN

Idiomatic improvements to IP method

Since match ergonomics and slice patterns are stable this might be more idiomatic modern Rust implementations of these methods? Or well, slice patterns with `..` are not stabilized yet, so maybe we want to specify all fields but with `_`?

5 years agoRollup merge of #53246 - ljedrz:cleanup_various, r=kennytm
kennytm [Tue, 14 Aug 2018 15:59:12 +0000 (23:59 +0800)]
Rollup merge of #53246 - ljedrz:cleanup_various, r=kennytm

A few cleanups

- change `skip(1).next()` to `nth(1)`
- collapse some `if-else` expressions
- remove a few explicit `return`s
- remove an unnecessary field name
- dereference once instead of matching on multiple references
- prefer `iter().enumerate()` to indexing with `for`
- remove some unnecessary lifetime annotations
- use `writeln!()` instead of `write!()`+`\n`
- remove redundant parentheses
- shorten some enum variant names
- a few other cleanups suggested by `clippy`

5 years agoRollup merge of #53239 - cuviper:llvm5-closure-alloca, r=eddyb
kennytm [Tue, 14 Aug 2018 15:59:11 +0000 (23:59 +0800)]
Rollup merge of #53239 - cuviper:llvm5-closure-alloca, r=eddyb

rustc_codegen_llvm: Restore the closure env alloca hack for LLVM 5.

This hack was removed in #50949, but without it I found that building
`std` with full debuginfo would print many LLVM `DW_OP_LLVM_fragment`
errors, then die `LLVM ERROR: Failed to strip malformed debug info`.

It doesn't seem to be a problem for LLVM 6, so we can re-enable the hack
just for older LLVM.

This reverts commit da579ef75e4a8ca11fb98b24a0a3ea0c7ccffeeb.
Fixes #53204.
r? @eddyb

5 years agoRollup merge of #53233 - andre-richter:master, r=alexcrichton
kennytm [Tue, 14 Aug 2018 15:59:09 +0000 (23:59 +0800)]
Rollup merge of #53233 - andre-richter:master, r=alexcrichton

targets: aarch64: Add bare-metal aarch64 target

A generic AArch64 target that can be used for writing bare-metal code
for 64-bit ARM architectures.

5 years agoRollup merge of #53229 - varkor:rlimits_min, r=nikomatsakis
kennytm [Tue, 14 Aug 2018 15:59:08 +0000 (23:59 +0800)]
Rollup merge of #53229 - varkor:rlimits_min, r=nikomatsakis

Make sure rlimit is only ever increased

`libc::setrlimit` will fail if we try to set the rlimit to a value lower than it is currently, so make sure we're never trying to do this. Fixes #52801.

5 years agoRollup merge of #53226 - QuietMisdreavus:editions-for-all, r=estebank
kennytm [Tue, 14 Aug 2018 15:59:07 +0000 (23:59 +0800)]
Rollup merge of #53226 - QuietMisdreavus:editions-for-all, r=estebank

driver: set the syntax edition in phase 1

Fixes https://github.com/rust-lang/rust/issues/53203

It seems the way libsyntax handles the desired edition is to use a global, set via `syntax_pos::hygiene::set_default_edition`. Right now, this is set in the driver in `run_compiler`, which is the entry point for running the compiler all the way through to emitting files. Since rustdoc doesn't use this function, it wasn't properly setting this global. (When initially setting up editions in rustdoc, i'd assumed that setting `sessopts.edition` would have done this... `>_>`) This was "fixed" for doctests in https://github.com/rust-lang/rust/pull/52385, but rather than patching in a call to `set_default_edition` in all the places rustdoc sets up the compiler, i've instead moved the call in the driver to be farther in the process. This means that any use of `phase_1_parse_input` with the right session options will have the edition properly set without having to also remember to set libsyntax up separately.

r? @rust-lang/compiler

5 years agoRollup merge of #53208 - BurntPizza:protect-the-environment, r=alexcrichton
kennytm [Tue, 14 Aug 2018 15:59:05 +0000 (23:59 +0800)]
Rollup merge of #53208 - BurntPizza:protect-the-environment, r=alexcrichton

Don't panic on std::env::vars() when env is null.

Fixes #53200.

Reviewer(s):
* Do I need to do any `#[cfg()]` here?
* Is this use of libc ok for a dev-dependency?

5 years agoRollup merge of #53112 - fukatani:pretty-print-btreeset, r=michaelwoerister
kennytm [Tue, 14 Aug 2018 15:59:04 +0000 (23:59 +0800)]
Rollup merge of #53112 - fukatani:pretty-print-btreeset, r=michaelwoerister

pretty print BTreeSet

I want pretty printing for BTreeSet.
```rust
use std::collections::*;

fn main() {
  let mut s = BTreeSet::new();
  s.insert(5);
  s.insert(3);
  s.insert(7);
  s.remove(&3);
  println!("{:?}", s);
}
```

```
(gdb) b 9
(gdb) p s
$1 = BTreeSet<i32> with 2 elements = {[0] = 5, [1] = 7}
```
This is analogy of pretty printing for C++ std::set.

5 years agoLabel definition of captured variables in errors.
David Wood [Tue, 7 Aug 2018 15:06:21 +0000 (17:06 +0200)]
Label definition of captured variables in errors.

5 years agoAdded some debug logging.
David Wood [Tue, 7 Aug 2018 13:37:32 +0000 (15:37 +0200)]
Added some debug logging.

5 years agoAuto merge of #53085 - ljedrz:cleanup_syntax_structures, r=ljedrz
bors [Tue, 14 Aug 2018 15:09:37 +0000 (15:09 +0000)]
Auto merge of #53085 - ljedrz:cleanup_syntax_structures, r=ljedrz

Move SmallVector and ThinVec out of libsyntax

- move `libsyntax::util::SmallVector` tests to `librustc_data_structures::small_vec`
- remove `libsyntax::util::SmallVector`
- move `libsyntax::util::thin_vec` to `librustc_data_structures::thin_vec`

Other than moving these data structures where they belong it allows modules using `SmallVector<T>` (`SmallVec<[T; 1]>`) to specify their own length (e.g. 8 or 32) independently from `libsyntax`.

5 years agoAuto merge of #53196 - davidtwco:compile-fail-to-ui, r=nikomatsakis
bors [Tue, 14 Aug 2018 12:55:23 +0000 (12:55 +0000)]
Auto merge of #53196 - davidtwco:compile-fail-to-ui, r=nikomatsakis

Move `compile-fail` tests to `ui`

Fixes #46841, #52531, #44844.

r? @nikomatsakis

5 years agoAuto merge of #53335 - eddyb:issue-53333, r=petrochenkov
bors [Tue, 14 Aug 2018 10:41:55 +0000 (10:41 +0000)]
Auto merge of #53335 - eddyb:issue-53333, r=petrochenkov

rustc_resolve: crates only exist in the type namespace.

Fixes #53333 by resolving `::crate_name` in `TypeNS` alone, which was overlooked in #52923 and didn't break tests, since having `use crate_name;` and a `crate_name` value in the same scope is rare.

5 years agoMoved problematic tests on x86_64-gnu-nopt back to compile-fail.
David Wood [Tue, 14 Aug 2018 09:11:58 +0000 (11:11 +0200)]
Moved problematic tests on x86_64-gnu-nopt back to compile-fail.

5 years agoMoved problematic tests on x86_64-pc-windows-gnu back to compile-fail.
David Wood [Mon, 13 Aug 2018 22:38:05 +0000 (00:38 +0200)]
Moved problematic tests on x86_64-pc-windows-gnu back to compile-fail.

5 years agoMoved problematic tests on armhf-gnu back to compile-fail.
David Wood [Mon, 13 Aug 2018 17:23:51 +0000 (19:23 +0200)]
Moved problematic tests on armhf-gnu back to compile-fail.

5 years agoMoved problematic tests on wasm32-unknown back to compile-fail.
David Wood [Mon, 13 Aug 2018 15:12:20 +0000 (17:12 +0200)]
Moved problematic tests on wasm32-unknown back to compile-fail.

5 years agoMoved problematic tests on dist-x86_64-musl back to compile-fail.
David Wood [Mon, 13 Aug 2018 09:56:01 +0000 (11:56 +0200)]
Moved problematic tests on dist-x86_64-musl back to compile-fail.

5 years agoMoved problematic tests on i586-unknown-linux-gnu back to compile-fail.
David Wood [Fri, 10 Aug 2018 23:51:17 +0000 (01:51 +0200)]
Moved problematic tests on i586-unknown-linux-gnu back to compile-fail.

5 years agoNormalize tests for i686 Windows.
David Wood [Fri, 10 Aug 2018 21:46:59 +0000 (22:46 +0100)]
Normalize tests for i686 Windows.

5 years agoFixed 'no such file or directory' mismatch between Windows and Linux.
David Wood [Fri, 10 Aug 2018 10:27:46 +0000 (12:27 +0200)]
Fixed 'no such file or directory' mismatch between Windows and Linux.

5 years agoMoved problematic tests on Windows back to compile-fail.
David Wood [Fri, 10 Aug 2018 10:17:49 +0000 (12:17 +0200)]
Moved problematic tests on Windows back to compile-fail.

5 years agoMoved tests back to compile-test if they don't work on ui.
David Wood [Thu, 9 Aug 2018 16:11:35 +0000 (18:11 +0200)]
Moved tests back to compile-test if they don't work on ui.

5 years agoFix no-link-with-link-args by introducing another normalization.
David Wood [Thu, 9 Aug 2018 15:17:20 +0000 (17:17 +0200)]
Fix no-link-with-link-args by introducing another normalization.

5 years agoNormalize crateresolve1.rs to support different candidate ordering between executions.
David Wood [Thu, 9 Aug 2018 14:19:11 +0000 (16:19 +0200)]
Normalize crateresolve1.rs to support different candidate ordering between executions.

5 years agoSuggested trait implementation ordering is now deterministic.
David Wood [Thu, 9 Aug 2018 12:37:27 +0000 (14:37 +0200)]
Suggested trait implementation ordering is now deterministic.

5 years agoFixed truncated path not being normalized.
David Wood [Thu, 9 Aug 2018 10:48:31 +0000 (12:48 +0200)]
Fixed truncated path not being normalized.

5 years agoNormalize test build directory and root build directory.
David Wood [Thu, 9 Aug 2018 08:58:16 +0000 (10:58 +0200)]
Normalize test build directory and root build directory.

5 years agoTidy no longer fails when there are no files or subdirectories in a test directory.
David Wood [Wed, 8 Aug 2018 19:37:58 +0000 (21:37 +0200)]
Tidy no longer fails when there are no files or subdirectories in a test directory.

5 years agoMerged migrated compile-fail tests and ui tests. Fixes #46841.
David Wood [Wed, 8 Aug 2018 12:50:16 +0000 (14:50 +0200)]
Merged migrated compile-fail tests and ui tests. Fixes #46841.

5 years agoUpdated new UI tests to pass with NLL compare-mode
David Wood [Wed, 8 Aug 2018 16:01:04 +0000 (18:01 +0200)]
Updated new UI tests to pass with NLL compare-mode

These tests need a review to ensure that those marked as
ignore-compare-mode-nll should be ignored and that this isn't a bug in NLL.

5 years agoMoved compile-fail tests to ui tests.
David Wood [Wed, 8 Aug 2018 12:28:26 +0000 (14:28 +0200)]
Moved compile-fail tests to ui tests.

5 years agoCheck error-patterns on UI tests. Fixes #52531.
David Wood [Wed, 8 Aug 2018 11:31:42 +0000 (13:31 +0200)]
Check error-patterns on UI tests. Fixes #52531.

Previously, even if no expected errors were supplied, if a test execution failed
then supplied error patterns would not be checked. This commit modifies the
conditional that determines whether error patterns or expected errors are checked
to remedy this.

Further, this commit modifies the error pattern checking logic so that each pattern
is checked against all lines of the string. This is required for UI tests as the
stderr is in JSON format - all on one line - so in the previous implementation when the
first pattern was found on the first line (which was actually the entire error) then
no other patterns would be found on subsequent lines (as there weren't any).