Commit Graph

64065 Commits

Author SHA1 Message Date
bors
0ee56f686d Auto merge of #41352 - kennytm:macos-sanitizers, r=alexcrichton
Support AddressSanitizer and ThreadSanitizer on x86_64-apple-darwin

[ASan](https://clang.llvm.org/docs/AddressSanitizer.html#supported-platforms) and [TSan](https://clang.llvm.org/docs/ThreadSanitizer.html#supported-platforms) are supported on macOS, and this commit enables their support.

The sanitizers are always built as `*.dylib` on Apple platforms, so they cannot be statically linked into the corresponding `rustc_?san.rlib`. The dylibs are directly copied to `lib/rustlib/x86_64-apple-darwin/lib/` instead.

Note, although Xcode also ships with their own copies of ASan/TSan dylibs, we cannot use them due to version mismatch.

----

~~There is a caveat: the sanitizer libraries are linked as `@rpath/` (due to https://reviews.llvm.org/D6018), so the user needs to additionally pass `-C rpath`:~~

**Edit:** Passing rpath is now automatic.
2017-04-26 12:34:45 +00:00
bors
b0a4074c5e Auto merge of #41504 - eddyb:query-api, r=nikomatsakis
Improve the librustc on-demand/query API ergonomics.

Queries are now performed through these two forms:
* `tcx.type_of(def_id)` (the most common usage)
* `tcx.at(span).type_of(def_id)` (to provide a more specific location in the cycle stack)

Several queries were renamed to work better as method names, i.e. by suffixing with `_of`.

r? @nikomatsakis
2017-04-26 09:54:11 +00:00
steveklabnik
29e6656859 Address platform-specific behavior in TcpStream::shutdown
Fixes #25164
2017-04-26 05:30:35 -04:00
steveklabnik
7b7fe9b5c1 Clean up TcpStream example
Fixes #35950
2017-04-26 05:27:03 -04:00
bors
dad9814eb0 Auto merge of #41258 - clarcharr:str_box_extras, r=Kimundi
More methods for str boxes. (reduce Box<[u8]> ↔ Box<str> transmutes)

This is a follow-up to #41096 that adds safer methods for converting between `Box<str>` and `Box<[u8]>`. They're gated under a different feature from the `&mut str` methods because they may be too niche to include in public APIs, although having them internally helps reduce the number of transmutes the standard library uses.

What's added:

* `From<Box<str>> for Box<[u8]>`
* `<Box<str>>::into_boxed_bytes` (just calls `Into::into`)
* `alloc::str` (new module)
* `from_boxed_utf8` and `from_boxed_utf8_unchecked`, defined in `alloc:str`, exported in `collections::str`
* exports `from_utf8_mut` in `collections::str` (missed from previous PR)
2017-04-26 06:18:17 +00:00
Michael Wu
27b00ec752 Cherry pick LLVM hexagon fixes 2017-04-26 02:11:49 -04:00
Christian Poveda
bdb6bb9684 added move 2017-04-26 00:57:59 -05:00
Esteban Küber
1ca1483113 Point at variable moved by closure 2017-04-25 22:03:05 -07:00
bors
4512424391 Auto merge of #41551 - frewsxcv:rollup, r=frewsxcv
Rollup of 9 pull requests

- Successful merges: #39983, #41442, #41463, #41500, #41518, #41527, #41528, #41530, #41535
- Failed merges:
2017-04-26 03:26:12 +00:00
Jessica Hamilton
85c2ff1c46 Update num_cpus dependency to 1.x (1.4.0) 2017-04-26 15:25:03 +12:00
Corey Farwell
1fd8ba9088 Rollup merge of #41535 - steveklabnik:gh37746, r=alexcrichton
Fix up vec guarnatee around capacity

Fixes #37746

r? @rust-lang/libs
2017-04-25 23:06:01 -04:00
Corey Farwell
e2a04678da Rollup merge of #41530 - GuillaumeGomez:vec-from, r=aturon
Implement From<&mut [T]> for Vec

Fixes #41386.
2017-04-25 23:06:00 -04:00
Corey Farwell
9ae413c386 Rollup merge of #41528 - steveklabnik:gh33269, r=frewsxcv
Clarify "side effect" in peek's docs

Fixes #33269

/cc @tshepang
2017-04-25 23:05:59 -04:00
Corey Farwell
e7f1c4fd14 Rollup merge of #41527 - steveklabnik:gh41285, r=frewsxcv
Clarify the doc index

With regards to the unstable book, the reference, and the
processes involved.

Also, fix up a link by pointing to the new tracking issue rather than
the older one.

Fixes #41285

r? @frewsxcv
2017-04-25 23:05:58 -04:00
Corey Farwell
997593f16c Rollup merge of #41518 - tbu-:pr_fix_cp_error, r=sfackler
Fix a copy-paste error in `Instant::sub_duration`

Fixes #41514.
2017-04-25 23:05:58 -04:00
Corey Farwell
41933c315c Rollup merge of #41500 - steveklabnik:gh37866, r=frewsxcv
use the word 'length' in Vec::len's docs

Fixes #37866
2017-04-25 23:05:57 -04:00
Corey Farwell
5f62b2716f Rollup merge of #41463 - SergioBenitez:master, r=alexcrichton
Add internal accessor methods to io::{Chain, Take}.

Resolves #29067.
2017-04-25 23:05:56 -04:00
Corey Farwell
2a320c32ed Rollup merge of #41442 - tbu-:pr_writeall_interrupted, r=aturon
Specify behavior of `write_all` for `ErrorKind::Interrupted` errors

Also spell out that read and write operations should be retried on
`ErrorKind::Interrupted` errors.

Fixes #38494.
2017-04-25 23:05:55 -04:00
Corey Farwell
27fbe8cbca Rollup merge of #39983 - AndrewGaspar:rust-windbg, r=brson
Adds rust-windbg.cmd script

Adds rust-gdb/rust-lldb equivalent for windbg that loads the Rust .natvis files on start.

This change modifies the bootstrap code to add rust-windbg to bin and the .natvis files to lib/rustlib/etc.

Example usage from cmd or PowerShell:
```
rust-windbg -c "bu rs_f442289d74765418!rs::main;g" target\debug\rs.exe
```
2017-04-25 23:05:54 -04:00
Michael Wu
32aeb22f54 Avoid the hexagon backend on old versions of LLVM 2017-04-25 22:59:31 -04:00
Wesley Wiser
9f96d0a7b8 Add a regression test for ICE #33287
Fixes #33287
2017-04-25 22:57:04 -04:00
alexey zabelin
5312f0c329
Fix tidy check errors
This adjusts several lines to be shorter than 100 characters.
2017-04-25 22:22:42 -04:00
Esteban Küber
b10e2933d9 Move cfail tests to ui 2017-04-25 17:17:12 -07:00
bors
7e7114fe2e Auto merge of #41332 - petrochenkov:privti, r=eddyb
Check privacy of trait items in all contexts

Fixes https://github.com/rust-lang/rust/issues/28514

This is a sufficiently rare scenario and it's currently guarded by `private_in_public` lint, so it shouldn't be a [breaking-change] in practice.
2017-04-25 23:46:37 +00:00
Josh Stone
b9bdb1766d Reduce the contents of the rust-src component 2017-04-25 16:13:46 -07:00
Josh Stone
7248f67f1b Build the rustc-src tarball before the rust-src component 2017-04-25 16:13:45 -07:00
alexey zabelin
dd906ef7ec
Fix error message for mismatched types
This addresses #41425 by implementing the changes mentioned in the
following comment:
https://github.com/rust-lang/rust/issues/41425#issuecomment-296754508
2017-04-25 18:28:08 -04:00
Christian Poveda
08514b4376 rewrote the thread struct docs 2017-04-25 17:22:34 -05:00
Vadim Petrochenkov
d349e87d61 Parse trait object types starting with a lifetime bound 2017-04-25 23:58:05 +03:00
Vadim Petrochenkov
4bd417e438 Fix object safety violations in the test 2017-04-25 22:38:39 +03:00
Vadim Petrochenkov
1883b8d715 privacy: Rename and cleanup PrivacyVisitor 2017-04-25 22:38:39 +03:00
Vadim Petrochenkov
82e030322b Check privacy of trait items in all contexts 2017-04-25 22:38:39 +03:00
bors
2b4c911581 Auto merge of #41362 - alexcrichton:run-cargot-ests, r=aturon
Run tests for the cargo submodule in tree

Previously the `cargotest` suite would run some arbitrary revision of Cargo's
test suite, but now that we're bundling it in tree we should be running the
Cargo submodule's test suite instead.
2017-04-25 15:51:40 +00:00
steveklabnik
19b7272dbc Fix up vec guarnatee around capacity
Fixes #37746
2017-04-25 10:41:17 -04:00
Andrea Canciani
5439c9b4ec Define the unavailable target just once and re-use it
The same unavailable target value is used in two different places.
Abstracting it makes it easier to update it and recognise its purpose.
2017-04-25 16:11:18 +02:00
Andrea Canciani
ac8892bdb2 Accept arbitrary filenames into URLs in build-manifest
instead of combining the component and target into a URL.
2017-04-25 16:08:14 +02:00
Oliver Schneider
d64af4a627 Rebase and address comments 2017-04-25 13:35:04 +02:00
Cameron Hart
a510e1df76 Added test for #41479 from @eddyb. 2017-04-25 21:18:30 +10:00
Guillaume Gomez
e70a266b3b Implement From<&mut [T]> for Vec 2017-04-25 12:34:45 +02:00
kennytm
164fd696bf
Do not check if libclang_rt.?san_*_dynamic.dylib is an unstable crate.
These are not even crates...
2017-04-25 18:34:21 +08:00
bors
c7e724a148 Auto merge of #40434 - mattico:splice-update, r=alexcrichton
Implement Vec::splice and String::splice (RFC 1432)

RFC: rust-lang/rfcs#1432, tracking issue: #32310
A rebase of https://github.com/rust-lang/rust/pull/32355 with a few more tests.

Let me know if you have any ideas for more tests.

cc @SimonSapin
2017-04-25 10:34:07 +00:00
Cameron Hart
72acea0e80 Add missing struct field index adjustments.
Some accesses in OperandPairs were missing. Fixes #41479.
2017-04-25 20:27:29 +10:00
Guillaume Gomez
3f97b2a65c Add ui tests 2017-04-25 12:21:28 +02:00
steveklabnik
696df71d0c Clarify "side effect" in peek's docs
Fixes #33269
2017-04-25 05:38:26 -04:00
steveklabnik
dce33e96bc Clarify the doc index
With regards to the unstable book, the reference, and the
processes involved.

Also, fix up a link by pointing to the new tracking issue rather than
the older one.

Fixes #41285
2017-04-25 05:35:51 -04:00
Oliver Schneider
e0655a0319
Fix a parse-fail test 2017-04-25 11:07:43 +02:00
Oliver Schneider
f4b1e2af68
Improve E0178 suggestion placement 2017-04-25 11:07:42 +02:00
Oliver Schneider
3a5567bad4
Address PR comments 2017-04-25 11:07:42 +02:00
Oliver Schneider
ca701d7aeb
Simplify a suggestion for str addition 2017-04-25 11:07:42 +02:00
Oliver Schneider
b857a1a39f
Update affected tests 2017-04-25 11:04:35 +02:00