Commit Graph

470 Commits

Author SHA1 Message Date
Mazdak Farrokhzad
42d4e261a1
Rollup merge of #65294 - varkor:lint-inline-prototype, r=matthewjasper
Lint ignored `#[inline]` on function prototypes

Fixes https://github.com/rust-lang/rust/issues/51280.

- Adds a `unused_attribute` lint for `#[inline]` on function prototypes.
- As a consequence, foreign items, impl items and trait items now have their attributes checked, which could cause some code to no longer compile (it was previously erroneously ignored).
2019-10-29 04:08:18 +01:00
Tyler Mandry
d7f99dadd4 Update backtrace to 0.3.40 2019-10-28 16:27:07 -07:00
Carol (Nichols || Goulding)
3bd16c291e
Update mdbook to 0.3.3 2019-10-28 16:21:53 -04:00
Mazdak Farrokhzad
fb12c70852 rustc, rustc_passes: don't depend on syntax_expand.
This is done by moving some data definitions to syntax::expand.
2019-10-27 17:05:57 +01:00
bors
fae75cd216 Auto merge of #65167 - hermitcore:rusty-hermit, r=alexcrichton
Redesign the interface to the unikernel HermitCore

We are developing the unikernel HermitCore, where the kernel is written in Rust and is already part of the Rust Standard Library. The interface between the standard library and the kernel based on a small C library. With this pull request, we remove completely the dependency to C and use lld as linker. Currently, the kernel will be linked to the application as static library, which is published at https://github.com/hermitcore/libhermit-rs.

We don’t longer support the C interface to the kernel. Consequently, we remove this part from the Rust Standard Library.
2019-10-26 19:35:59 +00:00
varkor
b925eb5f42 Update bitflags 2019-10-25 23:26:27 +01:00
Yuki Okushi
574b0780ab
Rollup merge of #65800 - michaelwoerister:measureme-0.4.0, r=wesleywiser
self-profiling: Update measureme to 0.4.0 and remove non-RAII methods from profiler.

This PR removes all non-RAII based profiling methods from `SelfProfilerRef` 🎉
It also delegates the `TimingGuard` implementation to `measureme`, now that that is available there.

r? @wesleywiser
2019-10-26 02:45:59 +09:00
Stefan Lankes
805a330ab4 rerun cargo to generate lock file 2019-10-25 10:24:14 +02:00
Stefan Lankes
88a7736083 update Cargo.lock 2019-10-25 10:03:41 +02:00
bors
85943fd7c8 Auto merge of #65764 - Manishearth:clippyup, r=Manishearth
Update clippy

Fixes #65754

r? @ghost
2019-10-25 07:47:13 +00:00
Stefan Lankes
d349e32fc7 Merge branch 'master' into rusty-hermit, resolve conflicts 2019-10-25 09:09:55 +02:00
Manish Goregaokar
7d0162d7ed Update clippy 2019-10-24 08:15:32 -07:00
Michael Woerister
ee1173a8ff self-profiling: Update measureme to 0.4.0 and use new RAII-based API. 2019-10-24 17:14:38 +02:00
Alex Crichton
060b6cbe74 Update hashbrown to 0.6.2
Pulls in rust-lang/hashbrown#119 which should be a good improvement for
compile times of hashmap-heavy crates.
2019-10-24 08:07:03 -07:00
Mazdak Farrokhzad
7c043e284a
Rollup merge of #65193 - Mark-Simulacrum:lockless-lintstore, r=nikomatsakis
Lockless LintStore

This removes mutability from the lint store after registration. Each commit stands alone, for the most part, though they don't make sense out of sequence.

The intent here is to move LintStore to a more parallel-friendly architecture, although also just a cleaner one from an implementation perspective. Specifically, this has the following changes:
 * We no longer implicitly register lints when registering lint passes
    * For the most part this means that registration calls now likely want to call something like:
       `lint_store.register_lints(&Pass::get_lints())` as well as `register_*_pass`.
    * In theory this is a simplification as it's much easier for folks to just register lints and then have passes that implement whichever lint however they want, rather than necessarily tying passes to lints.
 * Lint passes still have a list of associated lints, but a followup PR could plausibly change that
   * This list must be known for a given pass type, not instance, i.e., `fn get_lints()` is the signature instead of `fn get_lints(&self)` as before.
 * We do not store pass objects, instead storing constructor functions. This means we always get new passes when running lints (this happens approximately once though for a given compiler session, so no behavior change is expected).
 * Registration API is _much_ simpler: generally all functions are just taking `Fn() -> PassObject` rather than several different `bool`s.
2019-10-23 22:19:10 +02:00
Lzu Tao
7e0ef6e92e update compiletest 2019-10-23 02:46:10 +00:00
Stefan Lankes
ddcd157d03
Merge branch 'master' into rusty-hermit 2019-10-22 19:01:09 +02:00
Mazdak Farrokhzad
ed9cc70768
Rollup merge of #65595 - Centril:cfgspecs, r=Mark-Simulacrum
move `parse_cfgspecs` to `rustc_interface`

Part of https://github.com/rust-lang/rust/pull/65324.

r? @Mark-Simulacrum
2019-10-20 12:40:19 +02:00
Stefan Lankes
b6801b7dcd
Merge branch 'master' into rusty-hermit 2019-10-20 10:48:58 +02:00
Stefan Lankes
5ebd4d9c27 move interface to the unikernel in the crate hermit-abi
=> simplifies the maintenance of the interface
2019-10-20 10:46:18 +02:00
bors
7bf377f289 Auto merge of #65469 - mati865:libc, r=alexcrichton
Update libc to 0.2.64

