summary refs log tree commit diff
path: root/src
AgeCommit message (Collapse)AuthorLines
2017-11-23Update release versionkennytm-1/+1
2017-11-22[stable] Update cargo.kennytm-0/+0
This backport includes rust-lang/cargo#4739, required for building projects in debug mode with cargo on macOS High Sierra.
2017-11-20[stable] Prepare the 1.22.0 stable release 1.22.0Alex Crichton-1/+1
2017-11-17update openssl{,-sys} to fix build with libressl 2.6.xMarc-Antoine Perennou-11/+11
Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
2017-11-14Auto merge of #45986 - arielb1:beta-next, r=alexcrichtonbors-93/+338
Fixes for beta - #45785 - #45890 - #45985
2017-11-14check_unsafety: fix unused unsafe block duplicationAriel Ben-Yehuda-9/+9
The duplicate error message is later removed by error message deduplication, but it still appears on beta and is still a bug
2017-11-14Backported merge of #45890 - arielb1:self-first, r=eddybbors-9/+56
check::method - unify receivers before normalizing method signatures Normalizing method signatures can unify inference variables, which can cause receiver unification to fail. Unify the receivers first to avoid that. Fixes #36701. Fixes #45801. Fixes #45855. r? @eddyb beta-nominating because #43880 made this ICE happen in more cases (the code in that issue ICEs post-#43880 only, but the unit test here ICEs on all versions).
2017-11-14Backported merge of #45785 - arielb1:unsafe-fixes, r=eddybbors-84/+282
fixes to MIR effectck r? @eddyb beta-nominating because regression (MIR effectck is new)
2017-11-12Bump beta releasse number to generate a new compiler.Mark Simulacrum-1/+1
2017-11-12Disable `mmap` in `libbacktrace` on Apple platformsJohn Colanduoni-0/+46
Fixes #45731 libbacktrace uses mmap if available to map ranges of the files containing debug information. On macOS `mmap` will succeed even if the mapped range does not exist, and a SIGBUS (with an unusual EXC_BAD_ACCESS code 10) will occur when the program attempts to page in the memory. To combat this we force `libbacktrace` to be built with the simple `read` based fallback on Apple platforms.
2017-11-12Update cargo to include a few bugfixes.Mark Simulacrum-0/+0
2017-11-04Change powerpc64le's Centos base URL to vault.centos.org.kennytm-1/+1
The previous base URL at mirror.centos.org no longer provides packages for 7.3.1611. It has been moved to vault.centos.org.
2017-11-02Auto merge of #45559 - bgermann:beta, r=alexcrichtonbors-0/+1
[beta] Disable jemalloc for sparcv9-sun-solaris Backport from #45508. Similar to #36994, rust programs segfault on SPARC64 Solaris machines.
2017-10-31Auto merge of #45658 - matklad:beta-backport, r=alexcrichtonbors-0/+0
[beta] Cargo does not remove [root] from lockfile with --frozen Okey, this is supposed to be a backport of https://github.com/rust-lang/cargo/pull/4687, but looks like beta cargo at rust-lang and beta cargo at cargo are different at the moment, hence the huge diff (one commit in the diffrence rewrote every single test file in Cargo) rust-lang: https://github.com/rust-lang/cargo/commits/463e850146e9454b8b953ff73772a35b286b58e7 cargo: https://github.com/rust-lang/cargo/commits/rust-1.22.0 r? @alexcrichton
2017-10-31[beta] Cargo does not remove [root] from lockfile with --frozenAleksey Kladov-0/+0
2017-10-31ci: Upgrade Android SDK/NDK and refactor to use sdkmanager/avdmanager.kennytm-52/+97
* SDK tools is upgraded to 27.0.0. - Refactored to use `sdkmanager`/`avdmanager` instead of the deprecated `android` tool. * The Java version used by Android SDK is downgraded to OpenJDK-8, in order to download the SDK through HTTPS. * NDK is upgrade to r15c. - Dropped support for android-9 (2.3 / Gingerbread), the minimal supported version is now android-14 (4.0 / Ice Cream Sandwich). - Changed the default Android compiler from GCC to clang. - For details of change introduced by NDK r15, see https://github.com/android-ndk/ndk/wiki/Changelog-r15.
2017-10-26Update the book on beta to fix the print buttonCarol (Nichols || Goulding)-0/+0
Connects to #45552.
2017-10-26Disable jemalloc for sparcv9-sun-solarisbgermann-0/+1
Similar to #36994, rust programs segfault on SPARC64 Solaris machines. (cherry picked from commit 7bab5dabddc858d7213e2d4d453caa90a86d8586)
2017-10-22Remove tabsbgermann-2/+2
(cherry picked from commit 0597bdabff5b8ee2d966c90b1836d67631327787)
2017-10-22Make Solaris builder compatible with Solaris 10 retrybgermann-14/+14
Unfortunately, #45255 does not quite cut it, so use a different approach to have Solaris 10 compatibility by tricking libbacktrace's autoconf tests. The sysroot download routine is slightly changed, too. (cherry picked from commit b3ea6e5fc548fd03f1902f9abfe4e3f11d426d39)
2017-10-20Bump the beta to .2Alex Crichton-1/+1
2017-10-20incr.comp.: Fix instability in CodegenUnitExt::items_in_deterministic_order().Michael Woerister-3/+20
2017-10-20incr.comp.: Add missing match branch in HashStable impl for ty::RegionKind.Michael Woerister-0/+3
2017-10-15Make Solaris builder compatible with Solaris 10bgermann-15/+19
2017-10-12ci: Fix installing the Android SDKAlex Crichton-1/+1
Apparently the https urls are broken due to some certificate validation whatnots, and so far the least intrusive solution I've found is to just disable that.
2017-10-12Prepare the 1.22.0 betaAlex Crichton-12/+46
This updates the Cargo submodule a bit but is otherwise pretty routine.
2017-10-09Auto merge of #45111 - aidanhs:aphs-bubble-worker-failures, r=alexcrichtonbors-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
2017-10-09Auto merge of #45075 - alexcrichton:inline-less, r=michaelwoeristerbors-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
2017-10-09Auto merge of #45064 - alexcrichton:reduce-codegen-units, r=michaelwoeristerbors-2/+16
rustc: Reduce default CGUs to 16 Rationale explained in the included comment as well as #44941
2017-10-09Auto merge of #45041 - est31:master, r=alexcrichtonbors-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
2017-10-09Auto merge of #45035 - alexcrichton:no-empty, r=michaelwoeristerbors-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.
2017-10-09Auto merge of #45033 - eddyb:capture-me-not, r=nikomatsakisbors-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
2017-10-08Don't panic in the coordinator thread, bubble up the failureAidan Hobson Sayers-6/+10
Fixes #43402 (take 2)
2017-10-08Auto merge of #45030 - raggi:zircon-handle-t, r=alexcrichtonbors-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.
2017-10-08Auto merge of #45016 - pnkfelix:mir-borrowck-gather-and-signal-move-errors, ↵bors-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
2017-10-08Auto merge of #45020 - MaloJaffre:needs-test, r=alexcrichtonbors-0/+119
Fix some E-needstest issues. Also ignore `attr-on-trait` test on stage-1 to keep `./x.py test --stage 1` successful. Fixes #30355. Fixes #33241. Fixes #36400. Fixes #37887. Fixes #44578.
2017-10-08Auto merge of #45012 - Gankro:noalias, r=arielb1bors-1/+14
Add -Zmutable-noalias flag We disabled noalias on mutable references a long time ago when it was clear that llvm was incorrectly handling this in relation to unwinding edges. Since then, a few things have happened: * llvm has cleaned up a bunch of the issues (I'm told) * we've added a nounwind codegen option As such, I would like to add this -Z flag so that we can evaluate if the codegen bugs still exist, and if this significantly affects the codegen of different projects, with an eye towards permanently re-enabling it (or at least making it a stable option).
2017-10-08Auto merge of #45001 - bgermann:master, r=alexcrichtonbors-41/+157
Add builder for Solaris and merge it with Fuchsia's builder The new Solaris builder can be used to build rust-std. The dilos illumos distribution was chosen, because illumos is free software as opposed to Oracle Solaris and dilos is the only illumos distribution that supports x86_64 and sparcv9 at the same level.
2017-10-08Auto merge of #45100 - kennytm:rollup, r=kennytmbors-68/+90
Rollup of 10 pull requests - Successful merges: #45018, #45042, #45052, #45053, #45058, #45060, #45081, #45083, #45090, #45094 - Failed merges:
2017-10-08Rollup merge of #45094 - japaric:strict-align, r=alexcrichtonkennytm-5/+5
enable strict alignment (+strict-align) on ARMv6 As discovered in #44538 ARMv6 devices may or may not support unaligned memory accesses. ARMv6 Linux *seems* to have no problem with unaligned accesses but this is because the kernel is stepping in to fix each unaligned memory access -- this incurs in a performance penalty. This commit enforces aligned memory accesses on all our in-tree ARM targets that may be used with ARMv6 devices. This should improve performance of Rust programs on ARMv6 devices. For the record, clang also applies this attribute when targeting ARMv6 devices that are not running Darwin or NetBSD. closes #44538 r? @alexcrichton
2017-10-08Rollup merge of #45090 - rust-lang:petrochenkov-patch-1, r=alexcrichtonkennytm-1/+2
Document that `-C ar=PATH` doesn't do anything Are there any plans to use an external archiver in the future? IIRC, it was used before, but its use was replaced with LLVM's built-in archive management machinery. I can't found a relevant PR though. EDIT: Found it - https://github.com/rust-lang/rust/pull/26926! The `-C` option is stable so it still can't be removed right away even if there are no plans to use it (but maybe it can be deprecated?). Target specifications have a field for archiver as well, which is unused too (these ones are unstable, so I guess it can be removed). r? @alexcrichton
2017-10-08Rollup merge of #45083 - fhartwig:slice-read-to-end, r=blusskennytm-0/+8
Add read_to_end implementation to &[u8]'s Read impl The default impl for read_to_end does a bunch of bookkeeping that isn't necessary for slices and is about 4 times slower on my machine. The following benchmark takes about 30 ns before this change and about 7 ns after: ``` #[bench] fn bench_read_std(b: &mut Bencher) { let data = vec![0u8; 100]; let mut v = Vec::with_capacity(200); b.iter(|| { let mut s = data.as_slice(); v.clear(); s.read_to_end(&mut v).unwrap(); }); } ``` This solves the easy part of https://github.com/rust-lang/rust/issues/44819 (I think extending this to `Take<&[u8]> `would require specialization)
2017-10-08Rollup merge of #45081 - tamird:fmt-cleanup, r=alexcrichtonkennytm-7/+6
fmt: misc cleanup
2017-10-08Rollup merge of #45060 - topecongiro:semi-in-local-span, r=petrochenkovkennytm-1/+6
Add a semicolon to span for ast::Local
2017-10-08Rollup merge of #45058 - hunteke:fix_rustc_private_typo_2017Oct, r=shepmasterkennytm-1/+1
Fix typo, per #45057. This looks like a simple string -- one character -- fix. Given that I'm currently running low on battery, I have not actually compiled and tested this. But I am fully confident this passes muster. If not, I'll be maintainer-educated, yes? ;-)
2017-10-08Rollup merge of #45053 - GuillaumeGomez:atomicbool-doc, r=QuietMisdreavuskennytm-5/+12
Add missing links for AtomicBool r? @rust-lang/docs
2017-10-08Rollup merge of #45052 - steveklabnik:gh44105, r=dtolnaykennytm-3/+5
Modify Rc/Arc language around mutability There are a few exceptions to the rule that Arc/Rc are immutable. Rather than dig into the details, add "generally" to hint at this difference, as it's kind of a distraction at this point in the docs. Additionally, Arc's docs were slightly different here generally, so add in both the existing language and the exception. Fixes #44105
2017-10-08Rollup merge of #45042 - brennie:brennie/fmt-trait-summaries, r=steveklabnikkennytm-8/+8
Update trait summaries for std::fmt This patch is part of #29355. r? @steveklabnik
2017-10-08Rollup merge of #45018 - michaelwoerister:fix-dep-node-debug-recursion, r=eddybkennytm-37/+37
incr.comp.: Fix infinite recursion in Debug implementation of DepNode Small bug fix. Depends on #44901 to land first.
2017-10-08Auto merge of #44983 - vitiral:dirty_clean_groups, r=michaelwoeristerbors-12/+64
groundwork for rustc_clean/dirty improvements This is a WIP PR that needs mentoring from @michaelwoerister. There are several TODOs but no outstanding questions (except for the main one -- **is this the right approach?**) This is the plumbing for supporing groups in `rustc_clean(labels="...")`, as well as supporting an `except="..."` which will remove the excepted labels in the "clean" check and then assert that they are dirty (this is still TODO). See the code TODO's and example comments for a rough design. I'd like to know if this is the design you would like to do, and then I can go about actually filling out the groups and implementing the remaining logic.