Commit Graph

50605 Commits

Author SHA1 Message Date
Alex Crichton
b980f22877 mk: Move disable-jemalloc logic into makefiles
The `--disable-jemalloc` configure option has a failure mode where it will
create a distribution that is not compatible with other compilers. For example
the nightly for Linux will assume that it will link to jemalloc by default as
an allocator for executable crates. If, however, a standard library is used
which was built via `./configure --disable-jemalloc` then this will fail
because the jemalloc crate wasn't built.

While this seems somewhat reasonable as a niche situation, the same mechanism is
used for disabling jemalloc for platforms that just don't support it. For
example if the rumprun target is compiled then the sibiling Linux target *also*
doesn't have jemalloc. This is currently a problem for our cross-build nightlies
which build many targets. If rumprun is also built, it will disable jemalloc for
all targets, which isn't desired.

This commit moves the platform-specific disabling of jemalloc as hardcoded logic
into the makefiles that is scoped per-platform. This way when configuring
multiple targets **without the `--disable-jemalloc` option specified** all
targets will get jemalloc as they should.
2016-02-25 21:05:59 -08:00
bors
a2fb48e9f7 Auto merge of #31761 - Amanieu:volatile, r=alexcrichton
Tracking issue: #31756
RFC: rust-lang/rfcs#1467

I've made these unstable for now. Should they be stabilized straight away since we've had plenty of experience with people using the unstable intrinsics?
2016-02-21 00:56:08 +00:00
bors
c894ff6b12 Auto merge of #31757 - petrochenkov:unitdotdot, r=nikomatsakis
This warning was introduced on Nov 28, 2015 and got into 1.6 stable, it was later requalified from a hardwired warning to a warn-by-default lint.
If this patch is landed soon enough, then `match_of_unit_variant_via_paren_dotdot` will get into 1.8 stable as a deny-by-default lint.
My intention is to turn it into a hard error after March 3, 2016, then it will hit stable at 1.9.

r? @nikomatsakis
cc @pnkfelix
2016-02-20 20:33:33 +00:00
bors
788a21edd4 Auto merge of #31608 - frewsxcv:osstring-simple-functions, r=alexcrichton
https://github.com/rust-lang/rust/issues/29453
2016-02-20 18:35:16 +00:00
Corey Farwell
2338d74197 Add Capacity/length methods for OsString.
https://github.com/rust-lang/rust/issues/29453
2016-02-20 11:37:58 -05:00
bors
2d14b39204 Auto merge of #31747 - jseyfried:stop_resolve_after_fail, r=nrc
Now that #31461 is merged, a failing resolution can never become indeterminate or succeed, so we no longer have to keep trying to resolve failing import directives.
r? @nrc
2016-02-20 14:33:13 +00:00
bors
6c751e0456 Auto merge of #31474 - arielb1:mir-typeck, r=nikomatsakis
This should stop broken MIR from annoying us when we try to implement things
2016-02-20 12:38:18 +00:00
Ariel Ben-Yehuda
d84658e317 address review comments 2016-02-20 13:17:30 +02:00
bors
cfabd17372 Auto merge of #31674 - VladUreche:issue/21221, r=nikomatsakis
This commit adds functionality that allows the name resolution pass
to search for entities (traits/types/enums/structs) by name, in
order to show recommendations along with the errors.

For now, only E0405 and E0412 have suggestions attached, as per the
request in bug #21221, but it's likely other errors can also benefit
from the ability to generate suggestions.
2016-02-20 10:40:42 +00:00
bors
df128bdc4c Auto merge of #31620 - alexcrichton:fix-out-of-tree-builds, r=brson
This removes creating some extraneous directories and also fixes some submodule management with out of tree builds.

Closes #31619
2016-02-20 08:47:25 +00:00
bors
d3ffad7a38 Auto merge of #31777 - steveklabnik:rollup, r=steveklabnik
- Successful merges: #31721, #31737, #31741, #31750, #31763, #31764, #31765, #31775
- Failed merges:
2016-02-20 04:48:34 +00:00
bors
a212264011 Auto merge of #31771 - alexcrichton:oops-that-didnt-fix-anything, r=brson
In #31717 we rebased our LLVM fork over the 3.8 release branch, and it was
thought that this fixed #31702. The testing, however, must have been erroneous,
as it unfortunately didn't fix the issue! Our MUSL nightly builders are failing
from the same assertion reported in the issue, so we at least know the test case
is a reproduction!

