summary refs log tree commit diff
AgeCommit message (Collapse)AuthorLines
2015-12-23Minor fix to whitespace in libsyntaxErick Tryzelaar-2/+2
2015-12-23doc: make line visibleTshepang Lekhonkhobe-1/+1
2015-12-23Auto merge of #30525 - semarie:ncpu, r=alexcrichtonbors-4/+4
Should unbreak build (well, remove one reason to break) for *bsd target. r? @alexcrichton
2015-12-23Auto merge of #30377 - Wafflespeanut:levenshtein, r=Manishearthbors-94/+94
fixes part of #30197
2015-12-23Auto merge of #30504 - mitaa:rdoc_root, r=alexcrichtonbors-8/+10
fixes #30327
2015-12-23BinaryHeap: Use full sift down in .pop()Ulrik Sverdrup-1/+26
.sift_down can either choose to compare the element on the way down (and place it during descent), or to sift down an element fully, then sift back up to place it. A previous PR changed .sift_down() to the former behavior, which is much faster for relatively small heaps and for elements that are cheap to compare. A benchmarking run suggested that BinaryHeap::pop() suffers improportionally from this, and that it should use the second strategy instead. It's logical since .pop() brings last element from the heapified vector into index 0, it's very likely that this element will end up at the bottom again.
2015-12-23Auto merge of #30353 - alexcrichton:rpath-by-default, r=brsonbors-1/+1
This commit changes our distribution and in-tree sources to pass the `-C rpath` flag by default during compiles. This means that from-source builds, including our release channels, will have this option enabled as well. Motivated by #29941, this change means that the compiler should be usable as-is on all platforms just after extraction or installation. This experience is already true on Windows but on Unixes you still need to set up LD_LIBRARY_PATH or the equivalent, which can often be unfortunate. This option was originally turned off by default for Linux distributions who tend to take care of these sorts of details themselves, so it is expected that all those builds of Rust will want to pass `--disable-rpath` to the configure script to preserve that behavior. Closes #29941
2015-12-22Don't record the root module in the search indexmitaa-8/+10
2015-12-22std: Remove old android header fileAlex Crichton-37/+0
The corresopnding C file was removed in #30175 and looks like I forgot to remove the header as well.
2015-12-22Stop re-exporting PathParameters's variants.Ms2ger-35/+36
2015-12-22Fix def paths creation for items inlined from external crates.Michael Woerister-23/+50
Avoid duplicating the last element of the def path which led to paths like "std::slice::into_vec::into_vec".
2015-12-22Removed usage of `drop` from `std::net::UdpSocket` docsdefyrlt-10/+11
Resolves #30507
2015-12-22variable `CPUS_SIZE` should have a snake case name such as `cpus_size`Sébastien Marie-3/+3
2015-12-22explicit use libc to refer to HW_NCPUSébastien Marie-1/+1
2015-12-22Auto merge of #30417 - alexcrichton:better-detect-elf-tls, r=alexcrichtonbors-84/+103
Currently a compiler can be built with the `--disable-elf-tls` option for compatibility with OSX 10.6 which doesn't have ELF TLS. This is unfortunate, however, as a whole new compiler must be generated which can take some time. These commits add a new (feature gated) `cfg(target_thread_local)` annotation set by the compiler which indicates whether `#[thread_local]` is available for use. The compiler now interprets `MACOSX_DEPLOYMENT_TARGET` (a standard environment variable) to set this flag on OSX. With this we may want to start compiling our OSX nightlies with `MACOSX_DEPLOYMENT_TARGET` set to 10.6 which would allow the compiler out-of-the-box to generate 10.6-compatible binaries. For now the compiler still by default targets OSX 10.7 by allowing ELF TLS by default (e.g. if `MACOSX_DEPLOYMENT_TARGET` isn't set).
2015-12-22configure: test $SHELL's permissionKai Noda-8/+11
On some weird setup where $SHELL is a relative path (can happen under GNU Screen,) `file -L "$BIN_TO_PROBE"` fails and $CFG_CPUTYPE is wrongly set to i686. We should not only check its string value but also permission on filesystem.
2015-12-22Auto merge of #30175 - alexcrichton:less-c-code, r=brsonbors-666/+156
All these definitions can now be written in Rust, so do so!
2015-12-21std: Remove rust_builtin C support libraryAlex Crichton-666/+156
All these definitions can now be written in Rust, so do so!
2015-12-21std: Use cfg(target_thread_local) in thread_local!Alex Crichton-78/+50
This transitions the standard library's `thread_local!` macro to use the freshly-added and gated `#[cfg(target_thread_local)]` attribute. This greatly simplifies the `#[cfg]` logic in play here, but requires that the standard library expose both the OS and ELF TLS implementation modules as unstable implementation details. The implementation details were shuffled around a bit but end up generally compiling to the same thing. Closes #26581 (this supersedes the need for the option) Closes #27057 (this also starts ignoring the option)
2015-12-21syntax: Respect allow_internal_unstable in macrosAlex Crichton-5/+11
This change modifies the feature gating of special `#[cfg]` attributes to not require a `#![feature]` directive in the crate-of-use if the source of the macro was declared with `#[allow_internal_unstable]`. This enables the standard library's macro for `thread_local!` to make use of the `#[cfg(target_thread_local)]` attribute despite it being feature gated (e.g. it's a hidden implementation detail).
2015-12-21rustc: Add feature-gated cfg(target_thread_local)Alex Crichton-2/+43
Currently the standard library has some pretty complicated logic to detect whether #[thread_local] should be used or whether it's supported. This is also unfortunately not quite true for OSX where not all versions support the #[thread_local] attribute (only 10.7+ does). Compiling code for OSX 10.6 is typically requested via the MACOSX_DEPLOYMENT_TARGET environment variable (e.g. the linker recognizes this), but the standard library unfortunately does not respect this. This commit updates the compiler to add a `target_thread_local` cfg annotation if the platform being targeted supports the `#[thread_local]` attribute. This is feature gated for now, and it is only true on non-aarch64 Linux and 10.7+ OSX (e.g. what the module already does today). Logic has also been added to parse the deployment target environment variable.
2015-12-22add openbsd snapshotSébastien Marie-0/+1
2015-12-22Auto merge of #30516 - retep998:non-universal-crt, r=alexcrichtonbors-2/+9
Checks for a `10.` prefix on the subfolder because that is what vcvars does. r? @alexcrichton
2015-12-22Add an impl for Box<Error> from String.Michael Sproul-0/+27
Closes #30156.
2015-12-21Fix Universal CRT detection on weird setupsPeter Atashian-2/+9
Checks for a `10.` prefix on the subfolder Signed-off-by: Peter Atashian <retep998@gmail.com>
2015-12-21Auto merge of #30434 - alexcrichton:update-jemalloc, r=alexcrichtonbors-5/+18
It's been awhile since we last updated jemalloc, and there's likely some bugs that have been fixed since the last version we're using, so let's try to update again.
2015-12-21std: Ensure AssertRecoverSafe indeed is more oftenAlex Crichton-16/+24
Types like `&AssertRecoverSafe<T>` and `Rc<AssertRecoverSafe<T>>` were mistakenly not considered recover safe, but the point of the assertion wrapper is that it indeed is! This was caused by an interaction between the `RecoverSafe` and `NoUnsafeCell` marker traits, and this is updated by adding an impl of the `NoUnsafeCell` marker trait for `AssertRecoverSafe` to ensure that it never interacts with the other negative impls of `RecoverSafe`. cc #30510
2015-12-21Auto merge of #30352 - alexcrichton:new-snashots, r=nikomatsakisbors-841/+45
Lots of cruft to remove!
2015-12-21std: Update jemalloc versionAlex Crichton-5/+18
It's been awhile since we last updated jemalloc, and there's likely some bugs that have been fixed since the last version we're using, so let's try to update again.
2015-12-21Auto merge of #30460 - Ms2ger:BindingMode, r=alexcrichtonbors-27/+26
2015-12-21Register new snapshotsAlex Crichton-841/+45
Lots of cruft to remove!
2015-12-21Auto merge of #30512 - semarie:openbsd-libc, r=alexcrichtonbors-1/+1
- upgrades libc to version with `si_addr` support in openbsd - declares libc use for getentropy - remove now unused use r? @alexcrichton
2015-12-21unbreak openbsd codeSébastien Marie-1/+1
- upgrades libc to version with si_addr support in openbsd - declares libc use for getentropy
2015-12-21Auto merge of #30413 - pnkfelix:fsk-span_note, r=Manishearthbors-5/+133
Add note when item accessed from module via `m.i` rather than `m::i`. (I tried to make this somewhat future-proofed, in that the `UnresolvedNameContext` could be expanded in the future with other cases besides paths that are known to be modules.) This supersedes PR #30356 ; since I'm responsible for a bunch of new code here, someone else should review it. :)
2015-12-21Auto merge of #30400 - fbergr:master, r=steveklabnikbors-1/+1
See: https://github.com/rust-lang/rust/issues/30397 r? @steveklabnik
2015-12-21Auto merge of #30493 - semarie:openbsd-cc, r=alexcrichtonbors-21/+5
this PR reverts previous ones, that tried to make `cc` to found `estdc++` in `/usr/local/lib`. It causes more trouble than it resolvs things: rustc become unbuildable if another version already exists in `/usr/local` (for example, `libstd-xxxx.so` is found in `/usr/local/lib` and in builddir). so this PR tries another way to achieve build, but using the good linker for building. By default, rustc use `cc` for linking. But under OpenBSD, `cc` is gcc 4.2.1 from base, whereas we build with gcc 4.9 from ports. By linking using the compiler found at compile-time, we ensure that the compiler will found his own stdc++ library without trouble. r? @alexcrichton
2015-12-21Revert to colon. The text is introducing a list.Luke Jones-1/+1
2015-12-21Update patterns.mdLuke Jones-1/+1
2015-12-21Correct line wrapLuke Jones-4/+12
2015-12-21Auto merge of #30486 - nagisa:mir-fix-geps, r=luqmanabors-3/+6
Fixes https://github.com/rust-lang/rust/issues/30474
2015-12-21Auto merge of #30482 - luqmana:const-fat-ptr, r=dotdashbors-0/+12
Fixes #30479.
2015-12-20Auto merge of #30470 - petrochenkov:owned5, r=nrcbors-34/+69
cc https://github.com/rust-lang/rust/pull/30095 r? @nrc
2015-12-20Stop re-exporting the ast::BindingMode variants.Ms2ger-27/+26
2015-12-20Auto merge of #30469 - nagisa:mir-gv-prettify, r=luqmanabors-9/+9
One will look at graphviz often when working with MIR, so may as well make the tables a bit more pretty :) ![This is what it looks like now](https://cloud.githubusercontent.com/assets/679122/11908983/438f228e-a5ea-11e5-90bd-a2c2ec52412e.png)
2015-12-21Rewrite paragraph in 'match' to be more concise and readable. StartLuke Jones-18/+10
correcting use of ':' in sentences. The colon `:` should be used only when the sentence preceeding it is a complete sentence. If this is not the case, then a `;` should be used; this denotes that the following fragment is a part of the previous fragment.
2015-12-20Corrected deprecation reference to appropriate crateebadf-1/+1
2015-12-20Auto merge of #30468 - Eljay:fix-doc-link, r=alexcrichtonbors-1/+1
2015-12-20Auto merge of #30454 - mmcco:size_t, r=alexcrichtonbors-3/+3
It returns sizeof(dirent_t), so I'm not sure why its return type is int. It's only used once, and that usage immediately casts it to usize.
2015-12-20openbsd: use specific linker for buildingSébastien Marie-0/+2
By default, rustc use `cc` as linker. Under OpenBSD, `cc` is gcc version 4.2.1. So use the compiler found at configure-time for linking: it will be gcc 4.9. It permits to resolv problem of finding -lestdc++ or -lgcc. For base gcc (4.2), there are in not standard path, whereas for ports gcc (4.9) there are in standard path.
2015-12-20remove specific code for OpenBSD that define STDCPP_LIBDIR_RUSTFLAGSSébastien Marie-21/+3
it isn't the good way to process, as it makes conflicts when building rustc while another version of rustc in installed system-wide.