Commit Graph

91881 Commits

Author SHA1 Message Date
Jacob Kiesel
e2b5a0334d Fix formatting and add unit tests for panic cases 2019-03-20 15:16:50 -06:00
Jacob Kiesel
2f8d9a23ee Add NAN test to docs 2019-03-20 15:07:16 -06:00
Niko Matsakis
ca5a2122cc expand the fixme 2019-03-20 20:17:17 +01:00
Niko Matsakis
0cb7926e05 refactor so that relate_ty_var can accommodate vid on a or b side 2019-03-20 20:17:12 +01:00
Niko Matsakis
356ea0b405 nll_relate/mod.rs: rustfmt 2019-03-20 20:09:26 +01:00
scalexm
d6a2b7c470 Fix a bug in implied bounds 2019-03-20 20:09:26 +01:00
scalexm
4effdd2431 Fix a bug in chalk lowering
Some where clauses were not subtituted for generic bound type vars.
2019-03-20 20:09:26 +01:00
scalexm
1834665508 Add unsize impls for arrays 2019-03-20 20:09:26 +01:00
scalexm
66b4a0852d Reorganize chalk_context::program_clauses 2019-03-20 20:09:26 +01:00
scalexm
60ea7cbe4e Gather region constraints not coming from unification 2019-03-20 20:03:20 +01:00
scalexm
c3b33a7f3b Fix a bug in chalk unification code 2019-03-20 20:03:19 +01:00
Esteban Küber
a8120d660a Tweak incorrect escaped char diagnostic 2019-03-20 11:45:25 -07:00
varkor
aff175b328 Update tests 2019-03-20 18:32:52 +00:00
varkor
4900585a4f Unify E0109, E0110 and E0111 errors 2019-03-20 18:32:30 +00:00
varkor
c745708aa3 Unify E0109, E0110 and E0111 diagnostic messages 2019-03-20 18:32:13 +00:00
Simon Sapin
c1d9191fa5 Add a test for size_of Option<ThreadId> 2019-03-20 19:04:38 +01:00
bors
82e2f3ec25 Auto merge of #58791 - denzp:asm-compile-tests, r=alexcrichton
Introduce assembly tests suite

The change introduces a new test suite - **Assembly** tests. The motivation behind this is an ability to perform end-to-end codegen testing with LLVM backend. Turned out, NVPTX backend sometimes missing common Rust features (`i128` and libcalls in the past, and still full atomics support) due to different reasons.

Prior to this change, basic NVPTX assembly tests were implemented within `run-make` suite. Now, it's easier to write additional and maintain existing tests for the target.

cc @gnzlbg @peterhj
cc @eddyb I adjusted mangling scheme expectation, so there is no need to change the tests for #57967
2019-03-20 17:54:27 +00:00
John Kåre Alsaker
75677c45c3 Fix whitespace 2019-03-20 18:00:08 +01:00
John Kåre Alsaker
4d0a1e418c Add eval_always to query macro and move a query over 2019-03-20 17:22:16 +01:00
John Kåre Alsaker
52374a6462 Add anon to query macro and move a query over 2019-03-20 17:13:44 +01:00
John Kåre Alsaker
d060e7df44 Add no_force to query macro and move some queries over 2019-03-20 16:53:55 +01:00
John Kåre Alsaker
b440041a19 Allow itertools 2019-03-20 16:34:30 +01:00
John Kåre Alsaker
72f8d4e222 Add no_hash to query macro and move some queries over 2019-03-20 16:06:09 +01:00
bors
9c499ccfcd Auto merge of #57018 - dcreager:redundant-linker, r=alexcrichton
Keep last redundant linker flag, not first

When a library (L1) is passed to the linker multiple times, this is sometimes purposeful: there might be several other libraries in the linker command (L2 and L3) that all depend on L1.  You'd end up with a (simplified) linker command that looks like:

```
-l2 -l1 -l3 -l1
```

With the previous behavior, when rustc encountered a redundant library, it would keep the first instance, and remove the later ones, resulting in:

```
-l2 -l1 -l3
```

This can cause a linker error, because on some platforms (e.g. Linux), the linker will only include symbols from L1 that are needed *at the point it's referenced in the command line*.  So if L3 depends on additional symbols from L1, which aren't needed by L2, the linker won't know to include them, and you'll end up with "undefined symbols" errors.

A better behavior is to keep the *last* instance of the library:

```
-l2 -l3 -l1
```

This ensures that all "downstream" libraries have been included in the linker command before the "upstream" library is referenced.

