Commit Graph

392 Commits

Author SHA1 Message Date
Oliver Schneider 3084c066e4
Fix the miri tool 2018-04-23 11:38:13 +02:00
Matt Ickstadt 0ab516fdfc Update MDBook 2018-04-22 20:35:22 -05:00
Steven Fackler 9e8f683476 Remove Alloc::oom 2018-04-22 10:08:49 -07:00
Alex Crichton 924f8c7053 Update the Cargo submodule 2018-04-20 07:18:35 -07:00
Oliver Schneider 0f1f9a79f2
Update clippy 2018-04-19 08:52:52 +02:00
Nick Cameron 70539d084e Update Rustfmt 2018-04-18 08:21:19 +12:00
John Kåre Alsaker 19d44f2d24 Make arenas thread safe 2018-04-15 20:53:03 +02:00
Nick Cameron eb1b502d02 Update Rustfmt 2018-04-14 13:33:28 +12:00
Simon Sapin eae0d46893 Restore Global.oom() functionality
… now that #[global_allocator] does not define a symbol for it
2018-04-12 22:53:21 +02:00
Simon Sapin 86753ce1cc Use the GlobalAlloc trait for #[global_allocator] 2018-04-12 22:53:12 +02:00
Alex Crichton a4caac5e93 Update to most recent version of dlmalloc
Inline the definition of `GlobalAlloc` for `dlmalloc` on wasm and don't rely on
usage of unstable features in `dlmalloc` itself.
2018-04-12 22:53:02 +02:00
Simon Sapin 5e5a0c21fc Separate alloc::heap::Alloc trait for stage0 #[global_allocator] 2018-04-12 22:52:54 +02:00
Simon Sapin b2027ef17c Deprecate the std_unicode crate 2018-04-12 00:13:51 +02:00
Oliver Schneider 3b04823dc1
Update clippy and rls 2018-04-11 13:36:31 +02:00
Nick Cameron 7e297ff96a Update Rustfmt 2018-04-09 21:55:07 +12:00
Oliver Schneider 679657b863
Inject the `compiler_builtins` crate whenever the `core` crate is injected 2018-04-07 09:24:35 +02:00
steveklabnik ecfbaca13e update mdbook
This includes search for all books, a long-requested feature!
2018-04-05 15:03:26 -04:00
Boris-Chengbiao Zhou ae86e83c52 Update RLS 2018-04-04 23:44:09 +02:00
Mark Simulacrum b0dbc7c15d Implement generating graphs of the build steps 2018-04-03 11:43:12 -06:00
Mark Simulacrum 42fde21c27 Add tests to rustbuild
In order to run tests, previous commits have cfg'd out various parts of
rustbuild. Generally speaking, these are filesystem-related operations
and process-spawning related parts. Then, rustbuild is run "as normal"
and the various steps that where run are retrieved from the cache and
checked against the expected results.

Note that this means that the current implementation primarily tests
"what" we build, but doesn't actually test that what we build *will*
build. In other words, it doesn't do any form of dependency verification
for any crate. This is possible to implement, but is considered future
work.

This implementation strives to cfg out as little code as possible; it
also does not currently test anywhere near all of rustbuild. The current
tests are also not checked for "correctness," rather, they simply
represent what we do as of this commit, which may be wrong.

Test cases are drawn from the old implementation of rustbuild, though
the expected results may vary.
2018-04-03 11:41:50 -06:00
Alex Crichton e9d898318c Bump to 1.27.0
Also update some `Cargo.lock` dependencies, finishing up some final steps of our
[release process]!

This doesn't update the bootstrap compiler just yet but that will come in a
follow-up PR.

[release process]: https://forge.rust-lang.org/release-process.html
2018-04-02 12:42:44 -07:00
Mark Simulacrum 36f9f76356
Rollup merge of #49549 - Mark-Simulacrum:bootstrap-cleanup, r=alexcrichton
Remove filetime dep from build_helper