Passed local tests.

cc potentially interested people: @gnzlbg @tlively
2019-10-20 06:10:51 +00:00
Mazdak Farrokhzad
d945f9860f move parse_cfgspecs to rustc_interface 2019-10-19 13:25:46 +02:00
Mark Rousskov
dab3bd6cda Create lint store during plugin registration
Remove lint store from Session
2019-10-17 19:41:21 -04:00
Mateusz Mikuła
01008e4cd6 Update libc to 0.2.64 2019-10-16 12:50:59 +02:00
Mazdak Farrokhzad
d420d719c4 move syntax::ext to new crate syntax_expand 2019-10-16 10:59:53 +02:00
Ralf Jung
4977e319a4 update miri 2019-10-14 17:59:45 +02:00
Lzu Tao
81d813dd67 Bump home crate 2019-10-12 08:29:27 +00:00
Igor Matuszewski
ae79ea3422 Update RLS and Rustfmt
This also bumps rustc-ap-* crates and fixes the relevant toolstate.
2019-10-12 08:28:12 +00:00
Mazdak Farrokhzad
27240fe77b
Rollup merge of #64656 - passcod:map-entry-insert, r=Amanieu
Implement (HashMap) Entry::insert as per #60142

Implementation of `Entry::insert` as per @SimonSapin's comment on #60142. This requires a patch to hashbrown:

```diff
diff --git a/src/rustc_entry.rs b/src/rustc_entry.rs
index fefa5c3..7de8300 100644
--- a/src/rustc_entry.rs
+++ b/src/rustc_entry.rs
@@ -546,6 +546,32 @@ impl<'a, K, V> RustcVacantEntry<'a, K, V> {
         let bucket = self.table.insert_no_grow(self.hash, (self.key, value));
         unsafe { &mut bucket.as_mut().1 }
     }
+
+    /// Sets the value of the entry with the RustcVacantEntry's key,
+    /// and returns a RustcOccupiedEntry.
+    ///
+    /// # Examples
+    ///
+    /// ```
+    /// use hashbrown::HashMap;
+    /// use hashbrown::hash_map::RustcEntry;
+    ///
+    /// let mut map: HashMap<&str, u32> = HashMap::new();
+    ///
+    /// if let RustcEntry::Vacant(v) = map.rustc_entry("poneyland") {
+    ///     let o = v.insert_and_return(37);
+    ///     assert_eq!(o.get(), &37);
+    /// }
+    /// ```
+     #[inline]
+    pub fn insert_and_return(self, value: V) -> RustcOccupiedEntry<'a, K, V> {
+        let bucket = self.table.insert_no_grow(self.hash, (self.key, value));
+        RustcOccupiedEntry {
+            key: None,
+            elem: bucket,
+            table: self.table
+        }
+    }
 }

 impl<K, V> IterMut<'_, K, V> {