Fixes rust-lang#47989
2019-03-20 14:42:47 +00:00
Saleem Jaffer
8829ddadc4 remove visit_static from librustc::mir 2019-03-20 19:40:15 +05:30
O01eg
b6e5d7348a
Add messages for different verbosity levels.
Output copy actions
2019-03-20 12:50:18 +03:00
John Kåre Alsaker
e842f570d9 Add a -Z time option which prints only passes which runs once 2019-03-20 07:54:46 +01:00
bors
0c8700b9d5 Auto merge of #59298 - kennytm:rollup, r=kennytm
Rollup of 5 pull requests (all of which changes `src/ci/docker`)

Successful merges:

 - #58986 ([CI] Update binutils for powerpc64 and powerpc64le)
 - #59038 (Track embedded-book in the toolstate)
 - #59055 (CI: Set job names.)
 - #59253 (Calculate Docker cache hash precisely from Dockerfile's dependencies)
 - #59257 (Update CI configuration for building Redox libraries)

Failed merges:

r? @ghost
2019-03-20 05:01:38 +00:00
gnzlbg
46a8beb4b2 Move some bench tests back from libtest 2019-03-20 01:22:19 +01:00
kennytm
f31974a18e
Rollup merge of #59257 - redox-os:upstream-redox, r=sanxiyn
Update CI configuration for building Redox libraries

This fixes https://github.com/rust-lang/rust/issues/59254
2019-03-20 04:34:07 +08:00
kennytm
abdb7733f4
Rollup merge of #59253 - kennytm:precise-docker-cache-hash, r=pietroalbini
Calculate Docker cache hash precisely from Dockerfile's dependencies

#58549 changed the Docker cache calculation to include every file under `src/ci/docker`, so that when files under `dist-x86_64-linux` is changed, its dependent image `dist-i686-linux` will also be rebuilt.

However, this ultraconservative solution caused the `dist-i686-linux` to be rebuilt every time an irrelevant Dockerfile (e.g. the PowerPC ones) is changed, which increases the building time beyond 3 hours and forcing a spurious but expected failure.

This commit instead parses the Dockerfile itself and look for the actual dependencies. The scripts needs to be copied into the Docker image, which must be done with the COPY command, so we just need to find all lines with a COPY command and add the source file into the hash calculator.

Note: this script only handles single-lined COPY command in the form `COPY src1 src2 src3 dst`, since these are the only variant used inside this repository.
2019-03-20 04:34:06 +08:00
kennytm
9da8fe4e02
Rollup merge of #59055 - ehuss:ci-job-name, r=alexcrichton
CI: Set job names.

This should make it easier to identify what each job is doing when looking at the Travis or Appveyor UI.

- Set `name` for each job in Travis.
- Move `CI_JOB_NAME` to the front in Appveyor so that it appears first in the UI.
2019-03-20 04:34:04 +08:00
kennytm
5d8a30d270
Rollup merge of #59038 - kennytm:track-embedded-book, r=oli-obk
Track embedded-book in the toolstate

The embedded book was tested in the tools job but the test result was never published. This PR adds maintainer information of embedded-book. This PR also requires the next update to embedded-book to pass the all tests, currently its state is test-fail.

rust-lang-nursery/rust-toolstate#10 should be merged before this PR.
2019-03-20 04:34:02 +08:00
kennytm
b3490cf418
Rollup merge of #58986 - cuviper:ppc64-binutils, r=alexcrichton
[CI] Update binutils for powerpc64 and powerpc64le

Cargo powerpc64 and powerpc64le are seeing `SIGILL` crashes in openssl,
which was found to be a linking problem, fixed by newer binutils. See
<https://github.com/rust-lang/rust/issues/57345#issuecomment-462094555>

For powerpc64 we're using crosstool-ng, which doesn't offer a newer
binutils version, but we can just compile it separately. On powerpc64le
we're already building binutils. Both are now updated to binutils 2.32.

Closes rust-lang/cargo#6320
Closes rust-lang/rust#57345
Closes rust-lang/rustup.rs#1620

r? @alexcrichton
2019-03-20 04:34:01 +08:00
kennytm
f8bffad4f1
Use curl instead of wget in install-x86_64-redox.sh 2019-03-20 04:30:49 +08:00
Esteban Küber
757eb67992 review comments 2019-03-19 13:17:25 -07:00
Alex Crichton
664838582b rustc: Update linker flavor inference from filename
This commit fixes what is believed to be a preexisting bug in the linker
flavor inference and additionally adds a new features. Previously if the
linker didn't end in `exe` the entire file name was compared to infer
the linker's flavor. This commit fixes the code to instead
unconditionally inspect `file_stem()` which is the relevant part we're
looking at to figure out what the linker flavor is.