r? @alexcrichton
2018-04-01 18:04:57 +02:00
Mark Simulacrum 86915ddf30 Remove filetime dep from build_helper 2018-04-01 04:49:21 -06:00
Manish Goregaokar 6a5bf5e180 Bump lockfile 2018-03-30 11:08:58 +02:00
Aleksey Kladov 850156aa27 Update Cargo
This includes rust-lang/cargo#5255 which fixed regression in
`cargo rustdoc` command.
2018-03-29 10:35:15 +03:00
Taylor Cramer 3c65f53620 Stabilize match_default_bindings
This includes a submodule update to rustfmt
in order to allow a stable feature declaration.
2018-03-28 11:13:13 +02:00
Eric Huss 0f1c649827 Fix diagnostic colors on Windows 10 console.
This updates termcolor to pick up BurntSushi/ripgrep#867.

Fixes #49322.
2018-03-26 17:23:17 -07:00
Alex Crichton faebcc1087 rustbuild: Fail the build if we build Cargo twice
This commit updates the `ToolBuild` step to stream Cargo's JSON messages, parse
them, and record all libraries built. If we build anything twice (aka Cargo)
it'll most likely happen due to dependencies being recompiled which is caught by
this check.
2018-03-26 13:07:12 -07:00
Taylor Cramer 0f5b52e4a8 Stabilize conservative_impl_trait 2018-03-26 10:43:03 +02:00
kennytm 2bd27c9729
Rollup merge of #49203 - Eijebong:lets-cleanup-dependencies, r=Mark-Simulacrum
Bump racer and home

This removes 10 dependencies from the build 🎉
2018-03-25 01:26:36 +08:00
Nick Cameron aa238a3780 Update RLS and Rustfmt
Fixes broken RLS tests/build
2018-03-23 10:34:47 +13:00
Bastien Orivel 06f8103295 Bump racer and home
This removes 10 dependencies from the build 🎉
2018-03-21 10:03:49 +01:00
Aleksey Kladov 8d9774713d Update Cargo to fix regression
This should fix regressions in Cargo after swithing to clap:

* If an external subcommand name was close to built-in one, clap
  errored (fixed by updating clap version)

* External subcomands didn't received their name as a first arg
2018-03-20 15:59:28 +03:00
Alan Du 253ade5b31 Update rustfmt to 0.4.1 2018-03-19 10:14:13 -04:00
Aleksey Kladov b15b023226 Update Cargo
This notably includes

* https://github.com/rust-lang/cargo/pull/5152
* https://github.com/rust-lang/cargo/pull/5188

The first one switches cargo from docopt to clap (
we also update to the latest calp in this repository),
the second one should help us to unify feature flags
for Cargo itself and RLS, and build Cargo libray only
once.
2018-03-17 02:20:22 +03:00
Oliver Schneider 02ac15cb89
Automatically enable the `clippy` feature of `rls` if clippy builds 2018-03-16 18:24:08 +01:00
kennytm 35b008cb92
Rollup merge of #48957 - Eijebong:rand, r=michaelwoerister
Dedupe rand
2018-03-16 01:49:43 +08:00
Boris-Chengbiao Zhou c21480233e Update RLS 2018-03-14 16:51:41 +01:00
John Kåre Alsaker cbdf4ec03e Remove syntax and syntax_pos thread locals 2018-03-14 11:56:01 +01:00
Niko Matsakis 3a50b41da4 introduce `infcx.at(..).normalize(..)` operation [VIC]
It is backed by the new `normalize_projection_ty` query, which uses
canonicalization.
2018-03-13 11:22:05 -04:00
Alex Crichton 9b1c69ec93 Update the rls-rustc package
Should hopefully fix compiling the rls!
2018-03-12 13:02:49 -07:00
Bastien Orivel a67e0723a3 Dedupe rand 2018-03-12 20:23:23 +01:00
Alex Crichton 994bfd4141 Update Cargo submodule
Required moving all fulldeps tests depending on `rand` to different locations as
now there's multiple `rand` crates that can't be implicitly linked against.
2018-03-11 10:59:28 -07:00
Manish Goregaokar b0bc601dcc
Rollup merge of #48588 - alexcrichton:termcolor, r=BurntSushi
rustc: Migrate to `termcolor` crate from `term`

