Commit Graph

122096 Commits

Author SHA1 Message Date
Ralf Jung
81c7ebd544 we can enable one more codegen test in debug mode now 2020-06-16 16:01:30 -04:00
Ralf Jung
f0a42332b8 memory access sanity checks: abort instead of panic 2020-06-16 16:01:30 -04:00
root
457acbd5a8 trim whitespace 2020-06-16 18:53:30 +00:00
root
9f50f84ef1 break long line for formatting 2020-06-16 18:14:32 +00:00
root
4506a358ca add header for rust specific feature 2020-06-16 17:36:04 +00:00
bors
a647c0cd68 Auto merge of #73402 - Dylan-DPC:rollup-8udzpfu, r=Dylan-DPC
Rollup of 8 pull requests

Successful merges:

 - #73237 (Check for overflow in DroplessArena and align returned memory)
 - #73339 (Don't run generator transform when there's a TyErr)
 - #73372 (Re-order correctly the sections in the sidebar)
 - #73373 (Use track caller for bug! macro)
 - #73380 (Add more info to `x.py build --help` on default value for `-j JOBS`.)
 - #73381 (Fix typo in docs of std::mem)
 - #73389 (Use `Ipv4Addr::from<[u8; 4]>` when possible)
 - #73400 (Fix forge-platform-support URL)

Failed merges:

r? @ghost
2020-06-16 14:58:14 +00:00
Who? Me?!
cfdbbb5600
format derives
Co-authored-by: lzutao <taolzu@gmail.com>
2020-06-16 09:41:05 -05:00
Brian Cain
7a9f29d305 Add initial asm!() support for hexagon
GPRs only
2020-06-16 08:58:13 -05:00
Ayaz Hafiz
f0d36891b6
fixup! Note numeric literals that can never fit in an expected type 2020-06-16 06:55:24 -07:00
Charles Lew
1990f9777f Disallow loading crates with non-ascii identifier name. 2020-06-16 21:34:36 +08:00
Dylan DPC
b4dd6a0dc4
Rollup merge of #73400 - rnestler:patch-1, r=jonas-schievink
Fix forge-platform-support URL

Apparently it got changed.
2020-06-16 15:08:48 +02:00
Dylan DPC
3c437e5733
Rollup merge of #73389 - lzutao:from, r=kennytm
Use `Ipv4Addr::from<[u8; 4]>` when possible

Resolve this comment: https://github.com/rust-lang/rust/pull/73331#discussion_r440098369
2020-06-16 15:08:47 +02:00
Dylan DPC
759547b210
Rollup merge of #73381 - ratijas:fix-typo-std-mem, r=jonas-schievink
Fix typo in docs of std::mem
2020-06-16 15:08:45 +02:00
Dylan DPC
66a1da38d0
Rollup merge of #73380 - pnkfelix:make-bootstrap-help-print-num-cpus, r=Mark-Simulacrum
Add more info to `x.py build --help` on default value for `-j JOBS`.
2020-06-16 15:08:43 +02:00
Dylan DPC
94105c2da3
Rollup merge of #73373 - lzutao:bug-trackcaller, r=Amanieu
Use track caller for bug! macro
2020-06-16 15:08:42 +02:00
Dylan DPC
6c44519749
Rollup merge of #73372 - GuillaumeGomez:re-order-sidebar-sections, r=kinnison
Re-order correctly the sections in the sidebar

Before that, "trait implementations" and "implementors" titles in the sidebar were before "methods" for example. Which wasn't logical considering that the two sections come after in the "content".

r? @kinnison
2020-06-16 15:08:40 +02:00
Dylan DPC
5bbcdf5f53
Rollup merge of #73339 - jonas-schievink:unbug, r=estebank
Don't run generator transform when there's a TyErr

Not sure if this might cause any problems later on, but we shouldn't be hitting codegen or const eval for the produced MIR anyways, so it should be fine.

cc https://github.com/rust-lang/rust/issues/72685#issuecomment-643749020
2020-06-16 15:08:37 +02:00
Dylan DPC
c65f39dac4
Rollup merge of #73237 - tmiasko:arena, r=nnethercote
Check for overflow in DroplessArena and align returned memory

* Check for overflow when calculating the slice start & end position.
* Align the pointer obtained from the allocator, ensuring that it
  satisfies user requested alignment (the allocator is only asked for
  layout compatible with u8 slice).
* Remove an incorrect assertion from DroplessArena::align.
* Avoid forming references to an uninitialized memory in DroplessArena.

Helps with #73007, #72624.
2020-06-16 15:08:35 +02:00
Guillaume Gomez
bad252c9fa Update ui tests 2020-06-16 14:13:16 +02:00
Raphael Nestler
60410ef020
Fix forge-platform-support URL
Apparently it got changed.
2020-06-16 13:42:09 +02:00
bors
435f97cec1 Auto merge of #73285 - Mark-Simulacrum:clippy-fail, r=RalfJung,oli-obk
Avoid prematurely recording toolstates