I believe the failure is only happening on the MUSL nightly builders because
none of the auto builders have LLVM assertions enabled, and the Linux nightly
builder *does* have assertions enabled for the binaries we generate but the
distcheck run doesn't test a compiler with LLVM assertions enabled.
2016-02-20 02:52:01 +00:00
bors
54f3f2e302 Auto merge of #31781 - alexcrichton:wtf-segfault, r=aturon
It's unclear to me whether this test failing under valgrind is actually legit.
The test only fails in valgrind when everything is dynamically linked, and it
appears to work when statically linked.

For now just add the `// no-prefer-dynamic` directive and let's just chalk it up
to a weird valgrind issue.

Closes #31328
2016-02-20 00:58:49 +00:00
Alex Crichton
595d5b2faf test: Fix a spuriously failing test on valgrind
It's unclear to me whether this test failing under valgrind is actually legit.
The test only fails in valgrind when everything is dynamically linked, and it
appears to work when statically linked.

For now just add the `// no-prefer-dynamic` directive and let's just chalk it up
to a weird valgrind issue.

Closes #31328
2016-02-19 16:53:06 -08:00
Ariel Ben-Yehuda
881249aa46 use the FulfillmentContext and InferCtxt more correctly 2016-02-20 02:02:53 +02:00
Ariel Ben-Yehuda
a61963ab08 TODO -> FIXME 2016-02-20 01:54:58 +02:00
Ariel Ben-Yehuda
ae919d0f4b type-check lvalues 2016-02-20 01:54:58 +02:00
Ariel Ben-Yehuda
880b6c260a fix a few remaining bugs - make check runs! 2016-02-20 01:54:58 +02:00
Ariel Ben-Yehuda
3c6f41026b store the normalized types of field accesses
Fixes #31504
2016-02-20 01:54:58 +02:00
Ariel Ben-Yehuda
350b50df00 deref the argument of overloaded MIR autoderef
Fixes #31466
2016-02-20 01:54:58 +02:00
Ariel Ben-Yehuda
76608c8e0a make *mut T -> *const T a coercion
rather than being implicit quasi-subtyping. Nothing good can come out
of quasi-subtyping.
2016-02-20 01:54:58 +02:00
Ariel Ben-Yehuda
6f633ef128 tuple arguments to overloaded calls
also fix translation of "rust-call" functions, although that could use
more optimizations
2016-02-20 01:54:58 +02:00
Amanieu d'Antras
3b67e467b2 Add tests for read_volatile and write_volatile 2016-02-19 23:45:49 +00:00
Ariel Ben-Yehuda
b7cbbc374c be more type-safe in panic/panic_bounds_check
TODO: find a correct borrow region

Fixes #31482
2016-02-20 01:45:13 +02:00
Ariel Ben-Yehuda
67d1cf1122 introduce an early pass to clear dead blocks
this makes the the MIR assignment pass complete successfully
2016-02-20 01:45:13 +02:00
Ariel Ben-Yehuda
999f1767ca add -Z mir-opt-level to disable MIR optimizations
setting -Z mir-opt-level=0 will disable all MIR optimizations
for easier debugging
2016-02-20 01:38:27 +02:00
Steve Klabnik
78f6431002 Rollup merge of #31775 - nxnfufunezn:issue-31769, r=eddyb
Fixes : #31769
r? @eddyb
2016-02-19 14:23:29 -05:00
Steve Klabnik
2fe817df40 Rollup merge of #31765 - tshepang:shorten, r=steveklabnik 2016-02-19 14:23:29 -05:00
Steve Klabnik
1aec0af15f Rollup merge of #31764 - tshepang:overlong-sentence, r=steveklabnik 2016-02-19 14:23:28 -05:00
Steve Klabnik
6233aba372 Rollup merge of #31763 - tshepang:extraneous-word, r=steveklabnik 2016-02-19 14:23:28 -05:00
Steve Klabnik
575c85abfd Rollup merge of #31750 - GuillaumeGomez:mailmap, r=nikomatsakis
It's notably for #31707
2016-02-19 14:23:28 -05:00
Steve Klabnik
0f2675a2e6 Rollup merge of #31741 - alexcrichton:fix-ios, r=nikomatsakis
Similar to OSX, these symbols are prefixed by default.
2016-02-19 14:23:28 -05:00
Steve Klabnik
b81fdd4cd2 Rollup merge of #31737 - dhuseby:netbsd_fixes, r=alexcrichton
this fixes a small compile error when building for netbsd.
2016-02-19 14:23:28 -05:00
Steve Klabnik
206e86b947 Rollup merge of #31721 - rphmeier:err_tuplestruct_count, r=Manishearth
Fixes #31706

