Commit Graph

51114 Commits

Author SHA1 Message Date
Niko Matsakis
01ebc37fa1 Change how dep-graph edges are handled in variance to
be more fine-grained, fixing the `dep-graph-struct-signature`
test.
2016-02-18 05:27:27 -05:00
Niko Matsakis
daa7408267 Fix a weird case in the HIR map, where fields are not present in the
map. Perhaps I ought to just add them instead, but this seems harmless
enough.
2016-02-18 05:26:30 -05:00
Niko Matsakis
a80d449026 Break the variance module into submodules for ease of comprehension. 2016-02-18 05:26:30 -05:00
bors
7dd3b20119 Auto merge of #31727 - semarie:openbsd-llvm-cpu, r=alexcrichton
The initial purpose is to workaround the LLVM bug
https://llvm.org/bugs/show_bug.cgi?id=26554 for OpenBSD.

By default, the `cpu` is defined to `generic`. But with a 64bit
processor, the optimization for `generic` will use invalid asm code as
NOP (the generated code for NOP isn't a NOP).

According to #20777, "x86-64" is the right thing to do for x86_64
builds.

Closes: #31363

r? @alexcrichton
2016-02-18 07:35:49 +00:00
Tomasz Miąsko
77922b817e Remove alternate stack with sigaltstack before unmapping it.
Also reuse existing signal stack if already set, this is especially
useful when working with sanitizers that configure alternate stack
themselves.
2016-02-18 08:22:53 +01:00
bors
a9430a359f Auto merge of #31641 - petrochenkov:reach, r=alexcrichton
Fixes https://github.com/rust-lang/rust/issues/16734 and probably some other issues

This is a continuation of https://github.com/rust-lang/rust/pull/29822, but the algorithm is mostly a copy of https://github.com/rust-lang/rust/pull/29973, so
r? @alexcrichton or @nikomatsakis
2016-02-18 03:35:21 +00:00
bors
e18f7a1c5a Auto merge of #31739 - steveklabnik:rollup, r=steveklabnik
- Successful merges: #31565, #31679, #31694, #31695, #31703, #31720, #31733
- Failed merges:
2016-02-18 00:33:58 +00:00
Alex Crichton
ed015456a1 std: Prefix jemalloc symbols on iOS
Similar to OSX, these symbols are prefixed by default.
2016-02-17 16:24:00 -08:00
Sean McArthur
34dfc3991d std: restructure rand os code into sys modules 2016-02-17 16:21:32 -08:00
Jeffrey Seyfried
5ad84f1301 Replace the field imports in Module with unresolved_imports and refactor away resolved_import_count 2016-02-18 00:02:50 +00:00
Jeffrey Seyfried
845ad1b4ed Stop trying to resolve an import directive after the resolution fails 2016-02-17 23:55:00 +00:00
Steve Klabnik
27ede43c89 Rollup merge of #31733 - gkoz:strip_prefix_docs, r=alexcrichton
It wasn't fixed after copy-pasting. This probably needs to be backported to beta.
2016-02-17 18:14:36 -05:00
Steve Klabnik
b85033a7eb Rollup merge of #31720 - frewsxcv:std-mem-transmute-copy-example, r=steveklabnik
Prior to this commit, it was a trivial example that did not demonstrate
the effects of using the function.

Fixes https://github.com/rust-lang/rust/issues/31094
2016-02-17 18:14:36 -05:00
Steve Klabnik
216081d048 Rollup merge of #31703 - WiSaGaN:bugfix/fix-link-in-release-notes, r=alexcrichton 2016-02-17 18:14:36 -05:00
Steve Klabnik
96c8a67a17 Rollup merge of #31695 - oconnor663:chardocs, r=alexcrichton
Previously the docs suggested that '❤️' doesn't fit in a char because
it's 6 bytes. But that's misleading. 'a̚' also doesn't fit in a char,
even though it's only 3 bytes. The important thing is the number of code
points, not the number of bytes. Clarify the primitive char docs around
this.
2016-02-17 18:14:36 -05:00
Steve Klabnik
27ef9df824 Rollup merge of #31694 - oconnor663:insertdocs, r=steveklabnik
The first time I read the docs for `insert()`, I thought it was saying it didn't update existing *values*, and I was confused. Reword the docs to make it clear that `insert()` does update values.
2016-02-17 18:14:36 -05:00
Steve Klabnik
0a88c8fb19 Rollup merge of #31679 - GuillaumeGomez:long_error_explanation, r=Manishearth
r? @Manishearth
2016-02-17 18:14:36 -05:00
Steve Klabnik
9f0e39ba16 Rollup merge of #31565 - SDX2000:docfixes4, r=steveklabnik
See title and diff for more information.
2016-02-17 18:14:35 -05:00
Vadim Petrochenkov
fadc95e60a Check reachability insead of publicity for fields and inherent impl items
Purely for consistency with other items, it doesn't make any semantic difference
2016-02-18 01:10:21 +03:00
Vadim Petrochenkov
34737e3536 Add more tests for unnameable reachable items 2016-02-18 01:04:28 +03:00
Vadim Petrochenkov
767a447470 privacy: Mark reachable but unnameable items as reachable 2016-02-18 01:04:28 +03:00
Dave Huseby
aeda8445a7 fixes a small netbsd compile error 2016-02-17 21:40:33 +00:00
Ulrik Sverdrup
403fc4186e fmt: Make sure write_fmt's implementation can use write_char
It looks like the Adapter inside write_fmt was never updated to forward
the write_char method.
2016-02-17 22:26:44 +01:00
Simonas Kazlauskas
1752615591 MSVC SEH in MIR is implemented here 2016-02-17 21:46:05 +02:00
bors
4d3eebff9d Auto merge of #31707 - GuillaumeGomez:macro_name, r=sfackler
I'm wondering if instead of a second help message, a note would be better. I let it up to reviewers.
2016-02-17 19:15:53 +00:00
Ali Clark
6115f2effe bring freebsd linker config up-to-date (same as dragonfly) 2016-02-17 18:46:16 +00:00
Gleb Kozyrev
f82c984764 Update Path::strip_prefix doc 2016-02-17 20:16:12 +02:00
Ali Clark
90afb85a0c re-add freebsd padding
reproduces the padding found here:
https://svnweb.freebsd.org/base/release/10.1.0/sys/sys/stat.h?view=markup#l139
2016-02-17 16:59:03 +00:00
Ali Clark
3c534188f0 time_t is long on freebsd and dragonfly (and nsec should be long)
This becomes less relevant for dragonfly a i686 support is dropped since
release 40, but using long allows some compatibility for older versions.
2016-02-17 16:55:43 +00:00
Tobias Bucher
8fd7469990 Implement Clone for std::vec::IntoIter 2016-02-17 17:43:54 +01:00
bors
2051a92134 Auto merge of #31718 - apasel422:issue-31711, r=bluss
This changes the performance of `drop` from linear to constant time for such `HashMap`s.

Closes #31711.

r? @bluss
2016-02-17 16:18:54 +00:00
Sandeep Datta
1536195ce6 Made v2 mutable so that we can actually truncate it. 2016-02-17 20:47:24 +05:30
Ali Clark
c99409f793 unfork freebsd stat definitions, fixes x86 2016-02-17 14:10:02 +00:00
Ali Clark
cf144d16e9 remove unused import from dragonfly os raw 2016-02-17 14:09:22 +00:00
bors
b54770c245 Auto merge of #31696 - apasel422:placement, r=pnkfelix
CC #30172.

r? @pnkfelix
CC @nagisa
2016-02-17 13:25:15 +00:00
Amanieu d'Antras
b6a65df6d5 Add into_inner to AssertRecoverSafe 2016-02-17 11:29:18 +00:00
Sébastien Marie
6cb41e2e82 specify the cpu type for LLVM for OpenBSD target
The initial purpose is to workaround the LLVM bug
https://llvm.org/bugs/show_bug.cgi?id=26554 for OpenBSD.

By default, the `cpu' is defined to `generic`. But with a 64bit
processor, the optimization for `generic` will use invalid asm code as
NOP (the generated code for NOP isn't a NOP).

According to #20777, "x86-64" is the right thing to do for x86_64
builds.

Closes: #31363
2016-02-17 11:30:42 +01:00
bors
f4046deb20 Auto merge of #31666 - dirk:dirk/clarify-memory-arrangement-in-vec-docs, r=steveklabnik
Tweak documentation to clarify the structure of `Vec`s as contiguous arrays of items in memory.

Closes #31554; contributes to #29380.

r? @steveklabnik
2016-02-17 09:20:11 +00:00
bors
0d1cd9bd6a Auto merge of #31685 - petrochenkov:patrefact2, r=eddyb
And split `PatKind::Enum` into `PatKind::TupleStruct` and `PatKind::Path`.
This is the HIR part of https://github.com/rust-lang/rust/pull/31581.
This is also kind of a preparation for https://github.com/rust-lang/rfcs/pull/1492.

r? @eddyb
2016-02-17 06:01:49 +00:00
bors
82f30d2a36 Auto merge of #31717 - alexcrichton:llvmup2, r=brson
This commit rebases our LLVM submodule on the most recent tip of the
`release_38` branch of LLVM. There's been a few fixes and this notably fixes the
assertion error in #31702.

Closes #31702
2016-02-17 03:25:45 +00:00
Corey Farwell
8f13f8752f Improve 'std::mem::transmute_copy' doc example.
Prior to this commit, it was a trivial example that did not demonstrate
the effects of using the function.

Fixes https://github.com/rust-lang/rust/issues/31094
2016-02-16 21:48:50 -05:00
rphmeier
94499e3385 Fix sentence in E0451 diagnostic. 2016-02-16 21:31:50 -05:00
Andrew Paseltiner
895ab4f317 Implement placement-in protocol for LinkedList
CC #30172.
2016-02-16 20:36:11 -05:00
rphmeier
bf3ff77ec8 Fix #31706 2016-02-16 20:31:52 -05:00
Andrew Paseltiner
f890772383 Avoid iteration when dropping HashMaps whose items don't need dropping
This changes the performance of `drop` from linear to constant time for
such `HashMap`s.

Closes #31711.
2016-02-16 18:40:10 -05:00
Alex Crichton
97f78984f7 rustc: Rebase LLVM on the 3.8 release branch
This commit rebases our LLVM submodule on the most recent tip of the
`release_38` branch of LLVM. There's been a few fixes and this notably fixes the
assertion error in #31702.
2016-02-16 15:31:52 -08:00
bors
57c357d891 Auto merge of #31680 - arielb1:fast-fulfill, r=nikomatsakis
this improves typeck performance by 5% (LLVM times are still huge).

Basically fixes #25916 (still O(n^2), but the example takes <1s to
compile).

r? @nikomatsakis
2016-02-16 22:35:09 +00:00
Jeffrey Seyfried
1b5d2f21d6 Don't compute LastPrivate data for Def::Err. 2016-02-16 22:22:57 +00:00
ggomez
eca0ab25d8 Add check on find_best_match_for_name and improve help message for undefined macro 2016-02-16 22:30:08 +01:00
bors
9658645407 Auto merge of #31534 - jseyfried:restrict_noninline_mod, r=nikomatsakis
This PR disallows non-inline modules without path annotations that are either in a block or in an inline module whose containing file is not a directory owner (fixes #29765).
This is a [breaking-change].
r? @nikomatsakis
2016-02-16 19:34:57 +00:00