Additionally this commit now also adds recognition of `clang` and clang
wrappers that end in `-clang` (which look like gcc wrappers). This
should allow clang-specific wrappers to get correctly inferred to the
`Gcc` linker flavor rather than the default linker flavor configured for
a target.
2019-03-19 13:01:14 -07:00
Andy Russell
a291d4e94c
convert field/method confusion help to suggestions 2019-03-19 15:56:29 -04:00
Vadim Petrochenkov
30d5dc9a0a Do not encode gensymed imports in metadata 2019-03-19 22:50:46 +03:00
Douglas Creager
32d99efa40 Ignore test on Windows 2019-03-19 14:53:19 -04:00
bors
3eb4890dfe Auto merge of #57842 - gnzlbg:extract_libtest, r=gnzlbg
Move libtest out of rust-lang/rust

This is a first step towards a number of goals explained in this internals post: https://internals.rust-lang.org/t/a-path-forward-towards-re-usable-libtest-functionality-custom-test-frameworks-and-a-stable-bench-macro

This PR does not fully remove libtest from rust-lang/rust, we keep a shim that imports and re-exports the external libtest, and adds the proc_macro dependency, etc.

r? @alexcrichton

cc @djrenren @petrochenkov
2019-03-19 18:30:21 +00:00
gnzlbg
1446b242ce Remove libterm from bootstrap 2019-03-19 19:25:30 +01:00
James Duley
62c159e500 Fix missing cfg for aarch64 + ios in ffi.rs 2019-03-19 17:07:09 +00:00
James Duley
8485f58abf Fix AArch64 typo in comments 2019-03-19 17:07:09 +00:00
James Duley
727a15f296 Fix aarch64 typo 2019-03-19 17:07:09 +00:00
Douglas Creager
b58e19db30 Explicitly prefer dynamic linking in test case 2019-03-19 11:56:32 -04:00
bors
7a4df3b53d Auto merge of #59293 - Centril:rollup, r=Centril
Rollup of 11 pull requests

Successful merges:

 - #56348 (Add todo!() macro)
 - #57729 (extra testing of how NLL handles wildcard type `_`)
 - #57847 (dbg!() without parameters)
 - #58778 (Implement ExactSizeIterator for ToLowercase and ToUppercase)
 - #58812 (Clarify distinction between floor() and trunc())
 - #58939 (Fix a tiny error in documentation of std::pin.)
 - #59116 (Be more discerning on when to attempt suggesting a comma in a macro invocation)
 - #59252 (add self to mailmap)
 - #59275 (Replaced self-reflective explicit types with clearer `Self` or `Self::…` in stdlib docs)
 - #59280 (Stabilize refcell_map_split feature)
 - #59290 (Run branch cleanup after copy prop)

Failed merges:

r? @ghost
2019-03-19 14:30:42 +00:00
Mazdak Farrokhzad
7f7829fa8f
Rollup merge of #59290 - oli-obk:trivial_move_prop, r=davidtwco
Run branch cleanup after copy prop

This is preliminary work for https://github.com/rust-lang/rust/pull/59288#issuecomment-474277172 which gets rid of `if` in the HIR.

cc @rust-lang/wg-mir-opt 	@Centril
2019-03-19 15:17:03 +01:00
Mazdak Farrokhzad
a3581aca02
Rollup merge of #59280 - joshlf:sandbox/joshlf/stabilize-refcell-map-split, r=cramertj,Centril
Stabilize refcell_map_split feature

Closes #51476.
2019-03-19 15:17:00 +01:00
Mazdak Farrokhzad
1ec1c5da36
Rollup merge of #59275 - regexident:docs-self, r=joshtriplett
Replaced self-reflective explicit types with clearer `Self` or `Self::…` in stdlib docs

Many docs examples use explicit types instead of the semantically more clear `Self`/`Self::…` aliases.

By using the latter it's clear that the value's type depends on either `Self`, or an associated type of `Self`, instead of some constant type. It's also more consistent (and I'd argue correct), as the current docs aren't really consistent in this, as can be seen from the diff.

This is a best effort PR, as I was basically going through the docs manually, looking for offending examples. I'm sure I missed a few. Gotta start somewhere.
2019-03-19 15:16:59 +01:00