Commit Graph

54641 Commits

Author SHA1 Message Date
Alex Crichton
39a5d3f409 rustbuild: Implement testing for Android
This commit enhances the rustbuild support for testing Android to the same level
of parity as the makefiles. This involved:

* A new step to copy the standard library and other shared objects to the
  emulator. This is injected as a dependency of all test suites for Android.
* Appropriate arguments are now passed through to compiletest to ensure that it
  can run tests.
* When testing the standard library the test executables are probed for and
  shipped to the emulator to run for each test.
* Fixing compilation of compiler-rt a bit

All support added here is modeled after what's found in the makefiles, just
translating one strategy to another. As an added bonus this commit adds support
for the "check" step to automatically run tests for all targets, and the
"check-target" step now runs all tests for a particular target, automatically
filtering the tests if the target is detected as a cross-compile.

Note that we don't (and probably won't) have a bot which is actually going to
exercise any of this just yet, but all tests have passed locally for me at
least.
2016-06-29 17:01:10 -07:00
Sean McArthur
db1b1919ba std: use siphash-1-3 for HashMap 2016-06-29 16:08:32 -07:00
bors
5dd1001253 Auto merge of #34553 - alexcrichton:fix-nightlies, r=brson
configure: Fix cross-compiling LLVM for realz

Actually got it working this time, and it was again just a problem specifying
the llvm-tblgen binary. We need to point it at the $CFG_BUILD target's tblgen
and then we also needed to correct the path a bit.
2016-06-29 16:02:34 -07:00
Oliver Middleton
01386e6492 Reject invalid urls in linkchecker
For example root-relative links will now be rejected.

Also remove some exceptions which have since been fixed and fix a typo in
the broken redirect handling.
2016-06-29 22:58:57 +01:00
ggomez
7a8b4026ba Fix tests 2016-06-29 22:10:36 +02:00
decauwsemaecker.glen@gmail.com
3f6c38c5e0 propagate rustbuild's bootstrap.py '--help' flag 2016-06-29 12:44:50 -05:00
Alex Crichton
213f1638d9 configure: Fix cross-compiling LLVM for realz
Actually got it working this time, and it was again just a problem specifying
the llvm-tblgen binary. We need to point it at the $CFG_BUILD target's tblgen
and then we also needed to correct the path a bit.
2016-06-29 09:05:18 -07:00
Manish Goregaokar
8e2598c3d2 Rollup merge of #34542 - jseyfried:fix_recursive_modules, r=nrc
Fix non-termination on recursive module re-exports in extern crates

Fixes #33776.
r? @nrc
2016-06-29 21:21:24 +05:30
Manish Goregaokar
cc15c211c5 Rollup merge of #34536 - ollie27:rustdoc_module_impls, r=alexcrichton
rustdoc: Fix empty Implementations section on some module pages

These are caused by `DefaultImpl`s.

