Commit Graph

1221 Commits

Author SHA1 Message Date
kennytm
0834a1aea7
Rollup merge of #53492 - danc86:lld-riscv, r=alexcrichton
update lld submodule to include RISCV patch

This pulls in one new commit, to add support for linking static RISCV
binaries, suitable for the new riscv32imac-unknown-none-elf target.
See: https://github.com/rust-lang/lld/pull/1
2018-08-21 17:51:48 +08:00
kennytm
c980ba75fc
Rollup merge of #53452 - tromey:lldb-manifest-fix, r=alexcrichton
Change target triple used to check for lldb in build-manifest

The wrong target triple was used for lldb in build-manifest.  lldb is
only built for macOS, so update the triple to reflect that.

This is an attempt to fix bug#48168.
2018-08-21 17:51:44 +08:00
Manish Goregaokar
7e5a2b21de Update clippy 2018-08-19 19:17:24 -07:00
Dan Callaghan
99bba340f7 update lld submodule to include RISCV patch
This pulls in one new commit, to add support for linking static RISCV
binaries, suitable for the new riscv32imac-unknown-none-elf target.
See: https://github.com/rust-lang/lld/pull/1
2018-08-19 21:26:05 +10:00
bors
8928de7439 Auto merge of #52972 - RalfJung:from_raw_parts_align, r=alexcrichton
debug_assert to ensure that from_raw_parts is only used properly aligned

This does not help nearly as much as I would hope because everybody uses the distributed libstd which is compiled without debug assertions. For this reason, I am not sure if this is even worth it. OTOH, this would have caught the misalignment fixed by https://github.com/rust-lang/rust/issues/42789 *if* there had been any tests actually using ZSTs with alignment >1 (we have a CI runner which has debug assertions in libstd enabled), and it seems to currently [fail in the rg testsuite](https://ci.appveyor.com/project/rust-lang/rust/build/1.0.8403/job/v7dfdcgn8ay5j6sb). So maybe it is worth it, after all.

I have seen the attribute `#[rustc_inherit_overflow_checks]` in some places, does that make it so that the *caller's* debug status is relevant? Is there a similar attribute for `debug_assert!`? That could even subsume `rustc_inherit_overflow_checks`: Something like `rustc_inherit_debug_flag` could affect *all* places that change the generated code depending on whether we are in debug or release mode. In fact, given that we have to keep around the MIR for generic functions anyway, is there ever a reason *not* to handle the debug flag that way? I guess currently we apply debug flags like `cfg` so this is dropped early during the MIR pipeline?

EDIT: I learned from @eddyb that because of how `debug_assert!` works, this is not realistic. Well, we could still have it for the rustc CI runs and then maybe, eventually, when libstd gets compiled client-side and there is both a debug and a release build... then this will also benefit users.^^
2018-08-19 09:40:36 +00:00
Eduard-Mihai Burtescu
14aed81d9a Use the new Entry::or_default method where possible. 2018-08-18 20:19:45 +03:00
bors
1fa944914c Auto merge of #53356 - michaelwoerister:itlto, r=alexcrichton
Preliminary work for incremental ThinLTO (CGU name edition)

Bring back the first half of #52266 but hopefully without the performance regression.
2018-08-17 21:24:22 +00:00
Tom Tromey
c37787eb93 Change target triple used to check for lldb in build-manifest
The wrong target triple was used for lldb in build-manifest.  lldb is
only built for macOS, so update the triple to reflect that.

This is an attempt to fix bug#48168.
2018-08-17 08:40:16 -06:00
kennytm
ae3ebf0316
Rollup merge of #53399 - varkor:ignore-non-md-unstable_book, r=nikomatsakis
Tidy: ignore non-Markdown files when linting for the Unstable Book

