Commit Graph

127 Commits

Author SHA1 Message Date
Eric Huss 6bcbc426c9 Update mdbook. 2020-06-26 07:47:19 -07:00
Eric Huss 6654c5852f Remove mdbook-linkcheck. 2020-06-26 07:45:28 -07:00
Jack Huey a1c769bfd2 Fix building 2020-06-19 14:05:14 -04:00
Jack Huey a42e5a14c4 Implement fn_def_datum 2020-06-19 14:05:14 -04:00
Yuki Okushi 3d4f4787a6
Update allowed crates list 2020-05-26 16:38:09 +09:00
Dylan MacKenzie 9f82785c81 Replace `rustc_data_structures::sync::Once` with `OnceCell` 2020-05-22 13:26:39 -07:00
Jack Huey a24df5b3cd Reintegrate chalk using chalk-solve 2020-05-07 17:35:58 -04:00
Oliver Scherer 96c5012b57 Add `psm` to the crate whitelist 2020-05-02 16:38:01 +02:00
Igor Matuszewski 2f48af09c6 tidy: Update rustc-ap-syntax to -rustc_ast 2020-04-05 00:45:50 +02:00
Arlo Siemsen f86b078e2d Add hash of source files in debug info
* Adds either an MD5 or SHA1 hash to the debug info.
* Adds new unstable option `-Z src-hash-algorithm` to control the hashing algorithm.
2020-04-02 14:13:19 -07:00
Mazdak Farrokhzad 39f06255d2 rustc -> rustc_middle part 4 -- pacify tidy 2020-03-30 07:19:55 +02:00
Eric Huss ed0158d7aa tidy: Remove chalk-engine/chalk-macros.
Removed in #69247 while this PR was waiting to merge.
2020-03-12 19:23:30 -07:00
Eric Huss 9a53cf3777 tidy: Sort WHITELIST. 2020-03-12 19:19:18 -07:00
Eric Huss 2e46faa3ca tidy: Add `test` to RUNTIME_CRATES. 2020-03-12 19:19:18 -07:00
Eric Huss 3c48c89e7b tidy: Add some clarifying comments in license checks. 2020-03-12 19:19:18 -07:00
Eric Huss bc738f2393 tidy: Verify the runtime crates don't have license exceptions. 2020-03-12 19:19:18 -07:00
Eric Huss be10f14329 tidy: check the licenses don't change 2020-03-12 19:19:18 -07:00
Eric Huss 3f45da0291 tidy: Check if exceptions are no longer used. 2020-03-12 19:19:18 -07:00
Eric Huss 349fcb9ef6 tidy: Use cargo_metadata for license checks. 2020-03-12 19:19:18 -07:00
Matthias Krüger 451d4925f7 submodules: update cargo from 9d32b7b01 to 3c53211c3
Changes:
````
Update jobserver.
Update tar.
Emit report on error with Ztimings.
Do not run `formats_source` if `rustfmt` is not available
Fix rebuild_sub_package_then_while_package on HFS.
Remove likely brittle test.
Install rustfmt for testing in CI
Fix build-std collisions.
Fix BuildScriptOutput when a build script is run multiple times.
Fix required-features using renamed dependencies.
Fix using global options before an alias.
Update changelog for 1.42.
Bump to 0.44.0.
Log rustfmt output if it fails; also do not check that rustfmt exists
Update pretty_env_logger requirement from 0.3 to 0.4
Swap std::sync::mpsc channel with crossbeam_channel
Fix tests on Linux/MacOS
Fix typo.
Add tests
Deduplicate warnings about missing rustfmt
Log entry 2: first implementation
Refactor code
Stabilize config-profile.
Log entry 1
Format code
Remove tempdir after install
Keep existing package with git install
Use non-ephemeral workspace
Test that git install reads virtual manifest
Fix failing test
Search for root manifest with ephemeral workspaces
Support out-dir in build section of Cargo configuration file
````
2020-02-10 21:12:16 +01:00
John Kåre Alsaker b0b11d31a2 Use termize instead of term_size 2020-01-29 01:13:48 +01:00
Charles Lew 485e98aae2 Implement uncommon_codepoints lint. 2020-01-03 08:20:12 +08:00
Charles Lew 27e7a1baed Add unicode-normalization to whitelist. 2019-12-26 14:16:36 +08:00
Mark Rousskov a06baa56b9 Format the world 2019-12-22 17:42:47 -05:00
Alex Crichton 7f23e6e8d7
rustc: Link LLVM directly into rustc again
This commit builds on #65501 continue to simplify the build system and
compiler now that we no longer have multiple LLVM backends to ship by
default. Here this switches the compiler back to what it once was long
long ago, which is linking LLVM directly to the compiler rather than
dynamically loading it at runtime. The `codegen-backends` directory of
the sysroot no longer exists and all relevant support in the build
system is removed. Note that `rustc` still supports a dynamically loaded
codegen backend as it did previously, it just no longer supports
dynamically loaded codegen backends in its own sysroot.

Additionally as part of this the `librustc_codegen_llvm` crate now once
again explicitly depends on all of its crates instead of implicitly
loading them through the sysroot. This involved filling out its
`Cargo.toml` and deleting all the now-unnecessary `extern crate`
annotations in the header of the crate. (this in turn required adding a
number of imports for names of macros too).

The end results of this change are:

* Rustbuild's build process for the compiler as all the "oh don't forget
  the codegen backend" checks can be easily removed.
* Building `rustc_codegen_llvm` is much simpler since it's simply
  another compiler crate.
* Managing the dependencies of `rustc_codegen_llvm` is much simpler since
  it's "just another `Cargo.toml` to edit"
