Commit Graph

50633 Commits

Author SHA1 Message Date
Oliver Middleton
b340f25352 Fix reading/writing 4 GiB or larger files on Windows 64-bit
`ReadFile` and `WriteFile` take a DWORD (u32) for the length argument
which was erroneously cast from a usize causing truncation. This meant
methods like `write_all` and `read_exact` would unexpectedly fail if
given a buffer 4 GiB or larger.

We can instead just ask for `u32::MAX` bytes if the given buffer is too
big.
2016-02-23 00:51:18 +00:00
bors
c8fc4817dc Auto merge of #31704 - tbu-:pr_vec_into_iter_clone, r=aturon 2016-02-22 21:16:36 +00:00
bors
d3929b2c8a Auto merge of #30969 - Amanieu:extended_atomic_cmpxchg, r=alexcrichton
This is an implementation of rust-lang/rfcs#1443.
2016-02-22 19:10:13 +00:00
Amanieu d'Antras
4fdbc2f1cb Add a test to make sure trans doesn't choke on any of the intrinsics 2016-02-22 18:39:13 +00:00
bors
d1f422ec28 Auto merge of #31819 - miqid:doc, r=steveklabnik
Hello.

I came across some minor spelling mistakes while going through the documentation for the `Iterator` trait. Also includes a suggested styling fix.

r? @steveklabnik
2016-02-22 16:00:56 +00:00
Michael Huynh
4d2a81617c Correct Iterator trait documentation
Fixes several minor spelling errors and includes a suggested style fix.
2016-02-22 22:02:40 +08:00
bors
98a59cf57e Auto merge of #31813 - nbaksalyar:solaris-fix, r=sanxiyn
A quick fix for several issues that break a Solaris/Illumos build.
Also, adds a CPU target specification (as seen in a patch for OpenBSD #31727).
2016-02-22 07:08:25 +00:00
bors
e628398f34 Auto merge of #31811 - alexcrichton:clean-deps, r=sanxiyn
The standard library doesn't depend on rustc_bitflags, so move it to explicit
dependencies on all other crates. Additionally, the arena/fmt_macros deps could
be dropped from libsyntax.
2016-02-22 05:20:39 +00:00
bors
19437bd452 Auto merge of #31805 - cuviper:android-lfs, r=alexcrichton
Android should use 64-bit LFS symbols for `lseek` and `ftruncate`, lest
those offset parameters suffer a lossy cast down to a 32-bit `off_t`.

Unlike GNU/Linux, Android's `stat`, `dirent`, and related functions are
always 64-bit LFS compatible, and `open` already implies `O_LARGEFILE`,
so all those don't need to follow Linux.  It might be nice to unify them
anyway, but those other LFS symbols aren't present in API 18 bionic.

r? @alexcrichton
2016-02-22 03:08:39 +00:00
bors
24bb648d84 Auto merge of #31806 - gokhanettin:to_lowercase-doc, r=japaric
`to_lowercase` example mistakenly calls `to_uppercase` function. This fixes the example.
2016-02-22 01:07:07 +00:00
bors
c92e910c11 Auto merge of #31810 - gandro:netbsd-fix-stat, r=alexcrichton
Some struct members have a slighty different name on NetBSD. This has been fixed in the libc crate, but not in libstd, breaking the NetBSD build. Related C struct definition: http://nxr.netbsd.org/xref/src/sys/sys/stat.h?r=1.68#59

This also removes the broken `st_spare()` from MetadataExt, since it is private field reserved for future use.

@dhuseby In case this conflicts with any of your pending patches, feel free to intervene - I'm happy to withdraw this PR.

r? @alexcrichton
2016-02-21 23:08:24 +00:00
Nikita Baksalyar
e77c79e96d
Fix broken Solaris build 2016-02-22 01:58:49 +03:00
bors
f93a62b68d Auto merge of #31792 - Zoxc:sysroot, r=alexcrichton
With these changes you can build a freestanding sysroot without using floating points using a Cargo.toml and copying the `deps` folder cargo outputs.
```
[package]
name = "sysroot"
version = "0.1.0"

[lib]
path = "lib.rs"
crate-type = ["rlib"]

[dependencies.core]
path = "../vendor/rust/src/src/libcore"
features = ["disable_float"]

[dependencies]
collections = { path = "../vendor/rust/src/src/libcollections" }
```
2016-02-21 19:24:02 +00:00
Alex Crichton
95761417c3 rustbuild: Sync some Cargo.toml/lib.rs dependencies
The standard library doesn't depend on rustc_bitflags, so move it to explicit
dependencies on all other crates. Additionally, the arena/fmt_macros deps could
be dropped from libsyntax.
2016-02-21 09:49:13 -08:00
Sebastian Wicki
028106c434 Fix struct stat usage on NetBSD
Some struct members have a slighty different name on NetBSD. This has been
fixed in the libc crate, but not in libstd.

This also removes `st_spare` from MetadataExt, since it is private field
reserved for future use.
2016-02-21 16:35:37 +01:00
John Kåre Alsaker
8ade080412 Fix liballoc dependencies 2016-02-21 15:32:43 +01:00
bors
0f62d219fb Auto merge of #31802 - alexcrichton:fix-dist-rustbuild, r=japaric
Forgot to add a few directories to `make dist` so `--enable-rustbuild` can
continue to work.

Closes #31801
2016-02-21 13:17:37 +00:00
Gökhan Karabulut
84003cda1f Fix to_lowercase example 2016-02-21 13:19:50 +02:00
bors
80122b2248 Auto merge of #31799 - cshaffer:book-fixes, r=steveklabnik
I noticed a few PRs fixing some of the words around the code refactor in the guessing game tutorial, this should be all that's left.
2016-02-21 11:15:13 +00:00
bors
0c72f697eb Auto merge of #31785 - sanxiyn:gitmodules, r=alexcrichton
libc moved from rust-lang-nursery to rust-lang.
2016-02-21 09:16:30 +00:00
Josh Stone
7e962166df std: Use Android LFS off64_t, ftruncate64, and lseek64
Android should use 64-bit LFS symbols for `lseek` and `ftruncate`, lest
those offset parameters suffer a lossy cast down to a 32-bit `off_t`.

Unlike GNU/Linux, Android's `stat`, `dirent`, and related functions are
always 64-bit LFS compatible, and `open` already implies `O_LARGEFILE`,
so all those don't need to follow Linux.  It might be nice to unify them
anyway, but those other LFS symbols aren't present in API 18 bionic.

r? @alexcrichton
2016-02-21 01:04:14 -08:00
bors
257fa0f479 Auto merge of #31791 - alexcrichton:llvmup3, r=dotdash
Looks like they picked up a bunch of fixes, one of which is even quite relevant
to us!

Closes #31505
2016-02-21 04:59:50 +00:00
Alex Crichton
8bfb93c275 mk: Add missing rustbuild dirs to dist
Forgot to add a few directories to `make dist` so `--enable-rustbuild` can
continue to work.

Closes #31801
2016-02-20 18:34:07 -08:00
Chad Shaffer
6e985934bd Fix number of lines and methods in guessing game 2016-02-20 17:00:54 -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
Alex Crichton
04d554f6fe Another rebase on the 3.8 release branch of LLVM
Looks like they picked up a bunch of fixes, one of which is even quite relevant
to us!

Closes #31505
2016-02-20 09:31:17 -08: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
Seo Sanghyeon
810454878d Update .gitmodules 2016-02-20 20:37:30 +09: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