Previously, any file would be assumed a `.md`, which is annoying when files like `.DS_STORE` slip in and then cause tidy errors.
2018-08-17 00:13:27 +08:00
ashtneoi
6a24abbbc5 Fix compiletest JSON error message 2018-08-15 15:14:21 -07:00
varkor
35a03c8052 Tidy: ignore non-Markdown files when linting for the Unstable Book 2018-08-15 18:01:37 +01:00
Michael Woerister
c09a8e5223 Adapt codegen-unit tests to new CGU naming scheme. 2018-08-15 13:47:39 +02:00
Eric Huss
9730871773 Update cargo 2018-08-14 22:24:41 -07:00
Tom Tromey
6e3a4f4ddd Add lldb to the build
This optionally adds lldb (and clang, which it needs) to the build.

Because rust uses LLVM 7, and because clang 7 is not yet released, a
recent git master version of clang is used.

The lldb that is used includes the Rust plugin.

lldb is only built when asked for, or when doing a nightly build on
macOS.  Only macOS is done for now due to difficulties with the Python
dependency.
2018-08-14 18:59:23 -06:00
bors
67390c0c31 Auto merge of #53361 - Manishearth:clippyup, r=nrc
Update clippy

r? @kennytm @nrc
2018-08-14 19:38:45 +00:00
Manish Goregaokar
f4017a8453 Update clippy 2018-08-14 11:29:00 -07:00
kennytm
4fb40588ae
Rollup merge of #53229 - varkor:rlimits_min, r=nikomatsakis
Make sure rlimit is only ever increased

`libc::setrlimit` will fail if we try to set the rlimit to a value lower than it is currently, so make sure we're never trying to do this. Fixes #52801.
2018-08-14 23:59:08 +08:00
David Wood
7c13eb42d4
Fix no-link-with-link-args by introducing another normalization. 2018-08-14 11:12:10 +02:00
David Wood
2ad663c1cd
Normalize test build directory and root build directory. 2018-08-14 11:12:10 +02:00
David Wood
ed79c31f09
Tidy no longer fails when there are no files or subdirectories in a test directory. 2018-08-14 11:12:09 +02:00
David Wood
fe28bcf1db
Check error-patterns on UI tests. Fixes #52531.
Previously, even if no expected errors were supplied, if a test execution failed
then supplied error patterns would not be checked. This commit modifies the
conditional that determines whether error patterns or expected errors are checked
to remedy this.

