Commit Graph

1979 Commits

Author SHA1 Message Date
Alex Crichton
d1040fe329 std: Depend on backtrace crate from crates.io
This commit removes all in-tree support for generating backtraces in
favor of depending on the `backtrace` crate on crates.io. This resolves
a very longstanding piece of duplication where the standard library has
long contained the ability to generate a backtrace on panics, but the
code was later extracted and duplicated on crates.io with the
`backtrace` crate. Since that fork each implementation has seen various
improvements one way or another, but typically `backtrace`-the-crate has
lagged behind libstd in one way or another.

The goal here is to remove this duplication of a fairly critical piece
of code and ensure that there's only one source of truth for generating
backtraces between the standard library and the crate on crates.io.
Recently I've been working to bring the `backtrace` crate on crates.io
up to speed with the support in the standard library which includes:

* Support for `StackWalkEx` on MSVC to recover inline frames with
  debuginfo.
* Using `libbacktrace` by default on MinGW targets.
* Supporting `libbacktrace` on OSX as an option.
* Ensuring all the requisite support in `backtrace`-the-crate compiles
  with `#![no_std]`.
* Updating the `libbacktrace` implementation in `backtrace`-the-crate to
  initialize the global state with the correct filename where necessary.

After reviewing the code in libstd the `backtrace` crate should be at
exact feature parity with libstd today. The backtraces generated should
have the same symbols and same number of frames in general, and there's
not known divergence from libstd currently.

Note that one major difference between libstd's backtrace support and
the `backtrace` crate is that on OSX the crates.io crate enables the
`coresymbolication` feature by default. This feature, however, uses
private internal APIs that aren't published for OSX. While they provide
more accurate backtraces this isn't appropriate for libstd distributed
as a binary, so libstd's dependency on the `backtrace` crate explicitly
disables this feature and forces OSX to use `libbacktrace` as a
symbolication strategy.

The long-term goal of this refactoring is to eventually move us towards
a world where we can drop `libbacktrace` entirely and simply use Gimli
and the surrounding crates for backtrace support. That's still aways off
but hopefully will much more easily enabled by having the source of
truth for backtraces live in crates.io!

Procedurally if we go forward with this I'd like to transfer the
`backtrace-rs` crate to the rust-lang GitHub organization as well, but I
figured I'd hold off on that until we get closer to merging.
2019-05-25 17:09:45 -07:00
Mazdak Farrokhzad
2ac8ec0463
Rollup merge of #61095 - ehuss:update-cargo, r=alexcrichton
Update cargo

Update cargo