```

This is also only an implementation for HashMap. I tried implementing for BTreeMap, but I don't really understand BTreeMap's internals and require more guidance on implementing the equivalent `VacantEntry::insert_and_return` such that it returns an `OccupiedEntry`. Notably, following the original PR's modifications I end up needing a `Handle<NodeRef<marker::Mut<'_>, _, _, marker::LeafOrInternal>, _>` while I only have a `Handle<NodeRef<marker::Mut<'_>, _, _, marker::Internal>, _>` and don't know how to proceed.

(To be clear, I'm not asking for guidance right now; I'd be happy getting only the HashMap implementation — the subject of this PR — reviewed and ready, and leave the BTreeMap implementation for a latter PR.)
2019-10-09 05:31:33 +02:00
Félix Saparelli
bdcc21cbc4 Implement (HashMap) Entry::insert as per #60142 2019-10-09 11:00:29 +13:00
Josh Stone
29cd7eb6c9 Update other rayon uses to 1.2 too 2019-10-07 13:44:30 -07:00
Josh Stone
33c4125fbe Rebase rustc-rayon on rayon-1.2
See also https://github.com/rust-lang/rustc-rayon/pull/3
2019-10-07 13:20:17 -07:00
Tyler Mandry
c457b6fcbf
Rollup merge of #65101 - mati865:rustc_macro-deps, r=nikomatsakis
Upgrade librustc_macros dependencies

Passed tests on Linux.
2019-10-06 11:41:56 -07:00
Mark Rousskov
7c3f65b3c4 middle::intrinsicck -> rustc_passes 2019-10-04 11:11:33 -04:00
Mateusz Mikuła
d89608829c Upgrade librustc_macros dependencies 2019-10-04 14:43:23 +02:00
Alex Crichton
4447388f17 Update Cargo.lock for cargo update 2019-10-01 15:02:45 -07:00
bors
22bc9e1d9c Auto merge of #64778 - csmoe:index, r=eddyb
Introduce librustc_index crate

Closes #50592
2019-09-30 13:33:15 +00:00
Ralf Jung
17fa7fe77e bump Miri 2019-09-29 13:57:26 -04:00
csmoe
64f61c7888 remove indexed_vec re-export from rustc_data_structures 2019-09-29 16:48:31 +00:00
csmoe
d20183dbbf remove bit_set re-export from rustc_data_structures 2019-09-29 16:11:30 +00:00
csmoe
17990637b3 move bit_set into rustc_index 2019-09-29 16:11:30 +00:00
csmoe
1cff2e6557 move index_vec into rustc_index 2019-09-29 16:11:30 +00:00
Mazdak Farrokhzad
e3a5179c7e
Rollup merge of #64847 - mati865:env_logger, r=alexcrichton
Upgrade env_logger to 0.7

`./x.py test` passed locally.
2019-09-28 05:37:57 +02:00
Mazdak Farrokhzad
83dcdd99dd Remove librustc_ast_borrowck from driver & interface. 2019-09-27 19:48:06 +02:00
Mateusz Mikuła
3e4f582699 Upgrade env_logger to 0.7 2019-09-26 13:19:14 +02:00
Manish Goregaokar
c4206820b2 Update clippy 2019-09-25 14:56:34 -07:00
bors
c7bc0bf82f Auto merge of #64627 - nnethercote:ObligForest-even-more, r=nikomatsakis
Even more `ObligationForest` improvements

Following on from #64545, more speed and readability improvements.

r? @nikomatsakis
2019-09-25 05:54:00 +00:00
Mazdak Farrokhzad
66ca0eb79a
Rollup merge of #64743 - alexcrichton:update-cargo, r=nikomatsakis
Update cargo

11 commits in b6c6f685b38d523580813b0031677c2298f458ea..aa6b7e01abce30091cc594cb23a15c46cead6e24
2019-09-19 21:10:09 +0000 to 2019-09-24 17:19:12 +0000
- Fix interpretation of `--features a b` on the CLI (rust-lang/cargo#7419)
- Update env_logger requirement from 0.6.0 to 0.7.0 (rust-lang/cargo#7422)
- Update some unstable docs (rust-lang/cargo#7407)
- Fix xcompile tests. (rust-lang/cargo#7408)
- -Ztimings: Fix more scale problems. (rust-lang/cargo#7403)
- Fix some rendering issues with -Ztimings. (rust-lang/cargo#7397)
- -Ztimings: show max jobs/cpus (rust-lang/cargo#7398)
- Fix -Ztimings with doc tests. (rust-lang/cargo#7395)
- Add documentation for the -Zdoctest-xcompile feature (rust-lang/cargo#7391)
- Fix integration tests waiting for binaries to finish. (rust-lang/cargo#7394)
- Extract Platform to a separate crate. (rust-lang/cargo#7375)
2019-09-25 03:48:29 +02:00
Mazdak Farrokhzad
9e12827d56
Rollup merge of #64702 - sinkuu:deps, r=jonas-schievink
Remove unused dependencies
2019-09-24 23:45:27 +02:00
Alex Crichton
5c5e3facab Update cargo
11 commits in b6c6f685b38d523580813b0031677c2298f458ea..aa6b7e01abce30091cc594cb23a15c46cead6e24
2019-09-19 21:10:09 +0000 to 2019-09-24 17:19:12 +0000
- Fix interpretation of `--features a b` on the CLI (rust-lang/cargo#7419)
- Update env_logger requirement from 0.6.0 to 0.7.0 (rust-lang/cargo#7422)
- Update some unstable docs (rust-lang/cargo#7407)
- Fix xcompile tests. (rust-lang/cargo#7408)
- -Ztimings: Fix more scale problems. (rust-lang/cargo#7403)
- Fix some rendering issues with -Ztimings. (rust-lang/cargo#7397)
- -Ztimings: show max jobs/cpus (rust-lang/cargo#7398)
- Fix -Ztimings with doc tests. (rust-lang/cargo#7395)
- Add documentation for the -Zdoctest-xcompile feature (rust-lang/cargo#7391)
- Fix integration tests waiting for binaries to finish. (rust-lang/cargo#7394)
- Extract Platform to a separate crate. (rust-lang/cargo#7375)
2019-09-24 11:06:56 -07:00
Alex Crichton
b923306913 Remove --enable-extended from cross dist builder
Shouldn't have an effect on produced artifacts and otherwise is causing
issues where `-Zsave-analysis` is passed during tests but fails
compilation.
2019-09-23 09:34:44 -07:00
Shotaro Yamada
0423c2a7a3 Remove unused dependencies 2019-09-23 15:25:00 +09:00
Lzu Tao
bbce971bf7 Update clippy 2019-09-22 15:02:12 +00:00
Nicholas Nethercote
3eae7f6291 Upgrade to ena-0.13.1 and use the new inlined_probe_value function.
This is a big speed win for `keccak` and `inflate`.
2019-09-20 11:24:30 +10:00
Mazdak Farrokhzad
11a0b968c2
Rollup merge of #64536 - Aaron1011:cargo-crate-type, r=ehuss
Update Cargo

This pulls in https://github.com/rust-lang/cargo/pull/7159, which
ensures that documenting proc macros works correctly.
2019-09-19 04:53:08 +02:00
Aaron Hill
d440e136e7
Update Cargo
This pulls in https://github.com/rust-lang/cargo/pull/7159, which
ensures that documenting proc macros works correctly.
2019-09-18 21:53:50 -04:00
Pietro Albini
a7a6dedfe6
Revert "Rollup merge of #64451 - RalfJung:miri-manifest, r=pietroalbini"
This reverts commit 7975973e2b, reversing
changes made to f0320e54c7.
2019-09-17 09:58:55 +02:00
Mazdak Farrokhzad
aeb32f01b6
Rollup merge of #64380 - alexcrichton:update-openssl, r=Mark-Simulacrum
Update bundled OpenSSL to 1.1.1d

Brings in a few minor security fixes to the distributed Cargo/etc.
2019-09-17 03:08:35 +02:00
Mazdak Farrokhzad
a31d71f56b
Rollup merge of #64485 - RalfJung:miri, r=alexcrichton
update Miri

Fixes https://github.com/rust-lang/rust/issues/64363

r? @alexcrichton for the Cargo.toml changes: with byteorder 1.3, the `i128` feature is a NOP, so we can remove it everywhere and then get rid of this crate in the workspace-hack.
2019-09-16 23:21:49 +02:00
Ralf Jung
f90a81c238 with byteorder 1.3, the i128 feature is a NOP 2019-09-16 18:28:05 +02:00
Ralf Jung
4b175339b8 update miri 2019-09-16 18:27:28 +02:00
bors
a44881d892 Auto merge of #64510 - Centril:rollup-m03zsq8, r=Centril
Rollup of 10 pull requests

Successful merges:

 - #63955 (Make sure interned constants are immutable)
 - #64028 (Stabilize `Vec::new` and `String::new` as `const fn`s)
 - #64119 (ci: ensure all tool maintainers are assignable on issues)
 - #64444 (fix building libstd without backtrace feature)
 - #64446 (Fix build script sanitizer check.)
 - #64451 (when Miri tests are not passing, do not add Miri component)
 - #64467 (Hide diagnostics emitted during --cfg parsing)
 - #64497 (Don't print the "total" `-Ztime-passes` output if `--prints=...` is also given)
 - #64499 (Use `Symbol` in two more functions.)
 - #64504 (use println!() instead of println!(""))

Failed merges:

r? @ghost
2019-09-16 15:35:48 +00:00
Mazdak Farrokhzad
7975973e2b
Rollup merge of #64451 - RalfJung:miri-manifest, r=pietroalbini
when Miri tests are not passing, do not add Miri component

This makes build-manifest query the toolstate repo at https://github.com/rust-lang-nursery/rust-toolstate to figure out if the tests of the Miri component are passing. If they are not, we remove the component from the manifest, to avoid shipping a broken Miri.

I tested this locally by running build-manifest and making sure that it correctly detects the toolstate of 02785dabad as broken.

r? @pietroalbini
Cc @kennytm @alexcrichton

Fixes https://github.com/rust-lang/rust/issues/60301
2019-09-16 17:09:40 +02:00
bors
16c4011673 Auto merge of #64381 - mati865:rand, r=alexcrichton
Upgrade parking_lot and tempfile rustc dependencies

This should be last piece to unbreak `rustc` in https://github.com/rust-lang/rust/issues/63848
2019-09-16 11:47:11 +00:00
bors
572d3d9634 Auto merge of #60584 - jonas-schievink:ice-panic-hook, r=oli-obk
Use `panic::set_hook` to print the ICE message

This allows custom frontends and backends to override the hook with their own, for example to point people to a different issue tracker.

ICE messages are printed in a slightly different order now. Nightly prints:

```
thread 'rustc' panicked at 'called `Option::unwrap()` on a `None` value', src/libcore/option.rs:347:21
note: Run with `RUST_BACKTRACE=1` environment variable to display a backtrace.
error: aborting due to 2 previous errors

