summary refs log tree commit diff
path: root/src
AgeCommit message (Collapse)AuthorLines
2016-11-04fix #37559: update compiler-rtTim Neumann-0/+0
2016-11-04Long linesBrian Anderson-1/+2
2016-11-03Set RUSTC_BOOTSTRAP to some value.Brian Anderson-1/+1
Environment variables on windows can't be empty.
2016-11-03Fix ICE when printing closures, and other similar typesMark-Simulacrum-3/+14
2016-11-03Fix ICE when attempting to get closure generics.Mark-Simulacrum-21/+38
2016-11-03add #32791 test caseNiko Matsakis-0/+81
2016-11-03normalize trait-ref in context of implNiko Matsakis-8/+8
The `specializes()` function was trying to normalize the impl trait in an empty environment. This could lead to inexplicable failures.
2016-11-03Do not intern filemap to entry w/ mismatched length. Fix #37274 (I think).Felix S. Klock II-0/+7
2016-11-03Fix label scopes.Jeffrey Seyfried-19/+16
2016-11-03Allow bootstrapping without a key. Fixes #36548Brian Anderson-24/+14
This will make it easier for packagers to bootstrap rustc when they happen to have a bootstrap compiler with a slightly different version number. It's not ok for anything other than the build system to set this environment variable.
2016-11-03add a per-param-env cache to `impls_bound`Ariel Ben-Yehuda-27/+41
There used to be only a global cache, which led to uncached calls to trait selection when there were type parameters. I'm running a check that there are no adverse performance effects. Fixes #37106 (drop elaboration times are now ~half of borrow checking, so might still be worthy of optimization, but not critical).
2016-11-02Update bootstrap compiler to 1.12.1Brian Anderson-2/+2
2016-10-22[beta] trans: pad const structs to aligned sizeTim Neumann-14/+39
2016-10-19std: Update liblibc submoduleAlex Crichton-0/+0
This fixes compilation on the s390x target
2016-10-19Review changesNick Cameron-1/+1
2016-10-19Deprecate `Reflect`Nick Cameron-22/+13
[tracking issue](https://github.com/rust-lang/rust/issues/27749)
2016-10-19Stabilise attributes on statements.Nick Cameron-22/+12
Note that attributes on expressions are still unstable and are behind the `stmt_expr_attributes` flag. cc [Tracking issue](https://github.com/rust-lang/rust/issues/15701)
2016-10-19Stabilise `?`Nick Cameron-89/+28
cc [`?` tracking issue](https://github.com/rust-lang/rust/issues/31436)
2016-10-19Add regression test.Jeffrey Seyfried-0/+25
2016-10-19Support importing inaccessible `extern crate`s with a warning again.Jeffrey Seyfried-1/+2
2016-10-19rustc: More fixes for arch-independent hashingAlex Crichton-8/+73
In another attempt to fix #36793 this commit attempts to head off any future problems by adding a custom `WidentUsizeHasher` which will widen any hashing of `isize` and `usize` to a `u64` as necessary. This obviates the need for a previous number of `as u64` annotations and will hopefully protect us against future problems here. Closes #36793 (hopefully)
2016-10-19update mips64* data-layoutTim Neumann-2/+2
2016-10-18debuginfo: Create debuginfo for re-aggregated spread_arg instead of for the ↵Michael Woerister-22/+13
individual pieces.
2016-10-18normalize types every time HR regions are erasedAriel Ben-Yehuda-36/+62
Associated type normalization is inhibited by higher-ranked regions. Therefore, every time we erase them, we must re-normalize. I was meaning to introduce this change some time ago, but we used to erase regions in generic context, which broke this terribly (because you can't always normalize in a generic context). That seems to be gone now. Ensure this by having a `erase_late_bound_regions_and_normalize` function. Fixes #37109 (the missing call was in mir::block).
2016-10-18Some tests to check that lifetime parametric fn's do not trip up LLVM.Felix S. Klock II-0/+54
2016-10-18Inject bitcast if types mismatch when building a store instruction.Felix S. Klock II-0/+24
2016-10-18Fix ICE by injecting bitcasts if types mismatch when building invokes or calls.Felix S. Klock II-17/+32
2016-10-14Merge pull request #37168 from brson/beta-nextAlex Crichton-1/+1
[beta] LLVM: Backport "[SimplifyCFG] Correctly test for unconditional branch…
2016-10-14LLVM: Backport "[SimplifyCFG] Correctly test for unconditional branches in ↵Michael Woerister-1/+1
GetCaseResults"
2016-10-14Merge pull request #37078 from petrochenkov/betaBrian Anderson-2/+14
[beta] Temporary fix for metadata decoding for struct constructors
2016-10-11trans: Make sure that each FnOnce shim is only translated once.Michael Woerister-0/+6
2016-10-11Add symbol hash to trans::partitioning debug output.Michael Woerister-5/+16
2016-10-11Assign internal linkage to autogenerated FnOnce::call_once() instances.Michael Woerister-1/+1
2016-10-11force `i1` booleans to `i8` when comparingNiko Matsakis-1/+34
Work around LLVM bug. cc #36856
2016-10-11stop having identity casts be lexprsAriel Ben-Yehuda-2/+47
that made no sense (see test), and was incompatible with borrowck. Fixes #36936.
2016-10-11loosen assertion against proj in collectorNiko Matsakis-2/+47
The collector was asserting a total absence of projections, but some projections are expected, even in trans: in particular, projections containing higher-ranked regions, which we don't currently normalize.
2016-10-10Update rust-installer. Fixes #36451Brian Anderson-0/+0
2016-10-10Update src/compiler-rt to incoporate fix for UB in floatsidf. Fix #36518.Felix S. Klock II-0/+0
2016-10-10std: Stabilize and deprecate APIs for 1.13Alex Crichton-80/+129
This commit is intended to be backported to the 1.13 branch, and works with the following APIs: Stabilized * `i32::checked_abs` * `i32::wrapping_abs` * `i32::overflowing_abs` * `RefCell::try_borrow` * `RefCell::try_borrow_mut` * `DefaultHasher` * `DefaultHasher::new` * `DefaultHasher::default` Deprecated * `BinaryHeap::push_pop` * `BinaryHeap::replace` * `SipHash13` * `SipHash24` * `SipHasher` - use `DefaultHasher` instead in the `std::collections::hash_map` module Closes #28147 Closes #34767 Closes #35057 Closes #35070
2016-10-11Temporary fix for metadata decoding for struct constructorsVadim Petrochenkov-2/+14
2016-09-27Update 1.13 bootstrap compilerBrian Anderson-2/+2
2016-09-27Auto merge of #36761 - jonathandturner:E0425_E0446_E0449, r=nrcbors-35/+107
Update E0425, E0446, E0449 This addresses https://github.com/rust-lang/rust/issues/35343, https://github.com/rust-lang/rust/issues/35923, and https://github.com/rust-lang/rust/issues/35924. Part of https://github.com/rust-lang/rust/issues/35233 Specifically, this adds labels to these error messages following the suggestions in the attached bugs. r? @nrc
2016-09-27Auto merge of #36758 - michaelwoerister:incr-comp-file-headers, r=eddybbors-40/+202
incr.comp.: Let the compiler ignore incompatible incr. comp. cache artifacts Implements #35720. cc @nikomatsakis
2016-09-26Auto merge of #36764 - jonathandturner:rollup, r=jonathandturnerbors-1060/+1643
Rollup of 14 pull requests - Successful merges: #36563, #36574, #36586, #36662, #36663, #36669, #36676, #36721, #36723, #36727, #36729, #36742, #36754, #36756 - Failed merges:
2016-09-26incr.comp.: Fix build issue in rustc_incremental if CFG_VERSION is not set.Michael Woerister-3/+5
2016-09-26Auto merge of #36678 - TimNN:fix-dist, r=alexcrichtonbors-78/+79
emit feature help in cheat mode (fix nightlies) This should fix the `distcheck` failure in the latest nightly. cc #36539 It's probably not ideal to check the environment that often and the code ist duplicated from `librustc/session/config.rs` but this was the easiest fix I could think of. A cleaner solution would probably be to move the `unstable_features` from `Options` to `ParseSess` and change the `diag` parameter of `emit_feature_err` to take `ParseSess` instead of a `Handler`.
2016-09-26Rollup merge of #36756 - alygin:e0512-new-format, r=jonathandturnerJonathan Turner-2/+8
New error format for E0512 Part of #35233, fixes #36107 r? @jonathandturner
2016-09-26Rollup merge of #36754 - tmiasko:getaddrinfo-errors, r=alexcrichtonJonathan Turner-2/+7
When getaddrinfo returns EAI_SYSTEM retrieve actual error from errno. Fixes issue #36546. This change also updates libc to earliest version that includes EAI_SYSTEM constant. Previously, in cases where `EAI_SYSTEM` has been returned from getaddrinfo, the resulting `io::Error` would be broadly described as "System error": Error { repr: Custom(Custom { kind: Other, error: StringError("failed to lookup address information: System error") }) } After change a more detailed error is crated based on particular value of errno, for example: Error { repr: Os { code: 64, message: "Machine is not on the network" } } The only downside is that the prefix "failed to lookup address information" is no longer included in the error message.
2016-09-26Rollup merge of #36742 - shepmaster:llvm-4-preamble, r=alexcrichtonJonathan Turner-34/+43
Extend preprocessor LLVM version checks to support LLVM 4.x This doesn't actually do anything for LLVM 4.x yet, but sets the stage.
2016-09-26Rollup merge of #36729 - frewsxcv:rustdoc, r=alexcrichtonJonathan Turner-451/+552
librustdoc refactoring and cleanup. See each commit for more information. Biggest changes here is the addition of a `passes` module and each pass now lives in its own submodule.