Further, this commit modifies the error pattern checking logic so that each pattern
is checked against all lines of the string. This is required for UI tests as the
stderr is in JSON format - all on one line - so in the previous implementation when the
first pattern was found on the first line (which was actually the entire error) then
no other patterns would be found on subsequent lines (as there weren't any).
2018-08-14 10:37:54 +02:00
bors
147ca2d2a6 Auto merge of #53238 - nrc:update, r=kennytm
Update RLS

Should fix RLS toolstate
2018-08-13 06:42:15 +00:00
Guillaume Gomez
0903b18e9f
Rollup merge of #53210 - alexcrichton:deny-rustc-syntax, r=nrc
Deny future duplication of rustc-ap-syntax

Enable the tidy check to forbid this!

Closes #53006
2018-08-12 23:26:54 +02:00
Guillaume Gomez
28e1a7ba5e
Rollup merge of #53059 - ljedrz:unneeded_returns, r=kennytm
Remove explicit returns where unnecessary
2018-08-12 23:26:51 +02:00
Nick Cameron
4076dc46ae
Update RLS 2018-08-11 14:54:21 +08:00
varkor
82a704abe7 Add a safety check for compiletest rlimit 2018-08-09 19:40:49 +01:00
Alex Crichton
6c7473d024 Deny future duplication of rustc-ap-syntax
Enable the tidy check to forbid this!

Closes #53006
2018-08-09 07:13:18 -07:00
Oliver Schneider
dac12f1f96 Update clippy submodule 2018-08-08 13:19:30 +02:00
Nick Cameron
ae5a1fdae8 Prevent duplication of rust-ap-syntax
author: alexcrichton
2018-08-08 18:09:36 +12:00
Nick Cameron
b6d0514492 Update RLS and Rustfmt 2018-08-08 18:06:58 +12:00
bors
b239743753 Auto merge of #52644 - varkor:lib-feature-gate-2, r=withoutboats
Add errors for unknown, stable and duplicate feature attributes

- Adds an error for unknown (lang and lib) features.
- Extends the lint for unnecessary feature attributes for stable features to libs features (this already exists for lang features).
- Adds an error for duplicate (lang and lib) features.

```rust
#![feature(fake_feature)] //~ ERROR unknown feature `fake_feature`

#![feature(i128_type)] //~ WARNING the feature `i128_type` has been stable since 1.26.0

#![feature(non_exhaustive)]
#![feature(non_exhaustive)] //~ ERROR duplicate `non_exhaustive` feature attribute
```

Fixes #52053, fixes #53032 and address some of the problems noted in #44232 (though not unused features).

There are a few outstanding problems, that I haven't narrowed down yet:
- [x] Stability attributes on macros do not seem to be taken into account.
- [x] Stability attributes behind `cfg` attributes are not taken into account.
- [x] There are failing incremental tests.
2018-08-06 16:58:27 +00:00
Ralf Jung
1001b2beee inore some codegen tests when debug assertions are enabled 2018-08-06 18:45:15 +02:00
Ralf Jung
f47d56a55b update ripgrep tested by cargotest 2018-08-06 18:27:58 +02:00
varkor
319b052357 Fix stage 2 tests 2018-08-05 15:54:49 +01:00
varkor
bd66cbb806 Remove obsolete tests in tidy
These have been replaced by more reliable checks in the compiler itself.
2018-08-05 15:54:49 +01:00
bors
93a4cab45a Auto merge of #52983 - alexcrichton:update-llvm, r=kennytm
Update LLVM submodule to 7.0

This commit updates the following submodules to LLVM's [recently branched][1]
7.0 release branch:

* src/llvm
* src/tools/lld
* src/libcompiler_builtins/compiler-rt

[1]: https://lists.llvm.org/pipermail/llvm-dev/2018-August/125004.html

Closes #52970
2018-08-05 14:51:16 +00:00
bors
ddcf17e1ed Auto merge of #53078 - alexcrichton:update-cargo, r=Mark-Simulacrum
Update cargo to fix Rust 2018 build scripts
2018-08-05 03:20:13 +00:00
Alex Crichton
f7df580de8 Update cargo to fix Rust 2018 build scripts 2018-08-04 17:40:46 -07:00
Alex Crichton
b0337a81bd Update LLVM submodule to 7.0
This commit updates the following submodules to LLVM's [recently branched][1]
7.0 release branch:

* src/llvm
* src/tools/lld
* src/libcompiler_builtins/compiler-rt

[1]: https://lists.llvm.org/pipermail/llvm-dev/2018-August/125004.html

Closes #52970
2018-08-04 17:30:14 -07:00
Nick Cameron
9a769c66e9 Update rustfmt and RLS 2018-08-05 10:07:19 +12:00
ljedrz
1667950d73 Remove explicit returns where unnecessary 2018-08-04 14:31:03 +02:00
Manish Goregaokar
cd70153e28 Update clippy 2018-08-03 10:16:07 -07:00
Alex Crichton
0e034d162a Update Cargo submodule
Bring in some fixes for `cargo fix` notably
2018-08-02 18:09:19 -07:00
David Craven
7a5e8bdc02
[RISCV] Enable CI. 2018-08-01 15:34:57 +02:00
bors
8c069ceba8 Auto merge of #52937 - pietroalbini:rollup, r=pietroalbini
Rollup of 30 pull requests

Successful merges:

 - #52340 (Document From trait implementations for OsStr, OsString, CString, and CStr)
 - #52628 (Cleanup some rustdoc code)
 - #52732 (Remove unstable and deprecated APIs)
 - #52745 (Update clippy to latest master)
 - #52771 (Clarify thread::park semantics)
 - #52778 (Improve readability of serialize.rs)
 - #52810 ([NLL] Don't make "fake" match variables mutable)
 - #52821 (pretty print for std::collections::vecdeque)
 - #52822 (Fix From<LocalWaker>)
 - #52824 (Fix -Wpessimizing-move warnings in rustllvm/PassWrapper)
 - #52825 (Make sure #47772 does not regress)
 - #52831 (remove references to AUTHORS.txt file)
 - #52842 (update comment)
 - #52846 (Add timeout to use of `curl` in bootstrap.py.)
 - #52851 (Make the tool_lints actually usable)
 - #52853 (Improve bootstrap help on stages)
 - #52859 (Use Vec::extend in SmallVec::extend when applicable)
 - #52861 (Add targets for HermitCore (https://hermitcore.org) to the Rust compiler and port libstd to it.)
 - #52867 (releases.md: fix 2 typos)
 - #52870 (Implement Unpin for FutureObj and LocalFutureObj)
 - #52876 (run-pass/const-endianness: negate before to_le())
 - #52878 (Fix wrong issue number in the test name)
 - #52883 (Include lifetime in mutability suggestion in NLL messages)
 - #52888 (Use suggestions for shell format arguments)
 - #52904 (NLL: sort diagnostics by span)
 - #52905 (Fix a typo in unsize.rs)
 - #52907 (NLL: On "cannot move out of type" error, print original before rewrite)
 - #52914 (Only run the sparc-abi test on sparc)
 - #52918 (Backport 1.27.2 release notes)
 - #52929 (Update compatibility note for 1.28.0 to be correct)

Failed merges:

r? @ghost
2018-08-01 08:41:36 +00:00
Pietro Albini
f47a76477d
Rollup merge of #52861 - ColinFinck:master, r=alexcrichton
Add targets for HermitCore (https://hermitcore.org) to the Rust compiler and port libstd to it.

As a start, the port uses the simplest possible configuration (no jemalloc, abort on panic) and makes use of existing Unix-specific code wherever possible.
It adds targets for x86_64 (current main HermitCore platform) and aarch64 (HermitCore platform under development).

Together with the patches to "liblibc" (https://github.com/rust-lang/libc/pull/1048) and llvm (https://github.com/rust-lang/llvm/pull/122), this enables HermitCore applications to be written in Rust.
2018-08-01 10:12:55 +02:00
Pietro Albini
dafe33524a
Rollup merge of #52745 - commandline:master, r=oli-obk
Update clippy to latest master

r? @oli-obk

There is a regression in the version in current nightly that falsely lints `println!` and `writeln!` that use named arguments, thinking all rhs values for the argument expressions are literals even when they are not. This update includes the fix for that.
2018-08-01 10:12:37 +02:00
Mark Rousskov
7bea518d3a Remove global derive_id and reset_ids functions
Previously these functions relied on TLS but we can instead thread the
relevant state through explicitly.
2018-07-31 17:55:12 -06:00
Mark Rousskov
01d95558e6 Further extract error code switch
Removes dependency on UnstableFeatures from markdown rendering
2018-07-31 11:39:02 -06:00
Alex Crichton
ca762ba954 rustc: Disallow machine applicability in foreign macros
Recent changes to lints disallowed lints from being emitted against code located
in foreign macros, except for future-incompatible lints. For a future
incompatible lint, however, the automatic suggestions may not be applicable!

This commit updates this code path to force all applicability suggestions made
to foreign macros to never be `MachineApplicable`. This should avoid rustfix
actually attempting fixing these suggestions, causing non-compiling code to be
produced.

Closes rust-lang/cargo#5799
2018-07-30 07:48:59 -07:00