Commit Graph

59455 Commits

Author SHA1 Message Date
Jeremy Soller
ece703a192 Add Redox make config 2016-12-15 16:31:00 -07:00
Jeremy Soller
d2707aa1b9 Use panic abort by default 2016-12-15 16:31:00 -07:00
Jeremy Soller
a621d1270b Fix issue with setting cfg(unix) 2016-12-15 16:31:00 -07:00
Jeremy Soller
c7aa2843b3 Fix typo 2016-12-15 16:31:00 -07:00
Jeremy Soller
341d2d1923 Add redox target 2016-12-15 16:31:00 -07:00
bors
8f02c429ad Auto merge of #38394 - alexcrichton:fix-nightlies, r=brson
rustbuild: Package rust-mingw by default

This fixes the `make dist` step on MinGW to package the `rust-mingw` component
by default. This should hopefully be the last step in fixing nightlies.
2016-12-15 19:43:28 +00:00
Alex Crichton
67ae4ab5c2 rustbuild: Package rust-mingw by default
This fixes the `make dist` step on MinGW to package the `rust-mingw` component
by default. This should hopefully be the last step in fixing nightlies.
2016-12-15 10:05:41 -08:00
bors
f70ad0adfd Auto merge of #38331 - bluss:assume-stage, r=alexcrichton
rustbuild: Add cli option --keep-stage

This option is intended to be used like:

./x.py build --stage 1 --keep-stage 0

Which skips all stage 0 steps, so that stage 1 can be recompiled
directly (even if for example libcore has changes).

This is useful when working on `cfg(not(stage0))` parts of the
libraries or when re-running stage 1 tests in libraries in general.

Fixes #38326
2016-12-15 14:01:55 +00:00
bors
833b03ad52 Auto merge of #38185 - jsgf:test-list, r=alexcrichton
libtest: add --list option to list tests and benchmarks

This option lists all the tests and benchmarks a binary provides without running any of them.
By default the listing is sent to stdout (intended for human consumption), but if `--logfile` is also specified, it is also written there in an easily parsable form.

If filters are specified, they're applied before the output is emitted. The human output will also include a summary unless `-q` is specified.
2016-12-15 09:26:25 +00:00
bors
cfa668f3bf Auto merge of #37702 - redox-os:redox, r=brson
Redox Support Preview

# Important - This is only a preview of a working `sys::redox`.

Compiling the Redox default distribution with this `libstd` results in a fully functioning distribution. As such, all further changes would be cosmetic or implementing features that have not been used by the default distribution (of which there are only a small number).

I do not expect this to be merged, but would like to discuss how it may be improved and get feedback.

There are a few `unimplemented!()` - `cloexec` for example. I have documented them below. These would be resolved before desiring a merge.

There are also issues with how the Redox syscall library is called - currently I am using a re-export in `libc` but that probably would not be desired.
2016-12-15 06:23:11 +00:00
bors
7ad7232422 Auto merge of #38375 - petrochenkov:prim, r=eddyb
Fix regression in resolution of primitive types

Fix often encountered ICE.
Extracted from https://github.com/rust-lang/rust/pull/38154
Fixes https://github.com/rust-lang/rust/issues/38155, fixes https://github.com/rust-lang/rust/issues/38188, fixes https://github.com/rust-lang/rust/issues/38277, fixes https://github.com/rust-lang/rust/issues/38280, fixes https://github.com/rust-lang/rust/issues/38292, fixes https://github.com/rust-lang/rust/issues/38311, fixes https://github.com/rust-lang/rust/issues/38344, fixes https://github.com/rust-lang/rust/issues/38363, fixes https://github.com/rust-lang/rust/issues/38372 (duplicates)

r? @jseyfried or @eddyb or @nrc
2016-12-15 02:39:34 +00:00
Ulrik Sverdrup
0e01427bba rustbuild: Add small description of --keep-stage 2016-12-15 01:19:17 +01:00
bors
52e024f2d1 Auto merge of #38374 - alexcrichton:makefile-fix, r=brson
mk: Fix `make check`

