96108 Commits

Author SHA1 Message Date
Vadim Petrochenkov
22d6d8ac76 #[rustc_transparent_macro] -> #[rustc_macro_transparency = ...] 2019-07-06 16:59:08 +03:00
Vadim Petrochenkov
15042a3c1c #[rustc_doc_only_macro] -> #[rustc_builtin_macro] 2019-07-06 16:59:08 +03:00
Ralf Jung
ac4f6ab2a0 forcing instead of normalization
Normalziation does not work well for dyamically sized types
2019-07-06 14:19:04 +02:00
Ralf Jung
9b71a8f8ba remove outdated comment 2019-07-06 14:01:43 +02:00
Ralf Jung
08e7a84354 remove another unused method 2019-07-06 13:09:00 +02:00
Ralf Jung
1938edb4d9 remove some no-longer-needed methods 2019-07-06 12:59:11 +02:00
Vadim Petrochenkov
b11757e0d5 rustbuild: Cleanup global lint settings 2019-07-06 13:48:54 +03:00
Ralf Jung
9007296a20 Add check_mplace_ptr convenience method; provide ptr-normalization methods for mplace and op to avoid repeated int-to-ptr casting during validation.
Also change Memory::copy to work on `Pointer` instead of `Scalar`.
Also rename some methods from to_* to assert_* that will panic if their precondition is not met.
2019-07-06 12:46:08 +02:00
Ralf Jung
eed52de6b7 add assert_{bits,ptr}; document which methods we hope to get rid of 2019-07-06 10:02:15 +02:00
bors
254f201495 Auto merge of #61988 - Centril:there-is-only-loop, r=matthewjasper
[let_chains, 3/6] And then there was only Loop

Here we remove `hir::ExprKind::While`.
Instead, we desugar: `'label: while $cond $body` into:

```rust
'label: loop {
    match DropTemps($cond) {
        true => $body,
        _ => break,
    }
}
```

Per https://github.com/rust-lang/rust/issues/53667#issuecomment-471583239.
This is a follow up to https://github.com/rust-lang/rust/pull/59288 which did the same for `if` expressions.

r? @matthewjasper
2019-07-06 06:15:44 +00:00
Andrew Xu
f115147fc4 Add missing aux-build directive 2019-07-06 14:09:41 +08:00
Andrew Xu
73aee89b47 Move the test async-fn-size-moved-locals to ui 2019-07-06 14:09:41 +08:00
Andrew Xu
b14a2ec400 Remove duplicated arc_wake.rs
The auxiliary file arc_wake.rs is in run-pass/auxiliary and also
ui/async-await/auxiliary. Remove the former one as their contents
are same.
Move run-pass/futures-api.rs to ui/async-await/futures-api.rs as it
needs to use arc_wake.rs.
2019-07-06 14:09:41 +08:00
Andrew Xu
45dda939ab Move async-await tests from run-pass to ui 2019-07-06 14:09:41 +08:00
Mazdak Farrokhzad
9b1d513e47 --bless --compare-mode=nll 2019-07-06 06:43:58 +02:00
Mazdak Farrokhzad
075e381b91 Bless mir-opt/while-storage.rs. 2019-07-06 06:43:58 +02:00
Mazdak Farrokhzad
b32beb88cd Cleanup liveness comment. 2019-07-06 06:43:58 +02:00
Mazdak Farrokhzad
b9e7e3175a while_{let_}loops/change_{break,continue}: typeck_tables_of clean. 2019-07-06 06:43:58 +02:00
Mazdak Farrokhzad
26144fe869 Lowering: Fuse ExprKind::While logic + Cleanup. 2019-07-06 06:43:58 +02:00
Mazdak Farrokhzad
547735457f Make WhileTrue into an EarlyLintPass lint. 2019-07-06 06:43:58 +02:00
Mazdak Farrokhzad
f01562af33 Make sure while-exprs require 'cond: bool' exactly. 2019-07-06 06:43:58 +02:00
Mazdak Farrokhzad
ebcc966ac1 Adjust incremental test while_loops.rs 2019-07-06 06:43:58 +02:00
Mazdak Farrokhzad
7d1cd41be3 while desugars to loop so 'a: while break 'a {} in ctfe doesn't work yet. 2019-07-06 06:43:58 +02:00
Mazdak Farrokhzad
4edfa6d4c9 Enforce 'cond: bool' in while-expr + improve reachability diags. 2019-07-06 06:43:58 +02:00
Mazdak Farrokhzad
e7b544ee83 min_const_fn: change error message due to changed desugaring. 2019-07-06 06:43:58 +02:00
Mazdak Farrokhzad
f8b32dfb27 Remove ExprKind::While from HIR. 2019-07-06 06:43:58 +02:00
Chris Gregory
9b0623d51f Wrap line 2019-07-05 21:38:35 -07:00
Chris Gregory
145385e7c3 Add messages to Option and Result must_use for is_* 2019-07-05 20:57:25 -07:00
Lzu Tao
7646d4935b Remove use of mem::uninitialized in code_gen crate 2019-07-06 03:27:05 +00:00
Lzu Tao
42c3d37145 Remove use of mem::uninitialized in libterm crate 2019-07-06 03:27:05 +00:00
bors
b820c76174 Auto merge of #62428 - Centril:rollup-2udow5e, r=Centril
Rollup of 7 pull requests

