summary refs log tree commit diff
AgeCommit message (Collapse)AuthorLines
2017-11-19rustc: collapse Layout::{Raw,StructWrapped}NullablePointer into one variant.Eduard-Mihai Burtescu-205/+91
2017-11-19rustc: introduce layout::Abi for reduced general ABI "passing style".Eduard-Mihai Burtescu-127/+105
2017-11-19rustc: represent the discriminant as a field for ↵Eduard-Mihai Burtescu-81/+112
Layout::{Raw,StructWrapped}NullablePointer.
2017-11-19rustc_trans: treat General enums like unions.Eduard-Mihai Burtescu-27/+10
2017-11-19rustc: pre-compute field placements out of Layout.Eduard-Mihai Burtescu-141/+228
2017-11-19rustc: remove Ty::layout and move everything to layout_of.Eduard-Mihai Burtescu-250/+201
2017-11-19rustc: re-complicate the TyLayout API and use better names.Eduard-Mihai Burtescu-120/+109
2017-11-19rustc: remove source field path from Layout::StructWrappedNullablePointer.Eduard-Mihai Burtescu-67/+55
2017-11-19rustc: use an offset instead of a field path in ↵Eduard-Mihai Burtescu-113/+137
Layout::StructWrappedNullablePointer.
2017-11-19rustc: remove useless 0 prefix from Layout::StructWrappedNullablePointer's ↵Eduard-Mihai Burtescu-5/+1
discrfield.
2017-11-19rustc: do not inject discriminant fields into Layout::General's variants.Eduard-Mihai Burtescu-89/+70
2017-11-19rustc_trans: always insert alignment padding, even before the first field.Eduard-Mihai Burtescu-42/+66
2017-11-19rustc_trans: use *[T; 0] for slice data pointers instead of *T.Eduard-Mihai Burtescu-33/+29
2017-11-19rustc_trans: remove the in_memory_type_of distinction.Eduard-Mihai Burtescu-112/+77
2017-11-19rustc_trans: use more of the trans::mir and ty::layout APIs throughout.Eduard-Mihai Burtescu-885/+706
2017-11-19rustc_trans: do not introspect LLVM aggregate field types.Eduard-Mihai Burtescu-50/+14
2017-11-19rustc_trans: remove obsolete Type methods.Eduard-Mihai Burtescu-18/+4
2017-11-19rustc_trans: use a predictable layout for constant ADTs.Eduard-Mihai Burtescu-100/+68
2017-11-19rustc_trans: avoid working with sizes/offsets and alignments as integers.Eduard-Mihai Burtescu-986/+863
2017-11-18Auto merge of #46039 - oli-obk:test_suggestions, r=petrochenkovbors-102/+28
Remove left over dead code from suggestion diagnostic refactoring More cleanups after #41876 and #45741
2017-11-18rustc_mir: always downcast enums, even if univariant.Eduard-Mihai Burtescu-34/+35
2017-11-18Auto merge of #46032 - KiChjang:ignore-borrowck-statics, r=nikomatsakisbors-44/+108
Ignore borrowck for static lvalues and allow assignment to static muts Fixes #45129. Fixes #45641.
2017-11-18Auto merge of #46009 - kennytm:fix-38878-again, r=alexcrichtonbors-8/+8
Fix #38878 again — restart linker when seeing SIGBUS in additional to SIGSEGV. In https://github.com/rust-lang/rust/pull/45985#issuecomment-344586645 we see a linker crashed due to Bus Error (signal 10) on macOS. The error was not caught by #40422 since the PR only handles Segmentation Fault (signal 11). The crash log indicates the problem is the same as #38878, so we just amend #40422 to include SIGBUS as well. (Additionally, modified how the crash logs are printed so that irrelevant logs are truly filtered out.)
2017-11-18Undo the Sized specialization from Iterator::nthScott McMurray-26/+6
2017-11-18Auto merge of #46073 - GuillaumeGomez:rollup, r=GuillaumeGomezbors-107/+115
Rollup of 4 pull requests - Successful merges: #45767, #46044, #46066, #46071 - Failed merges:
2017-11-18Rollup merge of #46071 - LooMaclin:fix-46001, r=estebankGuillaume Gomez-32/+19
Remove return_ty from Mir https://github.com/rust-lang/rust/issues/46001
2017-11-18Rollup merge of #46066 - GuillaumeGomez:primitive-search, r=QuietMisdreavusGuillaume Gomez-45/+43
Fix primitive types not showing up Fixes #46017. r? @QuietMisdreavus
2017-11-18Rollup merge of #46044 - collinanderson:py3, r=kennytmGuillaume Gomez-24/+25
fix some python3 incompatibilities
2017-11-18Rollup merge of #45767 - QuietMisdreavus:who-docs-the-doc-tool, r=frewsxcvGuillaume Gomez-6/+28
rustdoc book: talk about #![doc(test(no_crate_inject))] and #![doc(test(attr(...)))] While investigating https://github.com/rust-lang/rust/issues/45750 i noticed that `#![doc(test(attr(...)))]` wasn't documented at all. Since this is useful for making your examples follow the same coding guidelines as your code, i wanted to add it to the Rustdoc Book. I also added `#![doc(test(no_crate_inject))]` since it's used in the same place and might be useful for macro-heavy crates. I added mentions for these to "The `doc` attribute" as well as "Documentation tests" since it's useful information in both places. Technically the step reordering in the second commit is gated on https://github.com/rust-lang/rust/pull/45764, since before that lands attributes from the doctest come before the ones from `#![doc(test(attr(...)))]`.
2017-11-18Auto merge of #46000 - kennytm:fix-45640-extern-type-ice-in-rustdoc, ↵bors-3/+67
r=QuietMisdreavus Support `extern type` in rustdoc. Fixes #45640. (cc #43467)
2017-11-18Remove return_ty from Mirloomaclin-32/+19
https://github.com/rust-lang/rust/issues/46001
2017-11-18Auto merge of #45999 - jseyfried:def_site_span, r=nrcbors-7/+8
Rename `Span::default` -> `Span::def_site` I think the explicitness here is warranted. c.f. #45934 r? @nrc
2017-11-18Auto merge of #45989 - davidtwco:issue-45360, r=nikomatsakisbors-25/+119
MIR-borrowck: emit "`foo` does not live long enough" instead of borrow errors Fixes #45360. As of writing, contains deduplication of existing errors. r? @nikomatsakis
2017-11-18Auto merge of #45899 - eddyb:meta-race, r=alexcrichtonbors-18/+35
rustc_trans: atomically write .rmeta outputs to avoid races. Fixes #45841 in a similar vein to how LLVM writes archives: write a temporary file and then rename it. r? @alexcrichton
2017-11-17[incremental] Collect stats about duplicated edge reads from queriesWesley Wiser-0/+17
Part of #45873
2017-11-17Add run-pass test for assignment to static mutKeith Yeung-0/+23
2017-11-17Do not registor borrows for unsafe lvaluesKeith Yeung-42/+50
2017-11-17Auto merge of #45853 - nikomatsakis:chalk-simplify-hr-lub-glb, r=arielb1bors-226/+232
Simplify higher-ranked LUB/GLB This is a better version of https://github.com/rust-lang/rust/pull/44211. It still makes higher-ranked LUB/GLB into a hard equality test, however, it does try to identify that something changed and issue a notice to the user. I wroteup https://github.com/rust-lang/rust/issues/45852 as a tracking issue for this change. Currently, this moves straight to a hard-error, on the basis that the crater run in #44211 saw no impact. It might be good to retest -- or perhaps to try for a warning period. Trying to do the latter in a precise way would be somewhat painful, but an imprecise way might suffice -- that is, we could issue warning *whenever* a LUB/GLB operation succeeds that will later fail, even if it doesn't ultimately impact the type check. I could experiment with this. ~~I am *mildly* wary about landing this independently of other code that moves to a universe-based system. In particular, I was nervous that this change would make coherence accepts new pairs of impls that will later be errors. I have the code for the universe-based approach available, I hope to open an PR and run some tests on its impact very shortly.~~ @arielb1 points out that I was being silly. r? @arielb1
2017-11-17Fix primitive types not showing upGuillaume Gomez-45/+43
2017-11-17Fixed bug with the implementation that was suppressing expected errors from ↵David Wood-4/+6
the same line in other tests.
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-17Allow assignment to static mutsKeith Yeung-2/+35
2017-11-17rustc_trans: move const & lvalue access helpers from adt.Eduard-Mihai Burtescu-329/+251
2017-11-17Corrected error output with many labels.David Wood-4/+2
2017-11-17use a BTreeMap instead of an FxHasMap for the skol regionsNiko Matsakis-10/+13
The ordering can affect error msg, and this map is not a high performance pathway.
2017-11-17strip old lub-glb tests from `librustc_driver`Niko Matsakis-212/+0
Good riddance.
2017-11-17issue better error message when LUB/GLB diverge under new behaviorNiko Matsakis-1/+138
2017-11-17make LUB/GLB of higher-ranked things actually do EQNiko Matsakis-3/+81
2017-11-17Auto merge of #45996 - eddyb:even-mirer-1, r=arielb1bors-23/+36
MIR: hide .rodata constants vs by-ref ABI clash in trans. Back in #45380, constants were copied into locals during MIR creation to ensure that arguments ' memory can be used by the callee, if the constant is placed in `.rodata` and the ABI passes it by-ref. However, there are several drawbacks (see https://github.com/rust-lang/rust/pull/45380#discussion_r150447709), most importantly the complication of constant propagation (UB if a constant ends up in `Call` arguments) and inconveniencing analyses. Instead, I've modified the `rustc_trans` implementation of calls to copy an `Operand::Constant` argument locally if it's not immediate, and added a test that segfaults without the copy. cc @dotdash @arielb1
2017-11-17Auto merge of #46004 - michaelwoerister:cached-mir-wip-3, r=nikomatsakisbors-370/+1161
incr.comp.: Implement query result cache and use it to cache type checking tables. This is a spike implementation of caching more than LLVM IR and object files when doing incremental compilation. At the moment, only the `typeck_tables_of` query is cached but MIR and borrow-check will follow shortly. The feature is activated by running with `-Zincremental-queries` in addition to `-Zincremental`, it is not yet active by default. r? @nikomatsakis