When the rustc-unicode crate was renamed to std-unicode we just need to continue
to filter it out of the crates being tested.
2016-12-14 23:37:21 +00:00
Vadim Petrochenkov
0157e6c058 Fix regression in resolution of primitive types 2016-12-15 02:12:08 +03:00
Alex Crichton
769c5579c9 mk: Fix make check
When the rustc-unicode crate was renamed to std-unicode we just need to continue
to filter it out of the crates being tested.
2016-12-14 15:05:20 -08:00
bors
0d558d012a Auto merge of #38367 - alexcrichton:fix-nightiles, r=brson
rustbuild: Run `dist` on a `distcheck`

This is what the nightly bots expect, so let's be sure to do that.
2016-12-14 20:35:10 +00:00
Alex Crichton
c7f4cdcabc rustbuild: Run dist on a distcheck
This is what the nightly bots expect, so let's be sure to do that.
2016-12-14 11:03:22 -08:00
Jeremy Fitzhardinge
516d105c0b libtest: add --list option to list tests and benchmarks
This option lists all the tests and benchmarks a binary provides. By default the listing
is sent to stdout, but if --logfile is also specified, it is written there.

If filters are specified, they're applied before the output is emitted.
2016-12-14 10:15:36 -08:00
bors
b197e4a45f Auto merge of #38295 - dylanmckay:llvm-4.0-di-globalvar, r=michaelwoerister
[LLVM 4.0] Update LLVM global variable debug info API for 4.0

This teaches Rust about an LLVM 4.0 API change for creating debug info
for global variables.

This change was made in upstream LLVM patch https://reviews.llvm.org/D20147

This is almost a 1:1 copy of how clang did it in http://reviews.llvm.org/D20415
2016-12-14 17:36:01 +00:00
Jeremy Soller
3e15dc108c Merge branch 'master' into redox 2016-12-14 10:20:12 -07:00
bors
4cda3b6a65 Auto merge of #38351 - sanxiyn:doc-test-args, r=alexcrichton
Document --test-args for rustbuild

There are three changes:

* Replace --filter with --test-args
* Delete `./x.py test src/test/run-pass/assert-*` example, which doesn't work
* As driveby, update Buildbot URLs to https

Fix #38275.

r? @alexcrichton
2016-12-14 14:35:42 +00:00
bors
01d53df82e Auto merge of #38340 - alexcrichton:fix-travis, r=alexcrichton
Fix travis builds

After reading some articles [1] [2] yesterday about Docker and the "init"
process I got to thinking about the problems that we've been seeing on Travis.
The basic problem is that a Linux system may need an "init" process to work
properly when processes become zombies. Docker by default doesn't handle this
and the root process typically isn't an init process, so this can occasionally
cause quite a few problems.

We've been seeing spurious errors on Travis inside containers which look like
OOM and such, but my guess is that zombie processes were being reparented to the
top-level shell. The shell didn't expect the zombies and then behaved very
strangely.

This commit fixes these problems by using Yelp's "dumb-init" program [2] as the
init process in all of our containers. This ensures that there's a valid init
ready to reap children when they're reparented, which our test suite apparently
generates a bunch of throughout the tests and such.

[1]: https://blog.phusion.nl/2015/01/20/docker-and-the-pid-1-zombie-reaping-problem/
[2]: https://engineeringblog.yelp.com/2016/01/dumb-init-an-init-for-docker.html
2016-12-14 09:56:38 +00:00
Dylan McKay
e080804f72 Update LLVM global variable debug info API for 4.0
This teaches Rust about an LLVM 4.0 API change for creating debug info
for global variables.

This change was made in upstream LLVM patch https://reviews.llvm.org/D20147

This is almost 1:1 copy of how clang did it in http://reviews.llvm.org/D20415
2016-12-14 21:39:13 +13:00
bors
5d3ec6b0a0 Auto merge of #38332 - bluss:copy-prop-arguments, r=eddyb
Allow copy-propagation of function arguments

Allow propagating function argument locals in copy propagation.
2016-12-14 06:26:21 +00:00
bors
aa7a2e9e61 Auto merge of #38181 - jsgf:test-filter-exact, r=alexcrichton
libtest: add --exact to make filter matching exact

Filter matching is by substring by default. This makes it impossible
to run a single test if its name is a substring of some other test.
For example, its not possible to run just `mymod::test` with these
tests:

```
  mymod::test
  mymod::test1
  mymod::test_module::moretests
```

You could declare by convention that no test has a name that's a
substring of another test, but that's not really practical.

This PR adds the `--exact` flag, to make filter matching exactly
match the complete name.
2016-12-14 00:31:48 +00:00
bors
a274617044 Auto merge of #38278 - jseyfried:improve_proc_macro_def_ids, r=michaelwoerister
Improve proc-macro def ids

Support `cstore.relative_def_path(id)` and `cstore.def_key(id)` with proc-macro def ids.
Fixes #38207.
r? @nikomatsakis
2016-12-13 21:31:43 +00:00
bors
2ac7121672 Auto merge of #38353 - alexcrichton:fix-nightiles, r=alexcrichton
Another round of nightly fixes

Another three separate errors happened last night:

* Race condition in save analysis failed the OX build
* Packaging docs that don't exist failed the Android build
* Packaging save-analysis that doesn't exist failed the cross host builds

It just never ends...
2016-12-13 18:29:22 +00:00
Alex Crichton
194c3fb154 rustbuild: Don't dist docs if disabled
This commit skips the `docs` dist step if the `--disable-docs` flag is passed,
fixing a compile error seen on nightly.
2016-12-13 09:21:42 -08:00
Alex Crichton
bbf2b70893 rustbuild: Skip some more non-relevant dist steps
This commit skips a few more dist tragets during compilation which shouldn't be
necessary.

* First, when packaging std we only take action when the host target is the
  build target. Otherwise we package the same artifacts a number of times, which
  shouldn't be necessary.
* Next, we apply the same logic to the save-analysis build. This is actually
  required for correctness as the build compiler is the only one which actually
  has save analysis information. This should fix an error seen on nightlies.
2016-12-13 09:17:33 -08:00
Alex Crichton
a1f5001998 rustc: Use create_dir_racy in save analysis
The OSX bots failed last night due a race condition in save analysis where
concurrent calls to `fs::create_dir_all` conflicted with one another. This
replaces the relevant function call with `fs::create_dir_racy` which is defined
internally to the compiler.
2016-12-13 09:17:28 -08:00
Seo Sanghyeon
8ed52ed27d Document --test-args for rustbuild 2016-12-14 01:31:48 +09:00
bors
7f78b420b0 Auto merge of #38317 - shepmaster:llvm-4.0-debuginfo-alignment, r=eddyb
[LLVM 4.0] Move debuginfo alignment argument

Alignment was removed from createBasicType and moved to

- createGlobalVariable
- createAutoVariable
- createStaticMemberType (unused in Rust)
- createTempGlobalVariableFwdDecl (unused in Rust)

e69c459a6e
2016-12-13 15:27:19 +00:00
bors
0d1b9f4614 Auto merge of #38309 - sfackler:rfc-1725, r=alexcrichton
Implement RFC #1725 (read_unaligned, write_unaligned)

cc #37955

r? @alexcrichton
2016-12-13 12:28:14 +00:00
bors
ace092f569 Auto merge of #38286 - pftbest:msp430_at_symbol, r=michaelwoerister
[MSP430] Do not generate '@' character in symbol names.

MSP430 assembler does not like '@' character in symbol names, so we need
to replace it with some other character.

Fixes #38116
2016-12-13 09:30:25 +00:00
Alex Crichton
5e991e0afb Fix travis builds
After reading some articles [1] [2] yesterday about Docker and the "init"
process I got to thinking about the problems that we've been seeing on Travis.
The basic problem is that a Linux system may need an "init" process to work
properly when processes become zombies. Docker by default doesn't handle this
and the root process typically isn't an init process, so this can occasionally
cause quite a few problems.

We've been seeing spurious errors on Travis inside containers which look like
OOM and such, but my guess is that zombie processes were being reparented to the
top-level shell. The shell didn't expect the zombies and then behaved very
strangely.

This commit fixes these problems by using Yelp's "dumb-init" program [2] as the
init process in all of our containers. This ensures that there's a valid init
ready to reap children when they're reparented, which our test suite apparently
generates a bunch of throughout the tests and such.