Some errors have detailed explanations: E0277, E0658.
For more information about an error, try `rustc --explain E0277`.

error: internal compiler error: unexpected panic

note: the compiler unexpectedly panicked. this is a bug.

note: we would appreciate a bug report: https://github.com/rust-lang/rust/blob/master/CONTRIBUTING.md#bug-reports

note: rustc 1.36.0-nightly (08bfe1612 2019-05-02) running on x86_64-unknown-linux-gnu
```

After this PR, rustc prints:

```
thread 'rustc' panicked at 'called `Option::unwrap()` on a `None` value', src/libcore/option.rs:347:21
note: Run with `RUST_BACKTRACE=1` environment variable to display a backtrace.

error: internal compiler error: unexpected panic

note: the compiler unexpectedly panicked. this is a bug.

note: we would appreciate a bug report: https://github.com/rust-lang/rust/blob/master/CONTRIBUTING.md#bug-reports

note: rustc 1.36.0-dev running on x86_64-unknown-linux-gnu

error: aborting due to 2 previous errors

Some errors have detailed explanations: E0277, E0658.
For more information about an error, try `rustc --explain E0277`.
```
2019-09-15 00:10:08 +00:00
Mazdak Farrokhzad
f7dd5d0f20
Rollup merge of #64384 - mati865:tools_hack, r=alexcrichton
Trim rustc-workspace-hack

Those dependencies seem no longer necessary.
`./x.py test` and `x86_64-gnu-tools` container passed locally so I think this won't hurt.
2019-09-14 16:42:31 +02:00
Ralf Jung
766c4a556e build-manifest: when Miri tests are not passing, do not add Miri component 2019-09-14 12:57:39 +02:00
Mateusz Mikuła
612c3947b4 Trim rustc-workspace-hack 2019-09-12 14:12:12 +02:00
Mateusz Mikuła
935394f4f8 Upgrade parking_lot and tempfile rustc dependencies 2019-09-11 19:15:32 +02:00
Alex Crichton
b88bcf0f9d Update bundled OpenSSL to 1.1.1d
Brings in a few minor security fixes to the distributed Cargo/etc.
2019-09-11 06:55:40 -07:00
Mark Rousskov
2fc32b9e72 Locate rustc binary similarly to codegen backend loading
This ensures that the failure cases for finding the codegen backend and
for finding the rustc binary are essentially the same, and since we
almost always will load the codegen backend, this is essentially meaning
that the rustc change is not a regression.
2019-09-10 16:57:14 -04:00
Mazdak Farrokhzad
342722e584
Rollup merge of #64320 - alexcrichton:update-patch, r=RalfJung
Update version of `rustc-std-workspace-*` crates

This commit updates the version of the `rustc-std-workspace-*` crates
in-tree which are used in `[patch]`. This will guarantee that Cargo will
select these versions even if minor updates are published to crates.io
because otherwise a newer version on crates.io would be preferred which
misses the point of `[patch]`!
2019-09-09 22:18:14 +02:00
Mazdak Farrokhzad
f353d49edd
Rollup merge of #64279 - Xanewok:bump-rustc-ap, r=tmandry
Bump RLS and Rustfmt submodules to use rustc-ap-* v583

Closes #64180
Closes #64179

r? @topecongiro
2019-09-09 22:18:11 +02:00
Mazdak Farrokhzad
611458ba06
Rollup merge of #63806 - mati865:rand, r=alexcrichton
Upgrade rand to 0.7

Also upgrades `getrandom` to avoid bug encountered by https://github.com/rust-lang/rust/pull/61393 which bumps libc to `0.2.62`.
2019-09-09 22:18:08 +02:00
Alex Crichton
6c74bc9518 Update version of rustc-std-workspace-* crates
This commit updates the version of the `rustc-std-workspace-*` crates
in-tree which are used in `[patch]`. This will guarantee that Cargo will
select these versions even if minor updates are published to crates.io
because otherwise a newer version on crates.io would be preferred which
misses the point of `[patch]`!
2019-09-09 13:02:10 -07:00
Igor Matuszewski
c2249a4bf9 cargo update -p rustfmt-nightly 2019-09-09 18:18:21 +02:00
Mazdak Farrokhzad
24172084e1
Rollup merge of #64152 - cramertj:update-backtrace, r=alexcrichton
Use backtrace formatting from the backtrace crate

r? @alexcrichton
2019-09-08 12:11:56 +02:00
Mazdak Farrokhzad
448b38f0bf
Rollup merge of #64235 - mati865:env_logger, r=alexcrichton
Upgrade env_logger to 0.6
2019-09-07 20:01:48 +02:00
Mazdak Farrokhzad
89a69fd76d
Rollup merge of #64139 - Mark-Simulacrum:strip-legacy-proc-macro, r=petrochenkov
Migrate internal diagnostic registration to macro_rules

Review is best done commit-by-commit.

Fixes #64132.
2019-09-07 20:01:44 +02:00
Mateusz Mikuła
8ddbe7660f Upgrade env_logger to 0.6 2019-09-06 20:04:12 +02:00
Mateusz Mikuła
32101ad3b3 Upgrade rand to 0.7 2019-09-06 14:45:28 +02: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
Mark Rousskov
3f1dc326ed Remove codegen dependencies
Not doing this leads to building two copies of e.g. num_cpus in the
sysroot and _llvm deps, leading to conflicts between the two when
compiling librustc_codegen_llvm. It's not entirely clear why this is the
case after the changes in this PR but likely has something to do with a
subtle difference in ordering or similar.
2019-09-05 12:35:18 -04:00
bors
618768492f Auto merge of #64172 - Centril:rollup-8i8oh54, r=Centril
Rollup of 11 pull requests

Successful merges:

 - #62848 (Use unicode-xid crate instead of libcore)
 - #63774 (Fix `window.hashchange is not a function`)
 - #63930 (Account for doc comments coming from proc macros without spans)
 - #64003 (place: Passing `align` = `layout.align.abi`, when also passing `layout`)
 - #64030 (Fix unlock ordering in SGX synchronization primitives)
 - #64041 (use TokenStream rather than &[TokenTree] for built-in macros)
 - #64051 (Add x86_64-linux-kernel target)
 - #64063 (Fix const_err with `-(-0.0)`)
 - #64083 (Point at appropriate arm on type error on if/else/match with one non-! arm)
 - #64100 (Fix const eval bug breaking run-pass tests in Miri)
 - #64157 (Opaque type locations in error message for clarity.)

Failed merges:

r? @ghost
2019-09-05 12:41:41 +00:00
Taylor Cramer
290f5b2275 Use backtrace formatting from the backtrace crate 2019-09-04 16:18:12 -07:00
Aleksey Kladov
a0c186c34f remove XID and Pattern_White_Space unicode tables from libcore
They are only used by rustc_lexer, and are not needed elsewhere.

So we move the relevant definitions into rustc_lexer (while the actual
unicode data comes from the unicode-xid crate) and make the rest of
the compiler use it.
2019-09-04 13:11:11 +03:00
Albin Stjerna
2adb246b5c NLL: New Polonius version 2019-09-04 09:44:40 +02:00
bors
2d851b3318 Auto merge of #63975 - topecongiro:rustfmt-1.4.6, r=nikomatsakis
Update rustfmt to 1.4.6

This PR updates rustfmt to 1.4.6. [CHANGELOG](https://github.com/rust-lang/rustfmt/blob/v1.4.6/CHANGELOG.md#146-2019-08-28).
2019-08-31 01:35:10 +00:00
Jonas Schievink
eefae7b1a9 Update Cargo.lock 2019-08-30 12:34:38 +02:00
Jonas Schievink
a8926a5e9c Use panic::set_hook to print the ICE message 2019-08-30 12:34:20 +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
newpavlov
6374b8458f update to wasi v0.7 2019-08-29 20:13:15 +03:00
topecongiro
8e10725317
Update rustfmt to 1.4.6 2019-08-28 22:37:41 +09:00
bors
b7178cbc0c Auto merge of #63960 - ehuss:update-cargo, r=alexcrichton
Update cargo

Update cargo

10 commits in 3f700ec43ce72305eb5315cfc710681f3469d4b4..22f7dd0495cd72ce2082d318d5a9b4dccb9c5b8c
2019-08-19 22:43:12 +0000 to 2019-08-27 16:10:51 +0000
- Update and improve zsh completion (rust-lang/cargo#7296)
- Document that `package` can be used in `[patch]` (rust-lang/cargo#7263)
- Fix `error:`/`warning:` coloring inconsistency with rustc (rust-lang/cargo#7294)
- Tests: Import rustc_plugin from its new location (rust-lang/cargo#7287)
- Update README azure badge. (rust-lang/cargo#7293)
- Update home dependencies to v0.5 (rust-lang/cargo#7277)
- Fix typo (rust-lang/cargo#7279)
- Update libgit2 dependencies (rust-lang/cargo#7275)
- Fix old lockfile encoding wrt newlines (rust-lang/cargo#7262)
- Fix dSYM uplifting when symlink is broken (rust-lang/cargo#7268)
2019-08-27 23:57:05 +00:00
Eric Huss
85a4d6f522 Update cargo 2019-08-27 14:03:32 -07:00
Ralf Jung
98ad4ac250 update miri 2019-08-27 15:49:47 +02: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
bors
f834695781 Auto merge of #63521 - newpavlov:redox_builder, r=pietroalbini
Re-enable Redox builder (take 2)

Closes: #63160
2019-08-23 08:58:24 +00:00
bors
ee7161db98 Auto merge of #63522 - topecongiro:rustfmt-1.4.5, r=Centril
Update rustfmt to 1.4.5

This update includes a bug fix that fixes generating invalid code when formatting an impl block with const generics inside a where clause.

**Changes**
0462008de8...1de58ce46d
2019-08-22 21:51:14 +00:00
Esteban Küber
f08b036cc7 Introduce term-size dependency and consider term width when trimming 2019-08-21 11:56:20 -07:00
Mazdak Farrokhzad
61ae1ccb14
Rollup merge of #63753 - ehuss:bump-toml, r=Mark-Simulacrum
Bump toml dependency.

Just removing an old/duplicated dependency from the workspace.
2019-08-21 11:52:21 +02:00
Mazdak Farrokhzad
d7c162aefd
Rollup merge of #63721 - Mark-Simulacrum:decouple-error-index, r=matthewjasper
Do not emit JSON dumps of diagnostic codes

This decouples the error index generator from libsyntax for the most part (though it still depends on librustdoc for the markdown parsing and generation).

Fixes #34588
2019-08-21 11:52:20 +02:00
Eric Huss
7d92cf4826 Bump toml dependency.
Just removing an old/duplicated dependency from the workspace.
2019-08-20 10:46:35 -07:00
bors
5a56e05abd Auto merge of #63744 - Centril:rollup-g4l3ra9, r=Centril
Rollup of 7 pull requests

Successful merges:

 - #63216 (avoid unnecessary reservations in std::io::Take::read_to_end)
 - #63265 (Implement `nth_back` for ChunksExactMut)
 - #63691 (Fix bug in iter::Chain::size_hint)
 - #63722 (Don't use stage naming in RUSTFLAGS environment variables)
 - #63723 (Consolidate sigemptyset workarounds)
 - #63736 (Restore the rustc_plugin crate in the sysroot)
 - #63743 (Allow git to merge `Cargo.lock`)

Failed merges:

r? @ghost
2019-08-20 15:01:24 +00:00
Mark Rousskov
99ce39b30a Load error codes via build script instead of JSON parsing
This scans the tree for `error_codes.rs` and loads all of them.
2019-08-20 09:55:31 -04:00
Simon Sapin
c561abeea2 Restore the rustc_plugin crate in the sysroot
It was accidentally removed in a rebase of https://github.com/rust-lang/rust/pull/62727

Fixes https://github.com/rust-lang/rust/issues/63729
2019-08-20 13:30:50 +02:00
Artyom Pavlov
bd1dc7cf92
fix libc checksum 2019-08-20 10:26:10 +00:00
Artyom Pavlov
e500fc3171
Merge branch 'master' into redox_builder 2019-08-20 10:08:57 +00:00
flip1995
96c3ec12f6
Update Cargo.lock 2019-08-20 09:32:53 +02:00
Seiichi Uchida
0be01fa655 Update rustfmt to 1.4.5 2019-08-20 16:23:46 +09:00
Simon Sapin
d0bbc6062d Deprecate using rustc_plugin without the rustc_driver dylib.
CC https://github.com/rust-lang/rust/pull/59800
7198687bb2

Fix https://github.com/rust-lang/rust/issues/62717
2019-08-20 00:21:32 +02:00
Alex Crichton
093ede240a Use to Cargo's experimental lockfile format
This commit changes the lock file format of this repository to an
experimental format that isn't rolled out by default in Cargo but is
intended to eventually become the default. The new format moves
information around and compresses the lock file a bit. The intention of
the new format is to reduce the amount of git merge conflicts that
happen in a repository, with rust-lang/rust being a prime candidate for
testing this.

The new format wille ventually become the default but for now it is
off-by-default in Cargo, but Cargo will preserve the format if it sees
it. Since we always build with a beta version of Cargo for the
rust-lang/rust repository it should be safe to go ahead and change the
lock file format here and everyone building this repository will
automatically pick it up.

It's intended that we'll evaluate this lock file format in the
rust-lang/rust repository to see if it reduces the number of perceived
merge conflicts for changes that touch the lock file. This will in turn
help inform the development of the feature in Cargo and whether we
choose to stabilize this and turn it on by default.

Note that this commit does not actually change the contents of the lock
file in terms of a resolution graph, it simply reencodes the lock file
with a new format.
2019-08-19 09:56:22 -07:00
Alex Crichton
1301b100ca std: Update backtrace crate dependency
This commit updates the `backtrace` crate from 0.3.34 to 0.3.35. The
[included set of changes][changes] for this update mostly includes some
gimli-related improvements (not relevant for the standard library) but
critically includes a fix for rust-lang/backtrace-rs#230. The standard
library will not aqcuire a session-local lock whenever a backtrace is
generated on Windows to allow external synchronization with the
`backtrace` crate itself, allowing `backtrace` to be safely used while
other threads may be panicking.

[changes]: https://github.com/rust-lang/backtrace-rs/compare/0.3.34...0.3.35
2019-08-19 06:13:18 -07:00
Artyom Pavlov
5d75654cce
fix Cargo.lock 2019-08-17 19:15:36 +00:00
Artyom Pavlov
51dcdcfd94
Merge branch 'master' into redox_builder 2019-08-17 18:54:56 +00:00
Mazdak Farrokhzad
13b1031399
Rollup merge of #63548 - eddyb:unicode-demangling, r=alexcrichton
Update rustc-demangle to 0.1.16.

Includes https://github.com/alexcrichton/rustc-demangle/pull/29 and https://github.com/alexcrichton/rustc-demangle/pull/30.
You can see the effects of the former in the testcase changes.

r? @alexcrichton cc @davidtwco @michaelwoerister
2019-08-17 03:02:57 +02:00
Simon Sapin
a92c29b238 Update hashbrown to 0.5.0 2019-08-16 18:08:35 +02:00
Eduard-Mihai Burtescu
1ab9e523f3 Update rustc-demangle to 0.1.16. 2019-08-14 10:35:24 +03:00
newpavlov
7b8273c2e8 Re-enable Redox builder (take 2) 2019-08-13 17:21:45 +03:00
Mark Rousskov
c57481001e Remove ReentrantMutex
This drops the parking_lot dependency; the ReentrantMutex type appeared
to be unused (at least, no compilation failures occurred).

This is technically a possible change in behavior of its users, as
lock() would wait on other threads releasing their guards, but since we
didn't actually remove any threading or such in this code, it appears
that we never used that behavior (the behavior change is only noticeable
if the type previously was used in two threads, in a single thread
ReentrantMutex is useless).
2019-08-11 10:36:46 -04:00
Mazdak Farrokhzad
8fe2d9c4e9
Rollup merge of #63316 - topecongiro:rustfmt-1.4.4, r=Mark-Simulacrum
Update rustfmt to 1.4.4

The update includes bug fixes.
2019-08-08 16:33:36 +02:00
Mazdak Farrokhzad
8885dc2b37
Rollup merge of #63261 - RalfJung:rand, r=nikomatsakis
bump rand in libcore/liballoc test suites

This pulls in the fix for https://github.com/rust-random/rand/issues/779, which trips Miri when running these test suites.

`SmallRng` (formerly used by libcore) is no longer built by default, it needs a feature gate. I opted to switch to `StdRng` instead. Or should I enable the feature gate?
2019-08-08 16:33:34 +02:00
Eric Huss
266fa0c26a Update cargo 2019-08-07 17:23:54 -07:00
Mazdak Farrokhzad
fbf268bfd4
Rollup merge of #63296 - alexcrichton:deduplicate-demangle, r=Mark-Simulacrum
Deduplicate rustc_demangle in librustc_codegen_llvm

This commit removes the crates.io dependency of `rustc-demangle` from
`rustc_codegen_llvm`. This crate is actually already pulled in to part
of the `librustc_driver` build and with the upcoming pipelining
implementation in Cargo it causes build issues if `rustc-demangle` is
left to its own devices.

This is not currently required, but once pipelining is enabled for
rustc's own build it will be required to build correctly.
2019-08-06 15:36:34 +02:00
topecongiro
93cf95bedd
Update rustfmt to 1.4.4 2019-08-06 11:19:31 +09:00
Ralf Jung
39185dd398 update getrandom 2019-08-05 11:23:06 +02:00
Ralf Jung
0cb16f7d5e bump libcore tests to rand 0.7 2019-08-04 14:50:32 +02:00
Ralf Jung
5b78e98a37 bump rand to fix Miri failures 2019-08-04 14:50:26 +02:00
Igor Matuszewski
5bcce8269d Update Rustfmt and RLS 2019-08-03 13:05:42 +02:00
gnzlbg
52caca0c45 Update Cargo.lock 2019-08-01 17:02:26 +02:00
Eric Huss
f2428a69d4 Update cargo, rls 2019-07-31 17:44:39 -07:00
Alex Crichton
d05c4d5459 Deduplicate rustc_demangle in librustc_codegen_llvm
This commit removes the crates.io dependency of `rustc-demangle` from
`rustc_codegen_llvm`. This crate is actually already pulled in to part
of the `librustc_driver` build and with the upcoming pipelining
implementation in Cargo it causes build issues if `rustc-demangle` is
left to its own devices.

This is not currently required, but once pipelining is enabled for
rustc's own build it will be required to build correctly.
2019-07-31 15:04:25 -07:00
Alex Crichton
3d2b6e79db Attempt to fix backtrace tests on i686-msvc
Some fixes for i686-msvc and Windows have landed on the `backtrace`
crate but hadn't made their way here yet. Let's update that and see if
it passes CI.
2019-07-31 10:59:32 -07:00
Igor Matuszewski
1b61db706a Enable nightly feature for crossbeam-utils dep
Last two commits bumped rustc-ap-* crates which also transitively
updated rustc_data_structures. That crate enables the "nightly"
whereas Cargo's dep does not hence why we need to unify the features
to deduplicate the artifacts.
2019-07-30 18:10:53 +02:00
Igor Matuszewski
ab27d67738 Update Rustfmt 2019-07-30 13:02:07 +02:00
Igor Matuszewski
d2d192ee4c Update RLS 2019-07-30 13:01:00 +02:00
Guillaume Gomez
3f4dbd390c Update minifier-rs version 2019-07-28 20:26:07 +02:00
Mazdak Farrokhzad
48802974aa
Rollup merge of #62974 - RalfJung:crossbeam, r=alexcrichton
bump crossbeam-epoch dependency

The new crossbeam-epoch release depends on a memoffset with a whole bunch of soundness holes fixed.

The old memoffset is still indirectly depended on (at least) by rustc-rayon, though -- a crate that looks rather unmaintained (no change in more than a year).
2019-07-28 11:11:10 +02:00
Vadim Petrochenkov
b5a0e6ea80 syntax_ext: proc_macro_decls -> proc_macro_harness
Few other minor renamings for consistency.
Remove one unused dependency from `rustc_passes`.
Fix libsyntax tests.
Fix rebase.
2019-07-27 14:16:16 +03:00
Vadim Petrochenkov
4ad0daa220 Move proc macro server into libsyntax 2019-07-27 13:55:25 +03:00
Vadim Petrochenkov
3eeec1c5d2 Break dependencies between syntax_ext and some other crates
Move `source_uitil` macros into `syntax_ext`
Cleanup dependencies of `rustc_driver`
2019-07-27 13:52:37 +03:00
Mazdak Farrokhzad
571a965143
Rollup merge of #62985 - phansch:support_ui_testing_flag, r=estebank
librustc_errors: Support ui-testing flag in annotate-snippet emitter

This adds support for the `-Z ui-testing` flag to the new
annotate-snippet diagnostic emitter.

Support for the flag was added to `annotate-snippet-rs` in these PRs:

* https://github.com/rust-lang/annotate-snippets-rs/pull/3
* https://github.com/rust-lang/annotate-snippets-rs/pull/5

r? @estebank

Closes #61811
2019-07-26 18:57:01 +02:00
Mazdak Farrokhzad
632ce7402f
Rollup merge of #62801 - bjorn3:remove_lower_128bit_ops, r=alexcrichton
Remove support for -Zlower-128bit-ops

It is broken and unused

cc https://github.com/rust-lang/rust/issues/58969

blocked https://github.com/rust-lang-nursery/compiler-builtins/pull/302 (removes definitions of the lang items removed in this PR)

r? @alexcrichton
2019-07-26 18:56:43 +02:00
Eric Huss
78f25e308c Update cargo 2019-07-25 19:49:18 -07:00
Philipp Hansch
dd0f2ac250
librustc_errors: Support ui-testing flag in annotate-snippet emitter
This adds support for the `-Z ui-testing` flag to the new
annotate-snippet diagnostic emitter.

The support for the flag was added to `annotate-snippet-rs` in these PRs:

* https://github.com/rust-lang/annotate-snippets-rs/pull/3
* https://github.com/rust-lang/annotate-snippets-rs/pull/5

Closes #61811
2019-07-25 21:03:53 +02:00
Ralf Jung
c7a599e4df bump crossbeam-epoch dependency 2019-07-25 15:57:25 +02:00
Vadim Petrochenkov
a93fdfedf3 Merge rustc_allocator into libsyntax_ext 2019-07-24 12:27:58 +03:00
Aleksey Kladov
395ee0b79f Introduce rustc_lexer
The idea here is to make a reusable library out of the existing
rust-lexer, by separating out pure lexing and rustc-specific concerns,
like spans, error reporting an interning.

So, rustc_lexer operates directly on `&str`, produces simple tokens
which are a pair of type-tag and a bit of original text, and does not
report errors, instead storing them as flags on the token.
2019-07-20 21:12:34 +03:00
bjorn3
e8a1e73ff5 Update compiler_builtins to 0.1.18 2019-07-20 11:27:13 +02:00
Guillaume Gomez
9d6b29af5a Update pulldown-cmark version 2019-07-20 11:01:04 +02:00