* The build process should be a smidge faster because there's more
  parallelism in the main rustc build step rather than splitting
  `librustc_codegen_llvm` out to its own step.
* The compiler is expected to be slightly faster by default because the
  codegen backend does not need to be dynamically loaded.
* Disabling LLVM as part of rustbuild is still supported, supporting
  multiple codegen backends is still supported, and dynamic loading of a
  codegen backend is still supported.
2019-12-11 09:50:11 -05:00
Eric Huss 2b98532250 Update cargo, rls, books. 2019-11-25 08:14:07 -08:00
Eric Huss 32d1f47a06 Fix mdbook-linkcheck license checks. 2019-11-12 10:45:33 -08:00
Stefan Lankes 8a11c61a7a remove hermit-abi from the wrong list, add to the whitelist 2019-10-21 20:23:59 +02:00
Stefan Lankes 0a7ba6b9fc add hermit-abi to the whitelist 2019-10-21 19:43:24 +02:00
Josh Stone 98779ed097 add crossbeam-queue to the whitelist 2019-10-07 13:43:10 -07:00
Mazdak Farrokhzad 5b995397db
Rollup merge of #63676 - newpavlov:wasi, r=alexcrichton
Use wasi crate for Core API

Blocked by: CraneStation/rust-wasi#5

Blocks: rust-lang/libc#1461

cc @sunfishcode @alexcrichton
2019-09-06 09:36:36 +02:00
bors 19a38de68a Auto merge of #63402 - estebank:strip-margin, r=oli-obk
Strip code to the left and right in diagnostics for long lines

Fix #62999.
2019-08-30 06:49:15 +00:00
Artyom Pavlov 127311b75e
whitelist wasi crate 2019-08-29 18:08:13 +00:00
newpavlov 06acfb22e0 add wasi license to the licenses whitelist 2019-08-29 20:22:24 +03:00
Alex Crichton b47c9690d2 bootstrap: Merge the libtest build step with libstd
Since its inception rustbuild has always worked in three stages: one for
libstd, one for libtest, and one for rustc. These three stages were
architected around crates.io dependencies, where rustc wants to depend
on crates.io crates but said crates don't explicitly depend on libstd,
requiring a sysroot assembly step in the middle. This same logic was
applied for libtest where libtest wants to depend on crates.io crates
(`getopts`) but `getopts` didn't say that it depended on std, so it
needed `std` built ahead of time.

Lots of time has passed since the inception of rustbuild, however,
and we've since gotten to the point where even `std` itself is depending
on crates.io crates (albeit with some wonky configuration). This
commit applies the same logic to the two dependencies that the `test`
crate pulls in from crates.io, `getopts` and `unicode-width`. Over the
many years since rustbuild's inception `unicode-width` was the only
dependency picked up by the `test` crate, so the extra configuration
necessary to get crates building in this crate graph is unlikely to be
too much of a burden on developers.

After this patch it means that there are now only two build phasese of
rustbuild, one for libstd and one for rustc. The libtest/libproc_macro
build phase is all lumped into one now with `std`.

This was originally motivated by rust-lang/cargo#7216 where Cargo was
having to deal with synthesizing dependency edges but this commit makes
them explicit in this repository.
2019-08-23 16:46:11 -07:00
Esteban Küber f08b036cc7 Introduce `term-size` dependency and consider term width when trimming 2019-08-21 11:56:20 -07:00
gnzlbg e736345db4 Remove spin dependency 2019-08-01 17:01:33 +02:00
gnzlbg a3c8f63868 Update Cargo.lock 2019-08-01 17:01:33 +02:00
gnzlbg 74dc2b6f6f Remove mach dependency 2019-08-01 17:01:33 +02:00
André Luis Leal Cardoso Junior 9ca5dee0ad Add 'Apache-2.0 OR MIT' license variation to tidy/tools check 2019-07-06 11:05:22 -03:00
Laurențiu Nicola b888eb92c5 Bump some of the crates using rand 2019-06-12 19:39:14 +03:00
Philipp Hansch 3f727aeeb7
Add new diagnostic writer using annotate-snippet library
This adds a new diagnostic writer `AnnotateRsEmitterWriter` that uses
the [`annotate-snippet`][as] library to print out the human readable
diagnostics.

The goal is to eventually switch over to using the library instead of
maintaining our own diagnostics output.

This commit does *not* add all the required features to the new
diagnostics writer. It is only meant as a starting point so that other
people can contribute as well.

[as]: https://github.com/rust-lang/annotate-snippets-rs
2019-06-04 18:46:00 +02:00
Eduard-Mihai Burtescu 961fe5479f rustc: use indexmap instead of a plain vector for upvars. 2019-06-01 19:17:22 +03:00
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 835281fb04
Rollup merge of #61096 - ehuss:tidy-license-short-circuit, r=Centril
tidy: don't short-circuit on license error

If there is more than one license error, tidy would only print the first
error. This changes it so that all license errors are printed.
2019-05-25 04:55:30 +02:00
Eric Huss 46ffb6adba tidy: don't short-circuit on license error
If there is more than one license error, tidy would only print the first
error. This changes it so that all license errors are printed.
2019-05-23 13:33:08 -07:00
Eric Huss d5e03530f7 Update cargo 2019-05-23 13:27:49 -07:00
Andy Russell b2f71fb540
remove unneeded `extern crate`s from build tools 2019-05-09 12:03:13 -04:00
Alexey Shmalko 1937bf2626
Migrate tidy to rust 2018 edition 2019-05-03 22:19:24 +03:00
Wesley Wiser 56e434d84d Use measureme in self-profiler
Related to #58372
Related to #58967
2019-04-12 20:27:29 -04:00