[1]: https://blog.phusion.nl/2015/01/20/docker-and-the-pid-1-zombie-reaping-problem/
[2]: https://engineeringblog.yelp.com/2016/01/dumb-init-an-init-for-docker.html
2016-12-13 00:13:14 -08:00
bors
b1a2ab86db Auto merge of #38179 - michael-zapata:rf/harmonise_rustdoc_errors, r=GuillaumeGomez
feat(rustdoc): harmonise error messages

Based on unix tools wording, it follows a standard format: `program_name: context: error message`, potentially prompting the user to use the `--help` option.

This is clearly meant to trigger some discussion on #38084, as messages still use `stdout` and `stderr` somewhat arbitrarily, and there are a few `error!()` calls as well.
2016-12-13 06:29:25 +00:00
Steven Fackler
75fe727b78 Implement RFC #1725
cc #37955
2016-12-12 21:44:09 -08:00
bors
5a2b50b33d Auto merge of #38325 - frewsxcv:rollup, r=frewsxcv
Rollup of 7 pull requests

- Successful merges: #37052, #37941, #38067, #38164, #38202, #38264, #38299
- Failed merges:
2016-12-13 02:28:23 +00:00
Ulrik Sverdrup
4e696edc71 rustbuild: Add cli option --keep-stage
This option is intended to be used like:

./x.py build --stage 1 --keep-stage 0

Which skips all stage 0 steps, so that stage 1 can be recompiled
directly (even if for example libcore has changes).

This is useful when working on `cfg(not(stage0))` parts of the
libraries, or when re-running stage 1 tests in libraries in general.
2016-12-13 00:05:12 +01:00
Jeremy Soller
daaa231876 Fix tidy checks 2016-12-12 15:57:19 -07:00
bors
1336742a1a Auto merge of #38324 - alexcrichton:fix-nightlies, r=alexcrichton
First attempt at fixing nightlies

Looks like we've got a whole slew of bugs on our hands, let's try to fix them all at once.
2016-12-12 22:14:05 +00:00
Jeremy Soller
7e7775ce7b Merge branch 'master' into redox 2016-12-12 14:55:09 -07:00
Jeremy Soller
c61baa0fc7 Fix accidental removal of import 2016-12-12 14:30:41 -07:00
Jeremy Soller
056ebccee3 Rollback prefix 2016-12-12 14:21:44 -07:00
Alex Crichton
6cb8bbc3ff rustbuild: Fix dist of save-analysis info
We don't need an extra bare tarball, the save-analysis info is already produced
with a version/target in the filename.
2016-12-12 12:28:22 -08:00
Corey Farwell
cba1304313 Rollup merge of #38299 - achanda:ctrl-c, r=brson
Handle Ctrl+C in the build script
2016-12-12 14:10:33 -05:00
Corey Farwell
e3363f2772 Rollup merge of #38264 - ollie27:rustdoc_src_macro, r=brson
rustdoc: Remove broken src links from reexported items from macros

When an item is defined in an external macro it doesn't get a real
filename so we need to filter out these when generating src links for
reexported items.
2016-12-12 14:10:33 -05:00
Corey Farwell
a9dcfd0936 Rollup merge of #38202 - michaelwoerister:closure-ich-test, r=nikomatsakis
Some incr. comp. hash tests

r? @nikomatsakis
2016-12-12 14:10:33 -05:00
Corey Farwell
5e425b7b4b Rollup merge of #38164 - sourcefrog:fonts, r=GuillaumeGomez
Avoid using locally installed Source Code Pro font (fixes #24355).

In some versions of this font the ampersands are drawn badly.

A doc tree built with this change is at https://storage.googleapis.com/mbp-rust-builds/fonts/doc/std/index.html

I'm not seeing this problem locally so I'm not sure this fixes it, but based on the diagnosis in the bug it should.

I've made this a minimal change by only removing the one problematic font but maybe for consistency every font should be read from the Rust docs tree?
2016-12-12 14:10:33 -05:00
Corey Farwell
3bd2c80382 Rollup merge of #38067 - GuillaumeGomez:udp-doc, r=frewsxcv,nagisa
Add more examples to UpdSocket

r? @frewsxcv
2016-12-12 14:10:32 -05:00