Successful merges:

 - #62151 (Update linked OpenSSL version)
 - #62245 (Miri engine: support extra function (pointer) values)
 - #62257 (forward read_c_str method from Memory to Alloc)
 - #62264 (Fix perf regression from Miri Machine trait changes)
 - #62296 (request at least ptr-size alignment from posix_memalign)
 - #62329 (Remove support for 1-token lookahead from the lexer)
 - #62377 (Add test for ICE #62375)

Failed merges:

r? @ghost
2019-07-06 02:58:36 +00:00
Alexander Regueiro
da441412f5 Fixed ICEs. 2019-07-06 03:31:18 +01:00
Alexander Regueiro
ac9dd1bd0c Fixed up a few comments. 2019-07-06 03:31:18 +01:00
Mazdak Farrokhzad
46edb516df
Rollup merge of #62377 - wesleywiser:fix_62375, r=alexcrichton
Add test for ICE #62375

Fixes #62375
2019-07-06 02:38:02 +02:00
Mazdak Farrokhzad
952ee77871
Rollup merge of #62329 - matklad:no-peeking, r=petrochenkov
Remove support for 1-token lookahead from the lexer

`StringReader` maintained `peek_token` and `peek_span_src_raw` for look ahead.

`peek_token` was used only by rustdoc syntax coloring. After moving peeking logic into highlighter, I was able to remove `peek_token` from the lexer. I tried to use `iter::Peekable`, but that wasn't as pretty as I hoped, due to buffered fatal errors. So I went with hand-rolled peeking.

After that I've noticed that the only peeking behavior left was for raw tokens to test tt jointness. I've rewritten it in terms of trivia tokens, and not just spans.

After that it became possible to simplify the awkward constructor of the lexer, which could return `Err` if the first peeked token contained error.
2019-07-06 02:38:01 +02:00
Mazdak Farrokhzad
3c4a6c8606
Rollup merge of #62296 - RalfJung:memalign, r=alexcrichton
request at least ptr-size alignment from posix_memalign

Fixes https://github.com/rust-lang/rust/issues/62251
2019-07-06 02:37:59 +02:00
Mazdak Farrokhzad
0383be8577
Rollup merge of #62264 - RalfJung:inline-forcing, r=zackmdavis
Fix perf regression from Miri Machine trait changes

Maybe this fixes the perf regression that https://github.com/rust-lang/rust/pull/62003 seemingly introduced?

Cc @nnethercote
2019-07-06 02:37:58 +02:00
Mazdak Farrokhzad
947d7cf16d
Rollup merge of #62257 - RalfJung:miri-c-str, r=estebank
forward read_c_str method from Memory to Alloc

This is more convenient to call when one starts with a `Scalar` (which is the common case).

`read_c_str` is only used in Miri.
2019-07-06 02:37:56 +02:00
Mazdak Farrokhzad
182248a466
Rollup merge of #62245 - RalfJung:miri-extra-fn, r=eddyb,zackmdavis
Miri engine: support extra function (pointer) values

We want to add basic support for `dlsym` in Miri (needed to run the latest version of `getrandom`). For that to work, `dlsym` needs to return *something* that can be stored in a function pointer and later called.

So we add a new `ExtraFnVal` type to the `Machine` trait, and enable Miri's memory to associate allocation IDs with such values, so that `create_fn_alloc` and `get_fn` can work on *both* `Instance` (this is used for "normal" function pointers) and `ExtraFnVal`.

Cc @oli-obk
2019-07-06 02:37:54 +02:00
Mazdak Farrokhzad
a8f8c7c78c
Rollup merge of #62151 - alexcrichton:update-openssl, r=Mark-Simulacrum
Update linked OpenSSL version

