summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Fix a mistake in release notes for 1.21.0petrochenkov-patch-2Vadim Petrochenkov2017-10-101-6/+6
| | | Also reorder changes to put the important one first.
* Auto merge of #45141 - kennytm:rollup, r=kennytmbors2017-10-1012-226/+438
|\ | | | | | | | | | | | | Rollup of 9 pull requests - Successful merges: #44962, #45051, #45091, #45106, #45117, #45118, #45120, #45125, #45136 - Failed merges:
| * Rollup merge of #45136 - johnthagen:patch-1, r=QuietMisdreavuskennytm2017-10-101-1/+1
| |\ | | | | | | | | | | | | | | | | | | | | | Clarify RAM usage during build in README The sentence wasn't immediately clear if it meant RAM or disk space before reading the next sentence. I think this helps clarify it.
| | * Clarify RAM usage during buildjohnthagen2017-10-091-1/+1
| | |
| * | Rollup merge of #45125 - bleibig:grammar-update, r=alexcrichtonkennytm2017-10-103-186/+271
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Update grammar to parse current rust syntax Mainly addressing #32723. This PR updates the bison grammar so that it can parse the current rust syntax, except for feature-gated syntax additions. It has been tested with all the tests in run-pass. The grammar in this repo doesn't have build logic anymore, but you can test it out in https://github.com/bleibig/rust-grammar, which has all of what's in this PR. If you are interested in having build logic and grammar tests again, I can look into implementing that as well. I'm aware that things are somewhat undecided as to what an official rust grammar should be from the discussion in #30942. With this PR we can go back to having an up-to-date flex/bison based grammar, but the rustypop grammar looks interesting as well.
| | * | Update grammar to parse current rust syntaxBrian Leibig2017-10-083-186/+271
| | | |
| * | | Rollup merge of #45120 - johnthagen:none-identity-test, r=sfacklerkennytm2017-10-101-1/+1
| |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use identity operator `is` when comparing to None This is very minor, but idiomatic Python code uses `is` for comparisons to `None`. This is because semantically we want to compare to the "identity" of `None`, not its value. See [PEP8 for details](https://www.python.org/dev/peps/pep-0008/#programming-recommendations).
| | * | | Use identity operator `is` when comparing to Nonejohnthagen2017-10-081-1/+1
| | | | |
| * | | | Rollup merge of #45118 - johnthagen:fix-section-key-name, r=alexcrichtonkennytm2017-10-101-1/+1
| |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix variable name reference As best I can tell, this was a typo due to how similar it looks to the function above it. PyCharm found this as a unbound local variable.
| | * | | | Fix variable name referencejohnthagen2017-10-081-1/+1
| | |/ / /
| * | | | Rollup merge of #45117 - johnthagen:fix-str-raise, r=alexcrichtonkennytm2017-10-101-1/+1
| |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix raising a bare str as an exception in configure.py Raising a bare `str` has been [deprecated since Python 2.5](https://docs.python.org/2/whatsnew/2.5.html#pep-352-exceptions-as-new-style-classes). On Python 2.7 it produces the following error: ``` TypeError: exceptions must be old-style classes or derived from BaseException, not str ``` For maximum compatibility with Python 2.7 and 3.x, we wrap the error message in `RuntimeError` which derives from `Exception`.
| | * | | | Fix trying to raise a bare str as an exception. This has been deprecated ↵johnthagen2017-10-081-1/+1
| | |/ / / | | | | | | | | | | | | | | | since Python 2.5
| * | | | Rollup merge of #45106 - Pirh:process_stdio_docs, r=dtolnaykennytm2017-10-101-1/+108
| |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add links and examples for std::process::Stdio As per #29370
| | * | | | Remove ./ prefix from relative URLsPirh2017-10-081-10/+10
| | | | | | | | | | | | | | | | | | | | | | | | Also remove trailing whitespace to pass tidy checks.
| | * | | | Add links and examples for std::process::StdioPirh2017-10-081-1/+108
| | | | | | | | | | | | | | | | | | | | | | | | As per #29370
| * | | | | Rollup merge of #45091 - kennytm:fix-45086, r=michaelwoeristerkennytm2017-10-101-1/+1
| |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | debuginfo-test: Fix #45086. Fixes #45086, where all debuginfo-lldb fails when using LLDB from Xcode 9.
| | * | | | | debuginfo-test: Fix #45086.kennytm2017-10-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | LLDB's output may be None instead of '', and that will cause type mismatch when normalize_whitespace() expects a string instead of None. This commit simply ensures we do pass '' even if the output is None.
| * | | | | | Rollup merge of #45051 - k0pernicus:master, r=michaelwoeristerkennytm2017-10-103-29/+47
| |\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Debugger pretty printer files are take into account in test execution time-stamping This PR is proposed to solve the issue #45022.
| | * | | | | | New rebase for the issue #45022k0pernicus2017-10-093-29/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add pretty printer files into test execution time-stamping Move find_rust_src_path() as a method for Config Move find_rust_src_path() as a method for Config Call find_rust_src_path() from Config Move find_rust_src_path() from common.rs to header.rs Add pretty printer files as relevant files to get up_to_date information Remove dead code Add two pretty printer files to keep a close watch on Move find_rust_src_path() as a method for Config Move find_rust_src_path() as a method for Config Call find_rust_src_path() from Config Move find_rust_src_path() from common.rs to header.rs Remove dead code Add two pretty printer files to keep a close watch on
| * | | | | | | Rollup merge of #44962 - shepmaster:no-ignore-result, r=steveklabnikkennytm2017-10-101-5/+7
| |\ \ \ \ \ \ \ | | |_|_|_|_|_|/ | |/| | | | | | | | | | | | | | Don't encourage people to ignore threading errors in the docs
| | * | | | | | Don't encourage people to ignore threading errors in the docsJake Goulding2017-10-081-5/+7
| | | | | | | |
* | | | | | | | Auto merge of #44822 - frewsxcv:frewsxcv-eprintln, r=Kimundibors2017-10-1018-64/+30
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Migrate to eprint/eprintln macros where appropriate. None
| * | | | | | | | Migrate to eprint/eprintln macros where appropriate.Corey Farwell2017-09-2818-64/+30
| | | | | | | | |
* | | | | | | | | Auto merge of #45111 - aidanhs:aphs-bubble-worker-failures, r=alexcrichtonbors2017-10-091-6/+10
|\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Don't panic in the coordinator thread, bubble up the failure Fixes #43402 (take 2) Followup to #45019, this makes the coordinator thread not panic on worker failures since they can be reported reasonably back in the main thread. The output also now has no evidence of backtraces at all, unlike the previous PR: ``` $ ./build/x86_64-unknown-linux-gnu/stage1/bin/rustc -o "" x.rs error: could not write output to : No such file or directory error: aborting due to previous error ``` r? @alexcrichton
| * | | | | | | | | Don't panic in the coordinator thread, bubble up the failureAidan Hobson Sayers2017-10-081-6/+10
| | |_|_|_|_|/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | Fixes #43402 (take 2)
* | | | | | | | | Auto merge of #45075 - alexcrichton:inline-less, r=michaelwoeristerbors2017-10-0921-83/+202
|\ \ \ \ \ \ \ \ \ | |_|_|/ / / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | rustc: Don't inline in CGUs at -O0 This commit tweaks the behavior of inlining functions into multiple codegen units when rustc is compiling in debug mode. Today rustc will unconditionally treat `#[inline]` functions by translating them into all codegen units that they're needed within, marking the linkage as `internal`. This commit changes the behavior so that in debug mode (compiling at `-O0`) rustc will instead only translate `#[inline]` functions into *one* codegen unit, forcing all other codegen units to reference this one copy. The goal here is to improve debug compile times by reducing the amount of translation that happens on behalf of multiple codegen units. It was discovered in #44941 that increasing the number of codegen units had the adverse side effect of increasing the overal work done by the compiler, and the suspicion here was that the compiler was inlining, translating, and codegen'ing more functions with more codegen units (for example `String` would be basically inlined into all codegen units if used). The strategy in this commit should reduce the cost of `#[inline]` functions to being equivalent to one codegen unit, which is only translating and codegen'ing inline functions once. Collected [data] shows that this does indeed improve the situation from [before] as the overall cpu-clock time increases at a much slower rate and when pinned to one core rustc does not consume significantly more wall clock time than with one codegen unit. One caveat of this commit is that the symbol names for inlined functions that are only translated once needed some slight tweaking. These inline functions could be translated into multiple crates and we need to make sure the symbols don't collideA so the crate name/disambiguator is mixed in to the symbol name hash in these situations. [data]: https://github.com/rust-lang/rust/issues/44941#issuecomment-334880911 [before]: https://github.com/rust-lang/rust/issues/44941#issuecomment-334583384
| * | | | | | | | rustc: Don't inline in CGUs at -O0Alex Crichton2017-10-0721-83/+202
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit tweaks the behavior of inlining functions into multiple codegen units when rustc is compiling in debug mode. Today rustc will unconditionally treat `#[inline]` functions by translating them into all codegen units that they're needed within, marking the linkage as `internal`. This commit changes the behavior so that in debug mode (compiling at `-O0`) rustc will instead only translate `#[inline]` functions into *one* codegen unit, forcing all other codegen units to reference this one copy. The goal here is to improve debug compile times by reducing the amount of translation that happens on behalf of multiple codegen units. It was discovered in #44941 that increasing the number of codegen units had the adverse side effect of increasing the overal work done by the compiler, and the suspicion here was that the compiler was inlining, translating, and codegen'ing more functions with more codegen units (for example `String` would be basically inlined into all codegen units if used). The strategy in this commit should reduce the cost of `#[inline]` functions to being equivalent to one codegen unit, which is only translating and codegen'ing inline functions once. Collected [data] shows that this does indeed improve the situation from [before] as the overall cpu-clock time increases at a much slower rate and when pinned to one core rustc does not consume significantly more wall clock time than with one codegen unit. One caveat of this commit is that the symbol names for inlined functions that are only translated once needed some slight tweaking. These inline functions could be translated into multiple crates and we need to make sure the symbols don't collideA so the crate name/disambiguator is mixed in to the symbol name hash in these situations. [data]: https://github.com/rust-lang/rust/issues/44941#issuecomment-334880911 [before]: https://github.com/rust-lang/rust/issues/44941#issuecomment-334583384
* | | | | | | | | Auto merge of #45064 - alexcrichton:reduce-codegen-units, r=michaelwoeristerbors2017-10-091-2/+16
|\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | rustc: Reduce default CGUs to 16 Rationale explained in the included comment as well as #44941
| * | | | | | | | | rustc: Reduce default CGUs to 16Alex Crichton2017-10-061-2/+16
| | |/ / / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | Rationale explained in the included comment as well as #44941
* | | | | | | | | Auto merge of #45041 - est31:master, r=alexcrichtonbors2017-10-0916-295/+8
|\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove support for the PNaCl target (le32-unknown-nacl) This removes support for the `le32-unknown-nacl` target which is currently supported by rustc on tier 3. Despite the "nacl" in the name, the target doesn't output native code (x86, ARM, MIPS), instead it outputs binaries in the PNaCl format. There are two reasons for the removal: * Google [has announced](https://blog.chromium.org/2017/05/goodbye-pnacl-hello-webassembly.html) deprecation of the PNaCl format. The suggestion is to migrate to wasm. Happens we already have a wasm backend! * Our PNaCl LLVM backend is provided by the fastcomp patch set that the LLVM fork used by rustc contains in addition to vanilla LLVM (`src/llvm/lib/Target/JSBackend/NaCl`). Upstream LLVM doesn't have PNaCl support. Removing PNaCl support will enable us to move away from fastcomp (#44006) and have a lighter set of patches on top of upstream LLVM inside our LLVM fork. This will help distribution packagers of Rust. Fixes #42420
| * | | | | | | | | Remove nacl from librustdocest312017-10-051-2/+1
| | | | | | | | | |
| * | | | | | | | | Remove nacl from libtestest312017-10-051-4/+2
| | | | | | | | | |
| * | | | | | | | | Remove nacl from libstdest312017-10-0510-232/+4
| | | | | | | | | |
| * | | | | | | | | Remove nacl from librustc_backest312017-10-052-52/+0
| | | | | | | | | |
| * | | | | | | | | Remove nacl from librustc_llvmest312017-10-052-5/+1
| | | | | | | | | |
* | | | | | | | | | Auto merge of #45035 - alexcrichton:no-empty, r=michaelwoeristerbors2017-10-092-12/+0
|\ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | rustc: Don't create empty codegen units This'll end up just creating a bunch of object files that otherwise wouldn't exist, so skip that extra work if possible.
| * | | | | | | | | | rustc: Don't create empty codegen unitsAlex Crichton2017-10-042-12/+0
| | |_|_|_|_|/ / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This'll end up just creating a bunch of object files that otherwise wouldn't exist, so skip that extra work if possible.
* | | | | | | | | | Auto merge of #45033 - eddyb:capture-me-not, r=nikomatsakisbors2017-10-091-10/+1
|\ \ \ \ \ \ \ \ \ \ | |_|_|_|_|_|_|_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | rustc_trans: do not set NoCapture for anonymous lifetime &T arguments. This was both unsound (due to lifetime elision & unsafe code) and dead code (we erase lifetimes). r? @nikomatsakis
| * | | | | | | | | rustc_trans: do not set NoCapture for anonymous lifetime &T arguments.Eduard-Mihai Burtescu2017-10-051-10/+1
| |/ / / / / / / /
* | | | | | | | | Auto merge of #45030 - raggi:zircon-handle-t, r=alexcrichtonbors2017-10-082-18/+17
|\ \ \ \ \ \ \ \ \ | |_|_|_|_|_|_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | zircon: the type of zx_handle_t is now unsigned This is a kernel ABI change that landed today. I noticed some other ABI issues and have left a note to cleanup once they are better defined.
| * | | | | | | | zircon: update some more zx and lp constantsJames Tucker2017-10-042-22/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Use size_t where size_t is used, while it's not critical on our specifically supported architectures, this is more accurate. * Update HND_SPECIAL_COUNT to the correct value, and give it the size that enum is likely to be.
| * | | | | | | | zircon: the type of zx_handle_t is now unsignedJames Tucker2017-10-041-1/+6
| |/ / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a kernel ABI change that landed today. I noticed some other ABI issues and have left a note to cleanup once they are better defined.
* | | | | | | | Auto merge of #45016 - pnkfelix:mir-borrowck-gather-and-signal-move-errors, ↵bors2017-10-0817-379/+557
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | r=nikomatsakis MIR-borrowck: gather and signal any move errors When building up the `MoveData` structure for a given MIR, also accumulate any erroneous actions, and then report all of those errors when the construction is complete. This PR adds a host of move-related error constructor methods to `trait BorrowckErrors`. I think I got the notes right; but we should plan to audit all of the notes before turning MIR-borrowck on by default. Fix #44830
| * | | | | | | | Unit tests for gathering and reporting move-errors from mir-borrowck.Felix S. Klock II2017-10-047-13/+60
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit tests *just* the subset of the tests that were previously ICE'ing and where now AST- and MIR-borrowck both match in terms of the errors they report. In other words: there remain *other* tests that previously ICE'd, and now no longer ICE, but their remains a divergence between the errors reported by AST-borrowck and by MIR-borrowck.
| * | | | | | | | Made `move_paths::MoveError` take span param in `cannot_move_out_of` ctor.Felix S. Klock II2017-10-042-48/+79
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Implicitly threaded `Location` through MoveData construction via a `Gatherer` struct (so that we could look up the span corresponding to the location when we need to signal an error).
| * | | | | | | | Add method to `Mir` that maps a `Location` to its `SourceInfo`.Felix S. Klock II2017-10-042-3/+14
| | | | | | | | |
| * | | | | | | | mir-borrowck: Gather move errors during MoveData construction and report them.Felix S. Klock II2017-10-045-35/+99
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently is using DUMMY_SP as the associated span; a follow-up commit will pass in appropriate spans when constructing the errors.
| * | | | | | | | Move E0509 diagnostic into mod borrowck_errors shared between ast- and ↵Felix S. Klock II2017-10-044-102/+111
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | mir-borrowck.
| * | | | | | | | Move E0508 diagnostic into mod borrowck_errors shared between ast- and ↵Felix S. Klock II2017-10-044-58/+67
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | mir-borrowck.
| * | | | | | | | Move E0507 diagnostic into mod borrowck_errors shared between ast- and ↵Felix S. Klock II2017-10-044-136/+143
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | mir-borrowck. (Had to modify signature of `report_cannot_move_out_of` slightly to satisfy requirements of newly added `fn cannot_move_out_of` method.)