When we're running with dry_run enabled (i.e. all builds do this initially), we're
guaranteed to save of a toolstate of TestFail for tools that aren't tested. In practice,
we do test tools as well, so for those tools we would initially record them as being
TestPass, and then later on re-record the correct state after actually testing them.
However, this would not work well if the build failed for whatever reason (e.g. panicking
in bootstrap, or as was the case in #73097, clippy failing to test successfully), we would
just go on believing that things passed when they in practice did not.

This commit also adjusts saving toolstate to never record clippy explicitly (otherwise, it
would be recorded when building it); eventually that'll likely move to other tools as well
but not yet. This is deemed simpler than checking everywhere we generically save
toolstate.

We also move clippy out of the "toolstate" no-fail-fast build into a separate x.py
invocation; this should no longer be technically required but provides the nice state of
letting us check toolstate for all tools and only then check clippy (giving full results
on every build).

r? @oli-obk

Supercedes #73275, also fixes #73274
2020-06-16 11:26:45 +00:00
Guillaume Gomez
a19dfb573d Create new E0763 error code for unterminated byte constant 2020-06-16 13:14:04 +02:00
Guillaume Gomez
5e13935677 Clean up E0668 explanation 2020-06-16 13:11:32 +02:00
Ralf Jung
d1265e7679 libcore tests: use min_specialization 2020-06-16 13:07:15 +02:00
Ralf Jung
991dfe7595 bless all 2020-06-16 11:56:54 +02:00
Ralf Jung
827ccf7718 add probably accidentally missing super_* calls 2020-06-16 11:23:27 +02:00
Ralf Jung
6c5345f2de fmt; make visit_terminator arg names consistent with the rest 2020-06-16 11:23:27 +02:00
Ralf Jung
046165a807 rename location field of Drop terminators to place 2020-06-16 11:23:25 +02:00
David Wood
93022be991
bootstrap: read config from $RUST_BOOTSTRAP_CONFIG
This commit modifies bootstrap so that `config.toml` is read first from
`RUST_BOOTSTRAP_CONFIG`, then `--config` and finally `config.toml` in the
current directory.

This is a subjective change, intended to improve the ergnomics when
using "development shells" for rustc development (for example, using tools
such as Nix) which set environment variables to ensure a reproducible
environment (these development shells can then be version controlled). By
optionally reading `config.toml` from an environment variable, a `config.toml`
can be defined in the development shell and a path to it exposed in the
`RUST_BOOTSTRAP_CONFIG` environment variable - avoiding the need to manually
symlink the contents of this file to `config.toml` in the working
directory.

Signed-off-by: David Wood <david@davidtw.co>
2020-06-16 10:07:34 +01:00
Ralf Jung
302fb5039b get rid of an unused 'span' field 2020-06-16 09:43:31 +02:00
Ralf Jung
0bcefd9b5e remove visit_terminator_kind from MIR visitor 2020-06-16 09:43:31 +02:00
Ralf Jung
5fbef22a44 warn against 'specialization' feature 2020-06-16 09:39:34 +02:00
Ralf Jung
0265e4e61b add tracking issue 2020-06-16 09:25:29 +02:00
bors
c8a9c340de Auto merge of #72962 - lcnr:ObligationCause-lrc, r=ecstatic-morse
store `ObligationCause` on the heap

Stores `ObligationCause` on the heap using an `Rc`.

This PR trades off some transient memory allocations to reduce the size of–and thus the number of instructions required to memcpy–a few widely used data structures in trait solving.
2020-06-16 06:22:52 +00:00
oddg
f3dfe80ee1 Adjust error message 2020-06-15 21:28:50 -07:00
Esteban Küber
d2b8e6090c Account for derived obligations to suggest ?Sized bound
Fix #27964.
2020-06-15 19:46:27 -07:00
Esteban Küber
95e5605108 Suggest ?Sized when applicable for ADTs
Fix #71790.
2020-06-15 19:46:27 -07:00
Lzu Tao
0e6c333ca6 Use Ipv4Addr::from<[u8; 4]> when possible 2020-06-16 01:54:17 +00:00
Rich Kadel
98685a4bf2 Add new fn_span to TerminatorKind::Call instance 2020-06-15 17:08:13 -07:00
Rich Kadel
163e585456 updated mir-opt test due to other recent changes to MIR 2020-06-15 16:50:11 -07:00
Rich Kadel
20aba8f634 added test, Operand::const_from_scalar, require_lang_item, & comments
Addresses feedback from @oli-obk (Thanks!)
2020-06-15 16:50:11 -07:00
Rich Kadel
46ebd57c42 moved instrument_coverage pass, optimized scalar, added FIXME 2020-06-15 16:50:10 -07:00
Rich Kadel
7e49a9ec59 moved to post_borrowck_cleanup & used MirPatch 2020-06-15 16:50:10 -07:00
Rich Kadel
e4df7e7046 Update src/libcore/intrinsics.rs
Co-authored-by: bjorn3 <bjorn3@users.noreply.github.com>
2020-06-15 16:50:10 -07:00
Rich Kadel
d2cd59a031 Add case for count_code_region() extern lang_item
As suggested in PR feedback:

https://github.com/rust-lang/rust/pull/73011#discussion_r435728923

This allows count_code_region() to be handled like a normal intrinsic so
the InstanceDef::InjectedCode variant is no longer needed.
2020-06-15 16:50:10 -07:00
Rich Kadel
2c5c2a6bc2 removed experiments for cleaner github PR 2020-06-15 16:50:10 -07:00
Rich Kadel
088037a044 explained lang_item function body (count_code_region) 2020-06-15 16:50:10 -07:00
Rich Kadel
5068ae1ca0 [WIP] injects llvm intrinsic instrprof.increment for coverage reports
This initial version only injects counters at the top of each function.
Rust Coverage will require injecting additional counters at each
conditional code branch.
2020-06-15 16:50:10 -07:00
Rich Kadel
395256a5dd
Merge pull request #3 from rust-lang/master
update from origin 2020-06-15
2020-06-15 16:44:23 -07:00
mark
e855b90a8e track caller for delay_span_bug 2020-06-15 18:25:58 -05:00