Also fixes a phrasing error in the diagnostic.
2016-02-19 14:23:28 -05:00
nxnfufunezn
27f8c53344 Fix error[E0518] not displayed for #[inline] on structs inside fns 2016-02-19 23:49:11 +05:30
Ariel Ben-Yehuda
addc653da5 begin implementing mir-typeck 2016-02-19 19:13:53 +02:00
bors
28a3e8bb51 Auto merge of #31742 - frewsxcv:needless-lifetimes, r=pnkfelix
These explicit lifetimes can be ommitted because of lifetime elision
rules. Instances were found using rust-clippy.
2016-02-19 13:49:46 +00:00
bors
d5e2e5fbbc Auto merge of #31738 - seanmonstar:sys-rand, r=alexcrichton 2016-02-19 10:58:53 +00:00
bors
15611f75ca Auto merge of #31736 - bluss:write-char, r=alexcrichton
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-19 08:04:11 +00:00
Alex Crichton
d835f5bfd8 Ignore the test added in #31717
In #31717 we rebased our LLVM fork over the 3.8 release branch, and it was
thought that this fixed #31702. The testing, however, must have been erroneous,
as it unfortunately didn't fix the issue! Our MUSL nightly builders are failing
from the same assertion reported in the issue, so we at least know the test case
is a reproduction!

I believe the failure is only happening on the MUSL nightly builders because
none of the auto builders have LLVM assertions enabled, and the Linux nightly
builder *does* have assertions enabled for the binaries we generate but the
distcheck run doesn't test a compiler with LLVM assertions enabled.
2016-02-18 22:47:42 -08:00
bors
463e42701a Auto merge of #31735 - aliclark:freebsd-link-defs, r=alexcrichton
The FreeBSD linker config is missing some options present in the other BSD configs.

This seems accidental, with other BSDs having the flags added in platform-specific commits, or with the flags present from day 1.

Some other BSD commits for reference:
fcb30a0b67 (diff-db69d903e469b7769aefaa31786fc2c4R1)
0b7c4f57f6 (diff-1c7b74536ce0291d1f89953035f26a71R1)

cfd2a5cfa1
2016-02-19 05:15:17 +00:00
bors
917db28b55 Auto merge of #31716 - jseyfried:fix_privacy_for_def_err, r=nrc
Fixes #31714
2016-02-19 02:18:25 +00:00
Jeffrey Seyfried
08b9097197 Improve dummy bindings for unresolved imports 2016-02-19 00:43:52 +00:00
Vlad Ureche
88af8fa0b1 Show candidates for names not in scope
This commit adds functionality that allows the name resolution pass
to search for entities (traits/types/enums/structs) by name, in
order to show recommendations along with the errors.

For now, only E0405 and E0412 have suggestions attached, as per the
request in bug #21221, but it's likely other errors can also benefit
from the ability to generate suggestions.
2016-02-19 01:10:36 +01:00
bors
8842e28be8 Auto merge of #31684 - tmiasko:alternate-stack, r=alexcrichton
Remove alternate stack with sigaltstack before unmaping it.

Also reuse existing signal stack if already set, this is especially
useful when working with sanitizers that configure alternate stack
themselves.

This change depends on SS_DISABLE recently introduced in libc crate and updates
this git submodule accordingly.
2016-02-18 23:23:22 +00:00
Tshepang Lekhonkhobe
31c78cfe91 doc: make the sentence more simple 2016-02-18 23:13:22 +02:00
Tshepang Lekhonkhobe
2cf226bd7e doc: reduce overlong sentence 2016-02-18 22:59:03 +02:00
bors
de366b5218 Auto merge of #31600 - nagisa:mir-msvc-seh-2, r=nikomatsakis
r? @alexcrichton for the translator changes and @nikomatsakis for the no-landing-pads pass.
2016-02-18 20:46:28 +00:00
Tshepang Lekhonkhobe
ba97cd9ad4 doc: remove a word that makes the sentence hard to read 2016-02-18 22:46:03 +02:00
Amanieu d'Antras
7ae4ee80d1 Implement read_volatile and write_volatile 2016-02-18 20:18:36 +00:00