Commit Graph

8892 Commits

Author SHA1 Message Date
Manish Goregaokar
a48f95879d Rollup merge of #31362 - jseyfried:fix_extern_crate_visibility, r=nikomatsakis
This PR changes the visibility of extern crate declarations to match that of items (fixes #26775).
To avoid breakage, the PR makes it a `public_in_private` lint to reexport a private extern crate, and it adds the lint `inaccessible_extern_crate` for uses of an inaccessible extern crate.

The lints can be avoided by making the appropriate `extern crate` declaration public.
2016-02-25 11:41:01 +05:30
Manish Goregaokar
b28debd91c Rollup merge of #31843 - Wafflespeanut:bool_docs, r=steveklabnik
fixes #29332

r? @steveklabnik
2016-02-25 04:21:10 +05:30
Manish Goregaokar
ac02f9c18d Rollup merge of #31842 - dileepbapat:master, r=alexcrichton
I have made changes and built it after that. Please advise,

https://github.com/rust-lang/rust/issues/31820
2016-02-25 04:21:10 +05:30
bors
df91cb9af6 Auto merge of #31782 - pitdicker:clean_out_windows_c, r=alexcrichton
I am not entirely sure I have got everything right, but if it compiles it is ok probably...
I tested it with msvc x86_64 and gnu.

Somehow a lot of `EXCEPTION-*` constants are dead code when running test, no idea why.
I have put `#![cfg_attr(test, allow(dead_code))]` at the top for this.
2016-02-24 07:21:44 +00:00
bors
304c790fc2 Auto merge of #31778 - aturon:snapshot, r=alexcrichton
r? @alexcrichton
2016-02-24 04:42:09 +00:00
Jeffrey Seyfried
f8d6dcf46e Warn when reexporting a private extern crate 2016-02-24 01:34:20 +00:00
bors
281f9d868f Auto merge of #30614 - arcnmx:cstr-bytes, r=alexcrichton
I'm a bit iffy on the return type, but `Result` would also be a bit weird... The two error cases are `Unterminated` and `InteriorNul(usize)`.

I considered `from_chars(&[c_char])` but this meshes better with `as_bytes_with_nul()` and Rust code in general.

Should there also be a corresponding unsafe `from_bytes_unchecked` variant?
2016-02-23 20:08:54 +00:00
Ravi Shankar
eb97c26d3b Updated the primitive docs for bool 2016-02-24 01:15:28 +05:30
bors
43ddfbdfb2 Auto merge of #31751 - gkoz:os_str_path_cmp, r=aturon 2016-02-23 17:21:18 +00:00
arcnmx
71f29cd837 CStr::from_bytes_with_nul tests 2016-02-23 11:52:19 -05:00
dileepb
fbfe70e6ab #31820 - Utilize if..let instead of single match branch 2016-02-23 21:21:51 +05:30
Aaron Turon
a92ee0f664 Register new snapshots 2016-02-23 07:31:16 -08:00
arcnmx
9414c4ea18 Link cstr from_bytes to tracking issue 2016-02-23 10:12:39 -05:00
arcnmx
16f218b600 Rename CStr::from_bytes to from_bytes_with_nul 2016-02-23 01:37:53 -05:00
arcnmx
a70ae2ffb9 CStr::from_bytes 2016-02-23 01:37:53 -05:00
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
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
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
Paul Dicker
98fa5ac342 RaiseException is used by everything except x86 gnu 2016-02-21 20:41:49 +01: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
Paul Dicker
94db864965 Fixes for 32-bit 2016-02-21 18:15:41 +01: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
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
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
Paul Dicker
0a6f35b317 Remove dead code from sys::windows::c 2016-02-20 08:18:02 +01: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
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
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
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
Tshepang Lekhonkhobe
ba97cd9ad4 doc: remove a word that makes the sentence hard to read 2016-02-18 22:46:03 +02:00
bors
6b076c2daa Auto merge of #31734 - aliclark:bsd-stat-fixes, r=alexcrichton
In https://github.com/rust-lang/rust/issues/25155 the os::freebsd::raw stat was split for the x86 vs. x86-64 cases, which appears to have been done to implement the padding on the end of struct stat for the x86 case (the struct is otherwise the same notwistanding the size of long).

This PR de-duplicates the struct using #[cfg(target_arch = "x86")] for the __unused field, which also fixes the definitions which had sinced changed with the LFS work d088b67187.

Also changed definitions to c_long for dragonfly and freebsd where appropriate.

Also removes some unused imports that the compiler was complaining about.

dragonfly's long time_t:
https://gitweb.dragonflybsd.org/dragonfly.git/blob/a2a57c243ff8016578bc559f8603fb25bbcf1768:/lib/libstand/machine/stdint.h

freebsd's long time_t:
https://svnweb.freebsd.org/base/release/10.1.0/sys/x86/include/_types.h?view=markup
d088b67187/src/liblibc/lib.rs (L980)

freebsd's padding for i686 stat:
https://svnweb.freebsd.org/base/release/10.1.0/sys/sys/stat.h?view=markup#l139
d088b67187/src/liblibc/lib.rs (L1038)
2016-02-18 16:29:55 +00:00
Gleb Kozyrev
409bffa654 Add mutual PartialEq and PartialOrd impls for Path[Buf] and OsStr[ing] 2016-02-18 16:08:30 +02:00
Gleb Kozyrev
ccad5449ff Add mutual PartialOrd impls for Path and PathBuf 2016-02-18 16:08:11 +02:00
Gleb Kozyrev
27be4336d9 Impl AsRef<Path> for Cow<OsStr> 2016-02-18 16:04:28 +02:00
Gleb Kozyrev
9fb4fcac82 Add mutual PartialEq and PartialCmp impls for OsStr, OsString 2016-02-18 16:03:42 +02:00
Corey Farwell
5850d16d52 Remove unnecessary explicit lifetime bounds.
These explicit lifetimes can be ommitted because of lifetime elision
rules. Instances were found using rust-clippy.
2016-02-18 08:37:10 -05:00
bors
f075698ea5 Auto merge of #31728 - Amanieu:recoversafe_into_inner, r=alexcrichton
This allows a `FnOnce` to be wrapped in an `AssertRecoverSafe`.
2016-02-18 10:35:25 +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
Sean McArthur
34dfc3991d std: restructure rand os code into sys modules 2016-02-17 16:21:32 -08:00