For example [`core::marker`](https://doc.rust-lang.org/nightly/core/marker/#impls).
2016-06-29 21:21:23 +05:30
Manish Goregaokar
b393c7e0d2 Rollup merge of #34513 - ollie27:rustdoc_stripped, r=alexcrichton
rustdoc: Fix a few stripping issues

We need to recurse into stripped modules to strip things like impl methods
but when doing so we must not add any items to the `retained` set.

For example this removes [`core::num::ParseFloatError::__description`](https://doc.rust-lang.org/nightly/core/num/struct.ParseFloatError.html#method.__description) and [`impl Clone for ThreadRng`](https://doc.rust-lang.org/nightly/std/clone/trait.Clone.html).
2016-06-29 21:21:23 +05:30
Manish Goregaokar
5bd3ef81c6 Rollup merge of #34499 - michaelwoerister:lldb-blacklist, r=alexcrichton
Disable debuginfo tests for a given blacklist of LLDB versions

Anyone having trouble with most LLDB tests failing on OSX, please report your LLDB version here so I can add it to the blacklist.

Blacklisted versions so far:
* lldb-350.*

cc @rust-lang/tools
cc @tedhorst @indutny @jonathandturner (people from the original bug report)

Fixes #32520.
2016-06-29 21:21:23 +05:30
Manish Goregaokar
2e893ea6de Rollup merge of #34497 - oli-obk:double_negation, r=eddyb
Revert "skip double negation in const eval"

This reverts commit 735c018974.

fixes #34395

The original commit was based on a mis-understanding of the overflowing literal lint.

This needs to be ported to beta.

r? @eddyb
2016-06-29 21:21:22 +05:30
Manish Goregaokar
8886818a9a Rollup merge of #34495 - jseyfried:only_ident_macro_invocations, r=eddyb
Forbid type parameters and global paths in macro invocations

Fixes #28558.
This is a [breaking-change]. For example, the following would break:
```rust
macro_rules! m { () => { () } }
fn main() {
    m::<T>!(); // Type parameters are no longer allowed in macro invocations
    ::m!(); // Global paths are no longer allowed in macro invocations
}
```
Any breakage can be fixed by removing the type parameters or the leading `::` (respectively).

r? @eddyb
2016-06-29 21:21:22 +05:30
Manish Goregaokar
2a0c2c3b3a Rollup merge of #34467 - GuillaumeGomez:err-codes, r=brson
Add new error codes and improve some explanations

r? @brson

cc @steveklabnik
cc @jonathandturner
2016-06-29 21:21:22 +05:30
Manish Goregaokar
d11ac236b1 Rollup merge of #34460 - dsprenkels:issue-33455, r=alexcrichton
Add regression test for #33455

Closes #33455.
2016-06-29 21:21:21 +05:30
Manish Goregaokar
fd45e6e912 Rollup merge of #34459 - jseyfried:expansion_cleanup, r=nrc
Miscellaneous macro expansion cleanup and groundwork

r? @nrc
2016-06-29 21:21:21 +05:30
Manish Goregaokar
470c5191f5 Rollup merge of #34446 - jseyfried:refactor_decorators, r=nrc
Treat `MultiDecorator`s as a special case of `MultiModifier`s

This deals with #32950 by using @durka's [option 1](https://github.com/rust-lang/rust/pull/33769#issuecomment-221774136).
r? @nrc
2016-06-29 21:21:21 +05:30
Manish Goregaokar
f74d0fb568 Rollup merge of #34355 - jseyfried:paren_expression_ids_nonunique, r=nrc
Give `ast::ExprKind::Paren` no-op expressions the same ids as their children.

Having `ast::ExprKind::Paren` expressions share ids with their children
 - reduces the number of unused `NodeId`s in the hir map and
 - guarantees that `tcx.map.expect_expr(ast_expr.id)` is the hir corresponding to `ast_expr`.

This fixes the bug from #34327, which was introduced in #33296 when I assumed the above guarantee.

r? @nrc
2016-06-29 21:21:21 +05:30
Seo Sanghyeon
3c29fc5f6c Fix pretty-printing of lifetime bound 2016-06-29 23:40:29 +09:00
Alexander Merritt
161ba12fad NULL not back-ticked 2016-06-29 10:17:12 -04:00
ggomez
0e326d4780 Add error codes in libsyntax 2016-06-29 13:28:49 +02:00
Jeffrey Seyfried
8557a2e18c Give ast::ExprKind::Paren no-op expressions the same node ids as their children. 2016-06-29 11:06:28 +00:00
Tobias Bucher
6aa0182520 Update documentation to reflect ignoring of unknown addresses 2016-06-29 11:44:33 +02:00
Tobias Bucher
a03a82e5e0 Convert a simple tail call to a loop 2016-06-29 11:39:56 +02:00
Tobias Bucher
d6237cefcb Ignore unknown address types when looking up hosts
Previously, any function using a `ToSocketAddrs` input would fail if
passed a hostname that resolves to an address type different from the
ones recognized by Rust.

This also changes the `LookupHost` iterator to only include the known
address types, as a result, it doesn't have to return `Result`s any
more, which are likely misinterpreted as failed name lookups.
2016-06-29 11:39:56 +02:00
Jeffrey Seyfried
db57e67452 Support cfg_attr on path attributes 2016-06-29 09:35:56 +00:00
Seo Sanghyeon
58c581cc46 Add rustc-stageN targets to rustbuild 2016-06-29 17:37:56 +09:00
Jeffrey Seyfried
a9d25f8b59 Refactor away parser.commit_stmt_expecting() 2016-06-29 06:40:05 +00:00
Jeffrey Seyfried
a595ffaac5 Treat MultiDecorators as a special case of MultiModifiers 2016-06-29 01:25:46 +00:00
Jeffrey Seyfried
66ef652559 Disallow derive on items with type macros 2016-06-29 01:25:36 +00:00
Jeffrey Seyfried
a77a179637 Rollup merge of #34305 - Aaronepower:master, r=alexcrichton
Added Default trait for Cow.

Adds a default implementation for Cow. Which is the Owned's default.
2016-06-29 00:39:54 +00:00
Jeffrey Seyfried
2fda7d4a51 Rollup merge of #34105 - ollie27:rustdoc_derived, r=alexcrichton
rustdoc: Remove Derived Implementations title

As far as I know whether a trait was derived or not does not change the
public API so there is no need to include this information in the docs.

This title currently just adds an extra divide in the list of trait
implementations which I don't think needs to be there.
2016-06-29 00:33:30 +00:00
Jeffrey Seyfried
9ffe1c9fba Add regression test 2016-06-29 00:27:18 +00:00
Jupp Müller
8f3e4989a5 Improve code example for try!
This change improves the code example for try!,
avoiding to use try! in the example code that shows
what code constructs try! can replace.
2016-06-29 01:13:03 +02:00
Jeffrey Seyfried
232783c914 Fix infinite loop on recursive module exports in an extern crate 2016-06-28 23:03:56 +00:00
Oliver Middleton
f05da01dbe rustdoc: Fix empty Implementations section on some module pages
These are caused by `DefaultImpl`s.
2016-06-28 22:53:50 +01:00
Ariel Ben-Yehuda
bff28ec468 refactor rustc_metadata to use CamelCase names and IndexVec 2016-06-28 23:41:09 +03:00
Peter Atashian
a1b33b4fdc
Make MSVC detection ludicrously robust
Should fix a few more edge cases

Fixes https://github.com/rust-lang/rust/issues/31151
Fixes https://github.com/rust-lang/rust/issues/32159
Fixes https://github.com/rust-lang/rust/issues/34484
Improves https://github.com/rust-lang/rust-packaging/issues/50

Signed-off-by: Peter Atashian <retep998@gmail.com>
2016-06-28 16:29:58 -04:00
Jonathan Price
ec66b5addc used curly instead of straight quotes 2016-06-28 14:09:32 -05:00
bors
366de839ae Auto merge of #34519 - alexcrichton:fix-nightlies, r=brson
Try to fix the nightlies

They look to be failing right after the CMake PR landed. I've diagnosed and confirmed the first issue fixed, the second is a bit of a shot in the dark to see if it fixes things.
2016-06-28 11:52:36 -07:00
Jonathan Price
763cec21f0 Merging my book edits recent commits. 2016-06-28 13:06:15 -05:00
Jonathan Price
8eb56e6988 took comment out of code block
no reason for a long comment in a code block when we could take it out, especially since it looks like it's using markdown (`struct`, `&` and `lvl`).
2016-06-28 11:39:24 -05:00
Andre Bogus
5de684adf6 adressed @eddyb's comments 2016-06-28 18:07:39 +02:00
Jonathan Price
4f1f764548 fixed typo: term should be terms
two terms (input lifetime and output lifetime) so "term" needs to be plural.
2016-06-28 10:49:37 -05:00
bors
59152a45af Auto merge of #34525 - GuillaumeGomez:rollup, r=GuillaumeGomez
Rollup of 13 pull requests

- Successful merges: #34080, #34287, #34328, #34406, #34415, #34442, #34462, #34471, #34475, #34479, #34517, #34518, #34524
- Failed merges: #33951
2016-06-28 07:48:56 -07:00
Guillaume Gomez
dd56a6ad08 Rollup merge of #34524 - frewsxcv:std-io-sink, r=GuillaumeGomez
Add doc example for `std::io::sink`.

None
2016-06-28 16:05:16 +02:00
Guillaume Gomez
dcc8fa5270 Rollup merge of #34518 - frewsxcv:io-repeat, r=GuillaumeGomez
Add doc example for `std::io::repeat`.

None
2016-06-28 16:05:16 +02:00
Guillaume Gomez
f47fcc738b Rollup merge of #34517 - frewsxcv:empty, r=GuillaumeGomez
Minor rewrite of `std::io::empty` doc example.

None
2016-06-28 16:05:16 +02:00
Guillaume Gomez
890e3a7a1a Rollup merge of #34479 - ollie27:rustdoc_renamed_reexport_list, r=GuillaumeGomez
rustdoc: Fix inlined renamed reexports in import lists

Fixes #34473
2016-06-28 16:05:15 +02:00
Guillaume Gomez
f8453a1d17 Rollup merge of #34475 - frewsxcv:path-component, r=GuillaumeGomez
Expand `std::path::Component` documentation.

Indicate how it gets created and add an example.
2016-06-28 16:05:15 +02:00