This bumps our linked OpenSSL version from 1.1.1a to 1.1.1c, picking up
some various bug fixes and minor security issue fixes.
2019-07-06 02:37:53 +02:00
Lzu Tao
05c1e92787 Correct definition of CONSOLE_SCREEN_BUFFER_INFO 2019-07-05 18:47:55 +00:00
bors
481068a707 Auto merge of #62419 - Centril:rollup-82umycq, r=Centril
Rollup of 13 pull requests

Successful merges:

 - #61545 (Implement another internal lints)
 - #62110 (Improve -Ztime-passes)
 - #62133 (Feature gate `rustc` attributes harder)
 - #62158 (Add MemoryExtra in InterpretCx constructor params)
 - #62168 (The (almost) culmination of HirIdification)
 - #62193 (Create async version of the dynamic-drop test)
 - #62369 (Remove `compile-pass` from compiletest)
 - #62380 (rustc_target: avoid negative register counts in the SysV x86_64 ABI.)
 - #62381 (Fix a typo in Write::write_vectored docs)
 - #62390 (Update README.md)
 - #62396 (remove Scalar::is_null_ptr)
 - #62406 (Lint on invalid values passed to x.py --warnings)
 - #62414 (Remove last use of mem::uninitialized in SGX)

Failed merges:

r? @ghost
2019-07-05 18:27:52 +00:00
Mazdak Farrokhzad
e89bd8c308
Rollup merge of #62414 - jethrogb:jb/sgx-uninit, r=Mark-Simulacrum
Remove last use of mem::uninitialized in SGX

See #62397
2019-07-05 20:27:08 +02:00
Mazdak Farrokhzad
cc453d9895
Rollup merge of #62406 - Mark-Simulacrum:warnings-lint, r=RalfJung
Lint on invalid values passed to x.py --warnings

This also introduces support for `--warnings allow` and fixes --warnings
being overridden by the configuration file, config.toml.

Fixes #62402

r? @RalfJung
2019-07-05 20:27:06 +02:00
Mazdak Farrokhzad
3c2cba847b
Rollup merge of #62396 - RalfJung:miri-no-null, r=alexcrichton
remove Scalar::is_null_ptr

Comparing pointers should be done more carefully than that. With https://github.com/rust-lang/miri/pull/825, Miri does not need it any more and it is otherwise unused.
2019-07-05 20:27:05 +02:00
Mazdak Farrokhzad
4ac3e626a7
Rollup merge of #62390 - markebrooks:encourage, r=Centril
Update README.md

Let's not discourage contributions.
2019-07-05 20:27:04 +02:00
Mazdak Farrokhzad
c5d18600ef
Rollup merge of #62381 - pawroman:fix_typo_in_write_vectored, r=Centril
Fix a typo in Write::write_vectored docs

Fixed what seems like a typo. "Copy to from" is extremely confusing.
2019-07-05 20:27:02 +02:00
Mazdak Farrokhzad
58f402aab7
Rollup merge of #62380 - eddyb:x64-sysv-regs, r=nagisa
rustc_target: avoid negative register counts in the SysV x86_64 ABI.

Because `needed_{int,sse}` and `{int,sse}_regs` were only used with integer literals, they were inferred to `i32` and `{int,sse}_regs` could therefore be negative.
There was a check which prevented that, but *only* for aggregate arguments, not scalars.

Fixes #62350.

r? @nagisa or @rkruppe
2019-07-05 20:27:01 +02:00
Mazdak Farrokhzad
216a1871bb
Rollup merge of #62369 - JohnTitor:remove-compile-pass, r=petrochenkov
Remove `compile-pass` from compiletest

This is a part of #62277.
Removes `compile-pass` from compiletest (and modify some tests' annotations).

r? @Centril
2019-07-05 20:26:59 +02:00
Mazdak Farrokhzad
30aa2450e1
Rollup merge of #62193 - matthewjasper:dynamic-drop-async, r=Centril
Create async version of the dynamic-drop test

Some of the tests in dynamic-drop have been cut:
* The tests that are just simpler versions of other tests - these tests are already fairly slow due to all of the unwinding and async functions have more control flow paths than normal functions.
* The union test - it's for an unstable feature that has an RFC to remove it.
* The generator test - there aren't async generators yet.
* The tests that show values being leaked - these can be added once the issue is fixed.

r? @Centril
cc  #62121 @cramertj
2019-07-05 20:26:58 +02:00