This crate moves the compiler's error reporting to using the `termcolor` crate
from crates.io. Previously rustc used a super-old version of the `term` crate
in-tree which is basically unmaintained at this point, but Cargo has been using
`termcolor` for some time now and tools like `rg` are using `termcolor` as well,
so it seems like a good strategy to take!

Note that the `term` crate remains in-tree for libtest. Changing libtest will be
a bit tricky due to how the build works, but we can always tackle that later.

cc #45728
2018-03-08 17:25:56 -08:00
Oliver Schneider aedd4c61ea
Regenerate tests 2018-03-08 08:35:38 +01:00
Alex Crichton a919efad2e rustc: Migrate to `termcolor` crate from `term`
This crate moves the compiler's error reporting to using the `termcolor` crate
from crates.io. Previously rustc used a super-old version of the `term` crate
in-tree which is basically unmaintained at this point, but Cargo has been using
`termcolor` for some time now and tools like `rg` are using `termcolor` as well,
so it seems like a good strategy to take!

Note that the `term` crate remains in-tree for libtest. Changing libtest will be
a bit tricky due to how the build works, but we can always tackle that later.

cc #45728
2018-03-07 07:30:33 -08:00
Alex Crichton a8eaabcdba Update cargo lock 2018-03-07 07:11:59 -08:00
Alex Crichton 87f3dda514 Update env_logger to 0.5.4
It looks like this cuts down on the number of dependencies in env_logger and
notably cuts out a difference between a shared dependency of rls/cargo. My goal
here is to ensure that when we compile the RLS/Cargo on CI we only compile Cargo
once, and this is one step towards that!
2018-03-06 12:37:28 -08:00
Mark Mansi 3ee410498d Start adding a whitelist for rustc dependencies 2018-03-05 14:43:44 -06:00
Alex Crichton d69b24805b rust: Import LLD for linking wasm objects
This commit imports the LLD project from LLVM to serve as the default linker for
the `wasm32-unknown-unknown` target. The `binaryen` submoule is consequently
removed along with "binaryen linker" support in rustc.

Moving to LLD brings with it a number of benefits for wasm code:

* LLD is itself an actual linker, so there's no need to compile all wasm code
  with LTO any more. As a result builds should be *much* speedier as LTO is no
  longer forcibly enabled for all builds of the wasm target.
* LLD is quickly becoming an "official solution" for linking wasm code together.
  This, I believe at least, is intended to be the main supported linker for
  native code and wasm moving forward. Picking up support early on should help
  ensure that we can help LLD identify bugs and otherwise prove that it works
  great for all our use cases!
* Improvements to the wasm toolchain are currently primarily focused around LLVM
  and LLD (from what I can tell at least), so it's in general much better to be
  on this bandwagon for bugfixes and new features.
* Historical "hacks" like `wasm-gc` will soon no longer be necessary, LLD
  will [natively implement][gc] `--gc-sections` (better than `wasm-gc`!) which
  means a postprocessor is no longer needed to show off Rust's "small wasm
  binary size".

LLD is added in a pretty standard way to rustc right now. A new rustbuild target
was defined for building LLD, and this is executed when a compiler's sysroot is
being assembled. LLD is compiled against the LLVM that we've got in tree, which
means we're currently on the `release_60` branch, but this may get upgraded in
the near future!

LLD is placed into rustc's sysroot in a `bin` directory. This is similar to
where `gcc.exe` can be found on Windows. This directory is automatically added
to `PATH` whenever rustc executes the linker, allowing us to define a `WasmLd`
linker which implements the interface that `wasm-ld`, LLD's frontend, expects.

Like Emscripten the LLD target is currently only enabled for Tier 1 platforms,
notably OSX/Windows/Linux, and will need to be installed manually for compiling
to wasm on other platforms. LLD is by default turned off in rustbuild, and
requires a `config.toml` option to be enabled to turn it on.

Finally the unstable `#![wasm_import_memory]` attribute was also removed as LLD
has a native option for controlling this.

[gc]: https://reviews.llvm.org/D42511
2018-03-03 20:21:35 -08:00