14 commits in c4fcfb725b4be00c72eb9cf30c7d8b095577c280..545f354259be4e9745ea00a524c0e4c51df01aa6
2019-05-15 19:48:47 +0000 to 2019-05-23 17:45:30 +0000
- Bump to 0.38.0 (rust-lang/cargo#6979)
- cargo package: detect new empty directories (rust-lang/cargo#6973)
- Add message caching. (rust-lang/cargo#6933)
- Fix typo (rust-lang/cargo#6974)
- Set `Finished` line correctly for debug=0. (rust-lang/cargo#6971)
- Clippy fixes (rust-lang/cargo#6970)
- Remove rustdoc `can_add_color_process`. (rust-lang/cargo#6968)
- Document new `doctest` field. (rust-lang/cargo#6965)
- Update some man pages that missed --offline. (rust-lang/cargo#6964)
- add public & private prop tests. (rust-lang/cargo#6962)
- zsh completion: Pull list of commands from cargo --list (rust-lang/cargo#6956)
- Change docs "inequality" for semver requirement. (rust-lang/cargo#6963)
- Update im-rc requirement from 12.1.0 to 13.0.0 (rust-lang/cargo#6959)
- Add `doctest` field into metadata (rust-lang/cargo#6953)
2019-05-25 04:55:29 +02:00
Eric Huss
d5e03530f7 Update cargo 2019-05-23 13:27:49 -07:00
John Kåre Alsaker
5bcc80be10 Update Cargo.lock 2019-05-23 18:51:48 +02:00
Alex Crichton
e59f0cc0d3 Bump compiler-builtins to 0.1.15
This commit bumps the `compiler-builtins` dependency to 0.1.15 which
expects to have the source for `compiler-rt` provided externally if the
`c` feature is enabled. This then plumbs through the necessary support
in the build system to ensure that if the `llvm-project` directory is
checked out and present that we enable the `c` feature of
`compiler-builtins` and compile in all the C intrinsics.
2019-05-22 07:46:36 -07:00
Alex Crichton
3c9790e429 Update the compiler_builtins crate
This updates to 0.1.13 for `compiler_builtins`, published to fix a few
issues. The feature changes here are updated because `compiler_builtins`
no longer enables the `c` feature by default but we want to do so
through our build still.

Closes #60747
Closes #60782
2019-05-17 07:17:15 -07:00
Mazdak Farrokhzad
23d91e272b
Rollup merge of #60805 - euclio:filetime-dep, r=Mark-Simulacrum
remove compiletest's dependency on `filetime`
2019-05-17 02:54:14 +02:00
Andy Russell
c95be3d033
strip synstructure consts from compiler docs 2019-05-16 14:32:28 -04:00
Eric Huss
6a09cfab0b Update cargo 2019-05-16 10:31:13 -07:00
Wesley Wiser
ea93215576 Bump measureme dependency to 0.3
measureme@0.3 adds a version header to the binary file format which will
help reduce tool breakage in the future.
2019-05-13 22:15:55 -04:00
Andy Russell
01bc58c5ee
remove compiletest's dependency on filetime 2019-05-13 17:42:55 -04:00
Manish Goregaokar
d17713599c Update clippy 2019-05-11 09:02:12 -07:00
Mazdak Farrokhzad
f27f14b60f
Rollup merge of #60671 - euclio:extern-crate, r=Centril
remove unneeded `extern crate`s from build tools
2019-05-09 23:56:16 +02:00
Andy Russell
b2f71fb540
remove unneeded extern crates from build tools 2019-05-09 12:03:13 -04:00
Alex Crichton
7e8035593d std: Update compiler-builtins crate
Pulls in a fix for ensuring that wasm targets have code in
compiler-builtins for `ldexp` which LLVM can generate references to.
2019-05-08 06:59:24 -07:00
Eric Huss
fc72e56e78 Update cargo 2019-05-06 18:19:21 -07:00
varkor
80f54ba881 Update Cargo.lock 2019-05-05 10:45:10 +01:00
Vadim Petrochenkov
f5b5ca8b23 Revert Cargo.lock changes accidentally introduced during rebase 2019-05-05 00:12:38 +03:00
Jesper Steen Møller
5deec307f7 Fix #45268 by saving all NodeId's for resolved traits. 2019-05-04 20:29:33 +02:00
Dan Gohman
c07b52e29a Bump libc dependency to 0.2.54. 2019-05-03 23:01:24 -07:00
Mazdak Farrokhzad
9199bb5f81
Rollup merge of #60373 - rasendubi:lang-features-sort-since, r=Centril
Tidy: ensure lang features are sorted by since

This is the tidy side of https://github.com/rust-lang/rust/issues/60361.

What is left is actually splitting features into groups and sorting by since.

This PR also likely to produce a small (a couple of lines) merge conflict with https://github.com/rust-lang/rust/pull/60362.

r? @Centril
2019-05-03 16:24:56 +02:00
varkor
e72f7e1e56 Update getopts to 0.2.18
This is a proof-of-concept that the dependency unification fix works.
2019-05-02 21:47:14 +01:00
Alexey Shmalko
8b82f685a5 Make find_attr_val a little bit more precise
`find_attr_val(&line, "since")` returns `Some(", issue = ")` when
`line` is set to the following line:

```
[unstable(feature = "checked_duration_since", issue = "58402")]
```

Make `find_attr_val` use regex that is a little bit more
precise (requires `=` after key name).

It still does not handle all cases (e.g., extra leading chars in key
name, or escaped quotes in value), but is good enough for now.
2019-05-02 16:38:23 +03:00
Ralf Jung
71338fc305 update miri 2019-05-02 09:43:52 +02:00
Mazdak Farrokhzad
a7cbd92d13
Rollup merge of #60385 - nnethercote:earlier-metadata, r=alexcrichton
Emit metadata files earlier

This will make cargo pipelining much more effective.
2019-05-02 01:09:26 +02:00
Nicholas Nethercote
38dffeba21 Move metadata writing earlier.
The commit moves metadata writing from `link_binary` to
`encode_metadata` (and renames the latter as
`encode_and_write_metadata`). This is at the very start of code
generation.
2019-05-01 17:17:13 +10:00
Mazdak Farrokhzad
1ec56d8550
Rollup merge of #60238 - topecongiro:rustfmt-1.2.2, r=alexcrichton
Update rustfmt to 1.2.2
2019-04-30 03:28:37 +02:00
Manish Goregaokar
505cae2a76 Update clippy 2019-04-29 08:48:17 -07:00
topecongiro
710083c09d Update rustfmt to 1.2.2 2019-04-27 18:07:41 +09:00
John Kåre Alsaker
0e05a9bb85 Update rustc-rayon version 2019-04-26 19:08:36 +02:00
Mazdak Farrokhzad
878a7d6ea5
Rollup merge of #60134 - GuillaumeGomez:fix-index-page, r=Manishearth
Fix index-page generation

Fixes #60096.

The minifier was minifying crates name in `searchIndex` key position, which was a bit problematic for multiple reasons.

r? @rust-lang/rustdoc
2019-04-26 03:50:14 +02:00
Matthias Krüger
f9945f58e2 submodules: update clippy from 9897442f to 8c0e038f
Changes:
````
Rustup for https://github.com/rust-lang/rust/pull/59042
Update pulldown_cmark to 0.5
Only run AppVeyor on r+, try and the master branch
Remove approx_constant known problems
Suppress let_and_return if let has attributes
Add test for or_fun_call macro suggestion
UI test cleanup: Extract needless_range_loop tests
Change "if types change" to "if you later change the type"
````
2019-04-25 13:18:44 +02:00
Eric Huss
882352a279 Update cargo, books 2019-04-23 21:39:27 -07:00
Amanieu d'Antras
e7f162fdd8 Update hashbrown to 0.3.0 2019-04-24 06:54:14 +08:00
Amanieu d'Antras
ae388773e1 Update hashbrown to 0.2.2 2019-04-24 06:54:14 +08:00
Amanieu d'Antras
5253366e19 Update hashbrown to 0.2.1 2019-04-24 06:54:14 +08:00
Amanieu d'Antras
1fa7a21534 Make libstd depend on the hashbrown crate 2019-04-24 06:54:14 +08:00
Guillaume Gomez
d676386b1e Fix index-page generation 2019-04-23 22:44:27 +02:00
Andy Russell
303016485b
upgrade rustdoc's pulldown-cmark to 0.4.1 2019-04-22 09:11:26 -04:00
Igor Matuszewski
4fb570dea7 Switch to serde-enabled rls-* and update RLS appropriately
This also bumps RLS version to 1.36.
The updated rls-* packages use serde but *not* serde_derive thanks to
manual proc macro expansion. This is a hack, since rustc cannot handle
crates.io proc macros (duplicated in tools) when cross-compiling, so
that's the best we can do in order to support serde_json in save-analysis.
2019-04-21 12:52:07 +02:00
Igor Matuszewski
25451967ee save-analysis: Use serde instead of libserialize to dump JSON data 2019-04-21 12:45:16 +02:00
bjorn3
93a3b414e3 Move almost all of cg_llvm/back/link.rs to cg_ssa 2019-04-20 13:21:40 +02:00
Matthias Krüger
7b959c69a2 submodules: update clippy from fbb3a47b to cafbe7f2
Changes:
````
Update compiletest_rs
Typo
Fix dogfood error
Add lint PathBufPushOverwrite
Update *.stderr file
Remove code duplication
Format code
Add test for debug_assert!(false)
Don't lint debug_assert!(false)
Add run-rustfix for option_map_or_none lint
Move two cast_lossless tests to their correct files
Change naive_bytecount applicability MaybeIncorrect
Add tests for declare_lint_pass and impl_lint_pass
Use lint pass macros
Document `declare_lint_pass!`
Fix lint_without_lint_pass internal lint
Use {get,match}_def_path from LateContext
Remove uplifted functions {get,match}_def_path from Clippy
Add run-rustfix for len_zero lint
Add run-rustfix for bool_comparison lint
Add run-rustfix for deref_addrof lint
while_let_loop uses placeholders in suggestions
Remove rust-toolchain file from clippy_dev
Update adding_lints.md
Update PULL_REQUEST_TEMPLATE
Add new lint checklist
Create PULL_REQUEST_TEMPLATE
Only suggest .copied() for Option right now
Also suggest .copied() when .clone() is called on a Copy type
Suggest .copied() instead of .cloned() in map_clone when dealing with references
Deny rustc internal lints
Remove clippy::default_hash_types internal lint
Enable -Zunstable-options in .cargo/config
````
2019-04-19 20:43:22 +02:00
topecongiro
ca19ffe13f Update rustfmt to 1.2.1 2019-04-18 07:46:16 +09:00
Eric Huss
df7445b780 Update cargo 2019-04-16 11:01:01 -07:00
John Kåre Alsaker
b82ab24bbf Preallocate BUILTIN_ATTRIBUTES symbols and use a hash map instead of looping 2019-04-15 15:20:05 +02:00
John Kåre Alsaker
10855a36b5 Use a proc macro to declare preallocated symbols 2019-04-15 07:23:01 +02:00
Mazdak Farrokhzad
b9da8a7144
Rollup merge of #59856 - albins:update-polonius, r=nikomatsakis
update polonius-engine

This updates polonius-engine to [version 0.7.0](https://github.com/rust-lang/polonius/blob/master/RELEASES.md#v070), which adds a hybrid algorithm that starts off with performing a cheaper, location-insensitive analysis before proceeding with the full analysis.

r? @nikomatsakis
2019-04-14 17:49:18 +02:00
Ralf Jung
3f858516c0 update miri 2019-04-14 11:02:18 +02:00
Wesley Wiser
56e434d84d Use measureme in self-profiler
Related to #58372
Related to #58967
2019-04-12 20:27:29 -04:00
Albin Stjerna
c440c0a0fd update polonius-engine 2019-04-10 22:44:07 +02:00
John Kåre Alsaker
7b28ddc39d Update Cargo.lock 2019-04-10 21:18:35 +02:00
Matthias Krüger
beeeb4360e update Cargo.lock 2019-04-09 10:50:08 +02:00
Jacob Greenfield
28ea249ab5
Revert "Auto merge of #57842 - gnzlbg:extract_libtest, r=gnzlbg"
This reverts commit 3eb4890dfe, reversing
changes made to 7a4df3b53d.
2019-04-07 03:16:31 -04:00
Alex Crichton
1bf04c9ad7 std: Upgrade compiler_builtins to fix wasi linkage
Turns out we needed to exclude a number of math functions on the
`wasm32-unknown-wasi` target, and this was fixed in 0.1.9 of
compiler-builtins and this is pulling in the fix to libstd's own build.
2019-04-04 11:24:53 -07:00
Mazdak Farrokhzad
2074c9687f
Rollup merge of #59555 - RalfJung:miri, r=oli-obk
update miri

r? @oli-obk

Fixes https://github.com/rust-lang/rust/issues/59477
2019-04-04 15:09:00 +02:00
Petr Hosek
86d1678403 Support using LLVM's libunwind as the unwinder implementation
This avoids the dependency on host libraries such as libgcc_s which
may be undesirable in some deployment environments where these aren't
available.
2019-04-03 11:21:40 -07:00
Ralf Jung
087999ef58 try to fix rand feature flags 2019-04-03 14:02:57 +01:00
Mazdak Farrokhzad
274f80e4d4
Rollup merge of #59533 - Zoxc:arena-slices, r=michaelwoerister
Support allocating iterators with arenas

Split out from https://github.com/rust-lang/rust/pull/57173.

r? @michaelwoerister
2019-04-02 13:47:27 +02:00
Mazdak Farrokhzad
e655b91b7a
Rollup merge of #59452 - GuillaumeGomez:speedup-rustdoc, r=QuietMisdreavus
Speed up rustdoc run a bit

r? @QuietMisdreavus
2019-04-02 13:47:25 +02:00
John Kåre Alsaker
30e7e9c5f0 Support allocating iterators with arenas 2019-04-01 21:47:55 +02:00
Eric Huss
d2228ca2a5 Update cargo 2019-03-30 09:35:01 -07:00
Alex Crichton
ace71240d2 Add a new wasm32-unknown-wasi target
This commit adds a new wasm32-based target distributed through rustup,
supported in the standard library, and implemented in the compiler. The
`wasm32-unknown-wasi` target is intended to be a WebAssembly target
which matches the [WASI proposal recently announced.][LINK]. In summary
the WASI target is an effort to define a standard set of syscalls for
WebAssembly modules, allowing WebAssembly modules to not only be
portable across architectures but also be portable across environments
implementing this standard set of system calls.

The wasi target in libstd is still somewhat bare bones. This PR does not
fill out the filesystem, networking, threads, etc. Instead it only
provides the most basic of integration with the wasi syscalls, enabling
features like:

* `Instant::now` and `SystemTime::now` work
* `env::args` is hooked up
* `env::vars` will look up environment variables
* `println!` will print to standard out
* `process::{exit, abort}` should be hooked up appropriately

None of these APIs can work natively on the `wasm32-unknown-unknown`
target, but with the assumption of the WASI set of syscalls we're able
to provide implementations of these syscalls that engines can implement.
Currently the primary engine implementing wasi is [wasmtime], but more
will surely emerge!

In terms of future development of libstd, I think this is something
we'll probably want to discuss. The purpose of the WASI target is to
provide a standardized set of syscalls, but it's *also* to provide a
standard C sysroot for compiling C/C++ programs. This means it's
intended that functions like `read` and `write` are implemented for this
target with a relatively standard definition and implementation. It's
unclear, therefore, how we want to expose file descriptors and how we'll
want to implement system primitives. For example should `std::fs::File`
have a libc-based file descriptor underneath it? The raw wasi file
descriptor? We'll see! Currently these details are all intentionally
hidden and things we can change over time.

A `WasiFd` sample struct was added to the standard library as part of
this commit, but it's not currently used. It shows how all the wasi
syscalls could be ergonomically bound in Rust, and they offer a possible
implementation of primitives like `std::fs::File` if we bind wasi file
descriptors exactly.

Apart from the standard library, there's also the matter of how this
target is integrated with respect to its C standard library. The
reference sysroot, for example, provides managment of standard unix file
descriptors and also standard APIs like `open` (as opposed to the
relative `openat` inspiration for the wasi ssycalls). Currently the
standard library relies on the C sysroot symbols for operations such as
environment management, process exit, and `read`/`write` of stdio fds.
We want these operations in Rust to be interoperable with C if they're
used in the same process. Put another way, if Rust and C are linked into
the same WebAssembly binary they should work together, but that requires
that the same C standard library is used.

We also, however, want the `wasm32-unknown-wasi` target to be
usable-by-default with the Rust compiler without requiring a separate
toolchain to get downloaded and configured. With that in mind, there's
two modes of operation for the `wasm32-unknown-wasi` target:

1. By default the C standard library is statically provided inside of
   `liblibc.rlib` distributed as part of the sysroot. This means that
   you can `rustc foo.wasm --target wasm32-unknown-unknown` and you're
   good to go, a fully workable wasi binary pops out. This is
   incompatible with linking in C code, however, which may be compiled
   against a different sysroot than the Rust code was previously
   compiled against. In this mode the default of `rust-lld` is used to
   link binaries.

2. For linking with C code, the `-C target-feature=-crt-static` flag
   needs to be passed. This takes inspiration from the musl target for
   this flag, but the idea is that you're no longer using the provided
   static C runtime, but rather one will be provided externally. This
   flag is intended to also get coupled with an external `clang`
   compiler configured with its own sysroot. Therefore you'll typically
   use this flag with `-C linker=/path/to/clang-script-wrapper`. Using
   this mode the Rust code will continue to reference standard C
   symbols, but the definition will be pulled in by the linker configured.

Alright so that's all the current state of this PR. I suspect we'll
definitely want to discuss this before landing of course! This PR is
coupled with libc changes as well which I'll be posting shortly.

[LINK]:
[wasmtime]:
2019-03-29 15:58:17 -07:00
Mazdak Farrokhzad
38af98ee5f
Rollup merge of #59454 - topecongiro:rustfmt-1.2.0, r=nrc
Update rustfmt to 1.2.0

This release includes bug fixes and performance improvements from 1.1.0. Also it adds a new rustfmt tool attribute `#[rustfmt::skip::macros]`, which lets you skip formatting macro calls of your choice.

cc @nrc @Centril @Xanewok
2019-03-29 12:32:23 +01:00
Mazdak Farrokhzad
8e0855b5b7
Rollup merge of #59436 - gnzlbg:update_jemalloc, r=alexcrichton
Update jemalloc-sys to version 0.3.0

This PR updates jemalloc-sys from 0.1.8 to 0.3.0.
2019-03-29 12:32:21 +01:00
Guillaume Gomez
7f2c726d6c Speed up rustdoc run a bit 2019-03-27 19:07:48 +01:00
varkor
3683f51352 Update ena to version 0.13.0 2019-03-27 09:44:55 +00:00
varkor
443a2d4f86 Update ena 2019-03-27 09:44:55 +00:00
topecongiro
c728ae0fd1 Update rustfmt to 1.2.0 2019-03-27 10:42:13 +09:00
gnzlbg
b73886d947 Update Cargo.lock 2019-03-26 13:10:54 +01:00
Mazdak Farrokhzad
4fbe25cc6b
Rollup merge of #59315 - Zoxc:move-query, r=oli-obk
Add no_hash to query macro and move some queries over

r? @oli-obk
2019-03-26 09:05:44 +01:00
MikaelUrankar
6b766baf4a Update cargo 2019-03-21 17:02:28 +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
gnzlbg
144bdc6830 Directly reference the roadmap upstream 2019-03-19 13:58:48 +01:00
gnzlbg
6dbb5f7104 Update Cargo.lock 2019-03-19 13:58:47 +01:00
Mateusz Mikuła
986f88b86e Update Clippy, RLS and Rustfmt 2019-03-18 18:34:18 +01:00
bjorn3
ca2ff089f3 Remove MetadataOnlyCodegenBackend 2019-03-16 10:54:38 +01:00
Eric Huss
4543245621 Update cargo 2019-03-13 08:00:43 -07:00
Mazdak Farrokhzad
2049d6f4d4
Rollup merge of #58908 - JohnTitor:improve-rand, r=scottmcm
Update rand version

cc: #57724

r? @scottmcm
2019-03-13 03:33:37 +01:00
Mazdak Farrokhzad
445c4bc0f8
Rollup merge of #58829 - Xanewok:scoped-tls, r=Zoxc
librustc_interface: Update scoped-tls to 1.0

Done previously as a part of https://github.com/rust-lang/rust/pull/58748.

r? @Zoxc
2019-03-13 03:33:34 +01:00
Igor Matuszewski
9a6a269d56 Bump Clippy and RLS 2019-03-10 17:03:32 +01:00
Eric Huss
9243f9c6f2 Update cargo, rls 2019-03-08 12:07:13 -08:00
John Kåre Alsaker
74b6419bb6 Update Cargo.lock 2019-03-05 00:36:25 +01:00
Yuki Okushi
939a263974 Update rand version 2019-03-04 16:20:46 +09:00
Igor Matuszewski
594e2616db Update Clippy 2019-03-03 23:51:24 +01:00
Wesley Wiser
25b8c614f0 Wrap the self-profiler in an Arc<Mutex<>>
This will allow us to send it across threads and measure things like
LLVM time.
2019-03-03 10:07:29 -05:00
Santiago Pastorino
ddd4731f5f
Update miri 2019-03-02 20:21:33 -03:00
Igor Matuszewski
204f087daf librustc_interface: Update scoped-tls to 1.0
Done previously as a part of
https://github.com/rust-lang/rust/pull/58748
2019-03-01 10:18:53 +01:00
John Kåre Alsaker
5c78fa836d Update Cargo.lock 2019-03-01 01:30:52 +01:00
John Kåre Alsaker
23a51f91c9 Introduce rustc_interface and move some methods there 2019-02-28 19:30:31 +01:00
Mazdak Farrokhzad
0c871fa2bd
Rollup merge of #58752 - taiki-e:update-string_cache_codegen, r=alexcrichton
Update string_cache_codegen to 0.4.2

This removes two dependencies of the old version (string_cache is already the latest version).
2019-02-27 13:32:33 +01:00
Mazdak Farrokhzad
a20c2fdd47
Rollup merge of #58748 - hellow554:scoped_tls, r=estebank
update scoped_tls to 1.0

scoped_tls has been updated to version 1.0
This PR will hopefully merge flawlessly :)

This fixes, among others, https://github.com/alexcrichton/scoped-tls/issues/9

Note, that the nightly feature has been removed in 64bd7b84a1
2019-02-27 13:32:29 +01:00
Taiki Endo
6375efc822 Update string_cache_codegen to 0.4.2 2019-02-26 20:06:31 +09:00
Marcel Hellwig
56fb2873fe update Cargo.lock 2019-02-26 11:15:52 +01:00
Jethro Beekman
6c44bbbbaa Update dlmalloc to 0.1.3 2019-02-26 09:18:22 +09:00
Bastien Orivel
a82f0ce54b Update parking_lot to 0.7
Unfortunately this'll dupe parking_lot until the data_structures crate
is published and be updated in rls in conjunction with crossbeam-channel
2019-02-22 13:49:19 +01:00
Ralf Jung
7596a10225 update Cargo.lock and miri URL 2019-02-19 21:54:49 +01:00
flip1995
4c228cc9b8
Update Cargo.lock 2019-02-18 10:32:58 +01:00
Eduard-Mihai Burtescu
f04424acd1 rustc_mir: compute all the qualification bits separately in qualify_consts. 2019-02-14 13:36:51 +02:00
Guillaume Gomez
a74e4f7fd5
Rollup merge of #58157 - h-michael:cargo-lock, r=alexcrichton
Add Cargo.lock automatically adding message

If I execute `cargo +nightly fix`, this change always occurs; cc #58099
r? @Centril
2019-02-10 21:45:11 +01:00
Guillaume Gomez
4c62d7e6f1
Rollup merge of #57884 - GuillaumeGomez:update-minifier-array, r=QuietMisdreavus
Update minifier version

Should fix #57754 (at least it's a bit faster on my computer).

The whole point of this update is to create a huge array instead of creating a lot of variables.

r? @QuietMisdreavus
2019-02-07 14:28:30 +01:00
Eric Huss
55917ba0e7 Update cargo 2019-02-05 11:17:23 -08:00
Hirokazu Hata
bd4df0c6dd Add Cargo.lock automatically adding message 2019-02-05 01:31:48 +09:00
Hirokazu Hata
6e72077b3b submodule: update rls from c9d25b667a to f331ff7 2019-02-03 09:48:18 +09:00
Aaron Hill
afb1921c79
Fixup code 2019-02-01 09:43:55 -05:00
James Munns
de76369f93 Update to newer version of mdbook(2) 2019-01-30 09:25:12 -05:00
Matthias Krüger
a27cf8a281 submodules: update clippy from f1753522 to 6ce78d12
Changes:
````
wildcard_match_arm: Update lint count.
wildcard_match_arm: add nesting issue to known.
wildcard_match_arm: lint only enum matches.
wildcard_match_arm: update ui test stderr
wildcard_match_arm: format test.
wilcard_match_arm: run rustfmt.
wildcard_match_arm: add lint properly.
wildcard_match_arm: rename function.
wildcard_match_arm: add simple ui test.
wildcard_match_arm: expand lint scope.
Change match_wild lint name to WILDCARD_MATCH_ARM.
Add match_wild lint (#3649).
fetch_prs_between: add .sh file ending
cargo fmt
Update various docs
Use built-in entry_fn detection over self-built
cargo fmt
Reorganize conditionals: Run faster checks first
Maybe fix ICE?
Add initial version of const_fn lint
Fix `unit_arg` false positive
Rustfmt
Check hypothetically failing conversion
Remove tests for deprecated items
Update more changed iterator paths
Atomics constants are now handled by the deprecation lint
Update changed iterator paths
Update const slice processing
update test stderr
run cargo fmt
rustup https://github.com/rust-lang/rust/pull/57907/
Fix documentation for `slow_vector_initialization`
rustup https://github.com/rust-lang/rust/pull/57726
Remove unsafe_vector_initialization from added lints
Prevent incorrect cast_lossless suggestion in const_fn
Incorporate review suggestions
Fix dogfood tests on Appveyor
test(versioncheck): Use .no_deps()
test(versioncheck): Fix version equality check
chore(cargo/dependencies/cargo-metadata): Upgrade to 0.7.1
dependencies: update itertools from 0.7 to 0.8
Add script to fetch GitHub PRs between two commits
gitattributes: Treat .fixed files as rust files
Update changelog with all changes since 0.0.212
Fix `expect_fun_call` lint suggestions
````
2019-01-30 01:25:05 +01:00
John Kåre Alsaker
975eb312ef Use multiple threads by default. Limits tests to one thread. Do some renaming. 2019-01-28 16:24:33 +01:00
John Kåre Alsaker
1bdd2f699b Conditionally skip two passes if their related attributes were not found 2019-01-28 05:46:53 +01:00
Mark Rousskov
cd39cf748e Update cargo to fix deprecation warnings
Implemented in rust-lang/cargo#6600
2019-01-27 08:54:56 -07:00
Alex Crichton
059ed4f21f Update dlmalloc to 0.1.2
Remove usage of an old and removed wasm intrinsic
2019-01-25 15:40:53 -08:00
dylan_DPC
14a38b30af lock after rebase 2019-01-25 12:37:07 +05:30
dylan_DPC
4092538770 fix lock after running build 2019-01-25 12:36:32 +05:30
Lokathor
49700a0a67 The file should be fully consistent now. 2019-01-25 12:36:18 +05:30
Lokathor
f532dfe9c3 Update Cargo.lock to use the latest compiler_builtins 2019-01-25 12:34:49 +05:30
Guillaume Gomez
f97856350c Update minifier version 2019-01-25 00:07:08 +01:00
Matthias Krüger
696fb8faa9 submodules: update rls from ae0d89a to c9d25b6
Changes:
````
Remove state.analysis due to Rust PR #57476
Improve missing nightly readme info
Bump languageserver-types to v0.54.0 and renam crate name to lsp-types
Delete bors.toml
Fix tests
Fix https://github.com/rust-lang/rls/issues/1231
Implement asynchronous message reading
Use typed requests
Implement Tokio-based test LSP client
Update README.md to account for Travis url change
Simplify wait_for_all recv calls
Update dependencies
Revert NLL bug workaround
Remove old test_data entry in .gitignore
Reorganize some tests
Don't test RLS binary target directly
Move tooltip tests to integration tests
Simplify tooltip test harness
Only use FIXTURES_DIR to determine fixtures
Remove src/test/mod.rs
Centralise FIXTURES_DIR across unit and integration tests
Move lens test to tests/
Suppress unused warnings in tests/*
Beautify main.rs and lib.rs
WIP: Move tests
Move src/test/harness to tests/support/harness
Split RLS into bin/lib
Update Clippy
Change all mentions of `rls-preview` to `rls`
Make config mutex borrow scope explicit
Fallback to racer definition
````

Fixes rls build.
2019-01-22 18:03:52 +01:00
Guillaume Gomez
d405606c3b End fixing search index minification 2019-01-17 01:41:01 +01:00
Guillaume Gomez
f42407f114 Reduce search-index.js size 2019-01-17 01:41:01 +01:00
Alex Crichton
7616daabc7 rustc: Remove platform intrinsics crate
This was originally attempted in #57048 but it was realized that we
could fully remove the crate via the `"unadjusted"` ABI on intrinsics.
This means that all intrinsics in stdsimd are implemented directly
against LLVM rather than using the abstraction layer provided here. That
ends up meaning that this crate is no longer used at all.

This crate developed long ago to implement the SIMD intrinsics, but we
didn't end up using it in the long run. In that case let's remove it!
2019-01-14 09:54:23 -08:00
Hugues de Valon
65ac315efe Update Cargo.lock 2019-01-10 12:42:14 +00:00
Hugues de Valon
4af681c7b8 Update cc crate to include Armv8-M changes 2019-01-09 14:51:22 +00:00
Oliver Scherer
edaa1882bb Adjust cargo workspace hack to miri/cargo interactions 2019-01-08 15:21:06 +01:00
Matthias Krüger
495fc5ee9d submodules: update rls from 6f5e4bb to 1a6361b
Changes:
````
Update Clippy
Move TestFailures when collecting failures
Update languageserver-types to 0.51.1
update clippy hash and rustc_tools_util and use rustc_tools_util from crates.io
Work around https://github.com/rust-lang/rust/pull/55937
Update Clippy... again
Update Clippy
Update clippy
````
2019-01-07 18:57:21 +01:00
Matthias Krüger
c09d4e7b0f submodules: update clippy from 39bd8449 to c63b6349
Changes:
````
Revert "tests: used_underscore_binding_macro: disable random_state lint."
Revert "Auto merge of #3603 - xfix:random-state-lint, r=phansch"
rustup https://github.com/rust-lang/rust/pull/56837
rustup (don't know the exact PR unfortunately)
Add itertools to integration tests
tests: used_underscore_binding_macro: disable random_state lint.
Trigger `use_self` lint in local macros
Add run-rustfix where it already passes
rustup: https://github.com/rust-lang/rust/pull/55517
Make clippy work with parallel rustc
Add ui/for_kv_map test for false positive in #1279
Update to latest compiletest-rs release
add testcase for #3462
deps: bump rustc_tools_util version from 0.1.0 to 0.1.1 just in case...
Use compiletest's aux-build header instead of include macro
rustc_tool_utils: fix failure to create proper non-repo version string when used in crates on crates.io, bump version
rustfmt
UI test cleanup: Extract ifs_same_cond tests
Extract IteratorFalsePositives into option_helpers.rs
UI test cleanup: Extract for_kv_map lint tests
UI test cleanup: Extract lint from methods.rs test
Fix test for rust-lang/rust#57250
Limit infinite_iter collect() check to known types
Some improvements to util documentation
Use hashset for name blacklist
Reformat random_state tests
Use node_id_to_type_opt instead of node_it_to_type in random_state
Check pattern equality while checking declaration equality
random_state lint
Move constant write checks to temporary_assignment lint
Use an FxHashSet for valid idents in documentation lint
Fix suggestion for unnecessary_ref lint
Update CONTRIBUTING.md for rustfix tests
Update .fixed files via update-references.sh
Run rustfix on first UI test
Use WIP branch for compiletest_rs
````
2019-01-07 18:56:15 +01:00
akashfortanix
3033304936 Update compiler_builtins 0.1.2 -> 0.1.4 2019-01-06 22:15:34 +05:30
John Paul Adrian Glaubitz
1e903c3e96 Update libc to 0.2.46 2019-01-06 11:01:42 +01:00
Tatsuyuki Ishi
9740c5ec79 Upgrade openssl and openssl-sys 2019-01-06 11:11:59 +09:00
Eric Huss
57790b8524 Update cargo 2019-01-03 12:59:54 -08:00
Niko Matsakis
826fb1dbbb adopt polonius-engine 0.6.2
Also datafrog 2.0.1, which works around a rustdoc bug
2019-01-02 14:45:30 -05:00
Eric Huss
5739364784 Update cargo, rls, miri 2018-12-28 17:23:01 -08:00
scalexm
da9467d147 Handle sub-typing in chalk-engine 2018-12-27 19:21:16 +01:00
Alex Crichton
8d500572fa std: Use backtrace-sys from crates.io
This commit switches the standard library to using the `backtrace-sys`
crate from crates.io instead of duplicating the logic here in the Rust
repositor with the `backtrace-sys`'s crate's logic.

Eventually this will hopefully be a good step towards using the
`backtrace` crate directly from crates.io itself, but we're not quite
there yet! Hopefully this is a small incremental first step we can take.
2018-12-24 08:32:57 -08:00
Mazdak Farrokhzad
a0538c8f79
Rollup merge of #56986 - alexcrichton:move-jemalloc, r=Mark-Simulacrum
rustc: Move jemalloc from rustc_driver to rustc

This commit moves jemalloc to just the rustc binary rather than the
rustc_driver shared library, enusring that it's only used for binaries
that opt-in to it like rustc rather than other binaries using
librustc_driver like rustdoc/rls/etc. This will hopefully address #56980
2018-12-24 13:29:32 +01:00
Mazdak Farrokhzad
05f3b3cbce
Rollup merge of #56978 - jethrogb:jb/sgx-os-mod, r=joshtriplett
Add `std::os::fortanix_sgx` module

This PR adds the `std::os::sgx` module to expose platform-specific APIs behind the `sgx_platform` feature gate.

Depends on https://github.com/rust-lang/rust/pull/56972 to be able to meaningfully build `std::os` documentation for non-standard targets.

Tracking issue: https://github.com/rust-lang/rust/issues/56975
2018-12-24 13:29:30 +01:00
Mazdak Farrokhzad
93bc72f19f
Rollup merge of #57032 - RalfJung:alloc-bench-deprecations, r=Centril
fix deprecation warnings in liballoc benches
2018-12-23 23:09:10 +01:00
Ralf Jung
3414be0b3e fix deprecation warnings in liballoc benches 2018-12-21 11:33:29 +01:00
Jethro Beekman
dcb5db80b2 Add std::os::fortanix_sgx module 2018-12-20 10:09:52 +05:30
Alex Crichton
ba0ed5b13f rustc: Move jemalloc from rustc_driver to rustc
This commit moves jemalloc to just the rustc binary rather than the
rustc_driver shared library, enusring that it's only used for binaries
that opt-in to it like rustc rather than other binaries using
librustc_driver like rustdoc/rls/etc. This will hopefully address #56980
2018-12-19 08:27:23 -08:00
Vytautas Astrauskas
d966e57407 Fix Cargo.lock. 2018-12-17 13:40:40 +01:00
Mazdak Farrokhzad
cbb5f13288
Rollup merge of #56832 - alexcrichton:external-demangle, r=Mark-Simulacrum
std: Use `rustc_demangle` from crates.io

No more need to duplicate the demangling routine between crates.io and
the standard library, we can use the exact same one!
2018-12-16 14:08:33 +01:00
Pietro Albini
9f3151abe6
Rollup merge of #56718 - RalfJung:use-libbacktrace-printing, r=alexcrichton
Use libbacktrace pretty-printing

r? @alexcrichton
2018-12-15 10:17:27 +01:00
Alex Crichton
fcc8bb41e9 std: Use rustc_demangle from crates.io
No more need to duplicate the demangling routine between crates.io and
the standard library, we can use the exact same one!
2018-12-14 15:15:53 -08:00
Alex Crichton
4c21a3bc2a std: Depend directly on crates.io crates
Ever since we added a Cargo-based build system for the compiler the
standard library has always been a little special, it's never been able
to depend on crates.io crates for runtime dependencies. This has been a
result of various limitations, namely that Cargo doesn't understand that
crates from crates.io depend on libcore, so Cargo tries to build crates
before libcore is finished.

I had an idea this afternoon, however, which lifts the strategy
from #52919 to directly depend on crates.io crates from the standard
library. After all is said and done this removes a whopping three
submodules that we need to manage!

The basic idea here is that for any crate `std` depends on it adds an
*optional* dependency on an empty crate on crates.io, in this case named
`rustc-std-workspace-core`. This crate is overridden via `[patch]` in
this repository to point to a local crate we write, and *that* has a
`path` dependency on libcore.

Note that all `no_std` crates also depend on `compiler_builtins`, but if
we're not using submodules we can publish `compiler_builtins` to
crates.io and all crates can depend on it anyway! The basic strategy
then looks like:

* The standard library (or some transitive dep) decides to depend on a
  crate `foo`.
* The standard library adds

  ```toml
  [dependencies]
  foo = { version = "0.1", features = ['rustc-dep-of-std'] }
  ```
* The crate `foo` has an optional dependency on `rustc-std-workspace-core`
* The crate `foo` has an optional dependency on `compiler_builtins`
* The crate `foo` has a feature `rustc-dep-of-std` which activates these
  crates and any other necessary infrastructure in the crate.

A sample commit for `dlmalloc` [turns out to be quite simple][commit].
After that all `no_std` crates should largely build "as is" and still be
publishable on crates.io! Notably they should be able to continue to use
stable Rust if necessary, since the `rename-dependency` feature of Cargo
is soon stabilizing.

As a proof of concept, this commit removes the `dlmalloc`,
`libcompiler_builtins`, and `libc` submodules from this repository. Long
thorns in our side these are now gone for good and we can directly
depend on crates.io! It's hoped that in the long term we can bring in
other crates as necessary, but for now this is largely intended to
simply make it easier to manage these crates and remove submodules.

This should be a transparent non-breaking change for all users, but one
possible stickler is that this almost for sure breaks out-of-tree
`std`-building tools like `xargo` and `cargo-xbuild`. I think it should
be relatively easy to get them working, however, as all that's needed is
an entry in the `[patch]` section used to build the standard library.
Hopefully we can work with these tools to solve this problem!

[commit]: 28ee12db81
2018-12-11 21:08:22 -08:00
Ralf Jung
8e994a2732 bump backtrace version to get prettier pretty-printing 2018-12-11 22:36:24 +01:00
Alex Crichton
b4110900bd Update Cargo submodule and its dependencies
Hopefully just another routine update!

So far this starts to enable the `std::arch` in stage0 builds of rustc.
This means that we may need stage0/not(stage0) in stdsimd itself, but
more and more code is starting to use `std::arch` so I think it's time
to start shifting the balance of work here.
2018-12-10 13:45:22 -08:00
Igor Matuszewski
4ceed86278 Bump failure to 0.1.3
We use failure_derive 0.1.3, try to work around
```
error[E0433]: failed to resolve: could not find `AsFail` in `failure`
```
2018-12-10 10:57:43 +01:00
Igor Matuszewski
a5755f99ff Update in-tree rustfmt to 1.0.1 to dedup versions 2018-12-10 09:05:37 +01:00
Igor Matuszewski
14b1b57e6a Update RLS 2018-12-10 09:01:26 +01:00
Nicholas Nethercote
ecf6cd4b3c Upgrade smallvec to 0.6.7 and use the new may_dangle feature. 2018-12-10 09:31:27 +11:00
Bastien Orivel
5c4534a6d0 Reduce the numbers of syn versions compiled from 4 to 2
The last remaining one comes from mdbook. Unfortunately updating it
breaks everything
2018-12-08 15:11:47 +01:00
Ralf Jung
f2a6db7ead update vergen 2018-12-07 17:48:38 +01:00
Jethro Beekman
4a3505682e Add x86_64-fortanix-unknown-sgx target to libstd and dependencies
The files src/libstd/sys/sgx/*.rs are mostly copied/adapted from
the wasm target.

This also updates the dlmalloc submodule to the very latest version.
2018-12-07 11:26:50 +05:30
Shotaro Yamada
6cfbb5b9a1 Remove unused dependency (rustc_lint -> rustc_mir) 2018-12-05 14:06:32 +09:00
Eric Huss
8c20adddbc Update cargo 2018-12-03 06:04:48 -08:00
Ralf Jung
44b0fd6202 update miri 2018-12-03 08:19:38 +01:00
Nick Cameron
7a7445bdfd Update RLS and Rustfmt
Closes #56261
2018-12-02 00:33:23 +13:00
Eduard-Mihai Burtescu
67afeef9e4 proc_macro: move to a dependency of libtest. 2018-11-30 06:15:20 +02:00
Eduard-Mihai Burtescu
8cf463bcff proc_macro: move the rustc server to syntax_ext. 2018-11-30 06:15:19 +02:00
Nicholas Nethercote
1e34dfce6f Update to ena 0.11.0.
This version has some significant speed-ups relating to snapshotting.
2018-11-25 17:54:04 +11:00
Oliver Scherer
65b702c6b1 Update miri submodule 2018-11-24 11:36:32 +01:00
kennytm
1b707f78f5
Rollup merge of #56048 - bjorn3:cg_ssa_sysroot, r=eddyb
Add rustc_codegen_ssa to sysroot

Outside of rustc you are currently unable to use it.

r? @nikomatsakis (because you r+'ed #55627)
2018-11-24 01:31:53 +08:00
Matthias Krüger
2598a7a56d submodules: update clippy from 2f6881c6 to 754b4c07
Changes:
````
rustup https://github.com/rust-lang/rust/pull/54071/
dependencies: update pulldown-cmark from 0.1 to 0.2
s/file_map/source_map
````
2018-11-23 13:05:31 +01:00
bjorn3
60e4158188 Move fake rustc_codegen_ssa dependency from rustc_driver to rustc-main 2018-11-22 20:20:23 +01:00
bjorn3
d6d8a330f8 Add rustc_codegen_ssa to sysroot 2018-11-22 20:20:23 +01:00
Eduard-Mihai Burtescu
7c166f54b2 Move Cargo.{toml,lock} to the repository root directory. 2018-11-22 12:10:04 +02:00
Oliver Schneider
52c58335aa
Remove workspace and Cargo.lock 2017-10-18 08:22:06 +02:00
mcarton
b10610cdeb Add the url crate as a dependency 2017-09-30 14:53:22 +02:00
Manish Goregaokar
201b5c2f24 Use ..= in the suggestion 2017-09-28 10:40:36 -07:00
Manish Goregaokar
15a2d1a473
Bump to 0.0.164 2017-09-25 19:56:51 -07:00
Manish Goregaokar
8408d48658
Update lockfile 2017-09-25 13:52:39 -07:00
Andre Bogus
1e0268fda8 avoid linting ptr_arg if .capacity() is called. Also suggest removing .as_str() where applicable.
THis fixes #2070.

Also fixes a few formatting mishaps
2017-09-20 23:59:23 +02:00
Manish Goregaokar
31489d75a3 Bump to 0.0.162 2017-09-18 20:27:24 -07:00
Seiichi Uchida
9f0cc93ac6 Bump version 2017-09-14 22:24:00 +09:00
Oliver Schneider
32a9394490
Rustup 2017-09-13 15:34:04 +02:00
Oliver Schneider
b127ad251f
Rustup 2017-09-12 14:38:59 +02:00
Oliver Schneider
81d32123f4
Bump version 2017-09-09 14:37:16 +02:00
Oliver Schneider
78f6db907c
Soft rustup (only fixed some tests) 2017-09-08 12:28:31 +02:00
Oliver Schneider
4402bc70a3 Rust needs clippy to have a Cargo.lock 2017-08-15 18:24:42 +02:00