Commit Graph

86225 Commits

Author SHA1 Message Date
Nikita Popov
b1a33971ab Fix some tests for wasm32-unknown-emscripten 2018-11-08 18:17:57 +01:00
varkor
56acb2a001
Fix typo in comment
Co-Authored-By: Aaron1011 <aa1ronham@gmail.com>
2018-11-08 12:15:26 -05:00
Stjepan Glavina
f211581330 Use T: ?Sized in intrinsics::forget 2018-11-08 17:58:12 +01:00
Tim Neumann
50a2d47b4f Support for the program data address space option
of LLVM's Target Datalayout.

https://llvm.org/docs/LangRef.html#data-layout
2018-11-08 17:46:30 +01:00
Stjepan Glavina
06cf9ae7f9 Fix return type of forget intrinsic 2018-11-08 17:12:14 +01:00
Nikita Popov
6fb701e874 Fix compiletest support for wasm32-unknown-emscripten 2018-11-08 17:04:22 +01:00
Alex Crichton
255cc1aed3 rustc: Request ansi colors if stderr isn't a tty
Currently Cargo will always capture the output of rustc meaning that
rustc is never hooked up to a tty. To retain colors Cargo uses the
`fwdansi` crate to ensure that ansi color codes are translated to
windows terminal methods (and ansi codes otherwise just go their natural
route on Unix).

Cargo passes `--color always` to rustc to ensure that using a pipe
doesn't trick it into not emitting colors at all. It turns out, however,
that `--color always` ends up still accidentally using the native shell
api on native windows shells.

The fix here is to instead pass `AlwaysAnsi` to `termcolor` instead of
`Always`, ensuring that when `--color always` is passed to rustc and its
output isn't a terminal, we're always generating ansi colors regardless
of the platform.

Closes #55769
2018-11-08 07:53:03 -08:00
Nikita Popov
ffdb2bc1c5 Update the disabled wasm32 Dockerfile 2018-11-08 16:32:42 +01:00
Nikita Popov
8407612a8d Disable wasm32 features on emscripten
These are only supported by the native wasm32 backend.
2018-11-08 16:22:20 +01:00
Stjepan Glavina
39771339fd Allow unsized types in mem::drop and mem::forget 2018-11-08 16:09:20 +01:00
Oliver Scherer
428af73e7c Rebase fallout 2018-11-08 14:52:02 +01:00
Oliver Scherer
5d58a036de Give AllocationExtras access to their entire Allocation 2018-11-08 14:52:02 +01:00
Oliver Scherer
769ee79a69 Fallout 2018-11-08 14:52:02 +01:00
Oliver Scherer
00e524ce34 Move Pointer to its own module 2018-11-08 14:52:02 +01:00
Oliver Scherer
99ed98b1ff Move ScalarMaybeUndef into value.rs 2018-11-08 14:52:02 +01:00
Oliver Scherer
2108b6bc95 Move UndefMask and Relocations into allocation.rs 2018-11-08 14:52:02 +01:00
Oliver Scherer
6def30ba6a Move the memory_accessed hook onto the Extra value 2018-11-08 14:52:02 +01:00
Oliver Scherer
48f6941acf Move ScalarMaybeUndef back to rustc 2018-11-08 14:52:02 +01:00
Oliver Scherer
7db04835f9 Move Allocation into its own module 2018-11-08 14:52:02 +01:00
Oliver Scherer
c6404f56e7 Duplicate mod.rs for better diff tracking 2018-11-08 14:52:02 +01:00
Felix S. Klock II
dd6398256e Revise the temp creation for blocks in stmt_expr to setup BlockTailInfo. 2018-11-08 14:32:17 +01:00
Felix S. Klock II
e7e1a52f63 Refactor code so that block_context observations has nicely named (and documented) methods. 2018-11-08 14:31:12 +01:00
Felix S. Klock II
556f583587 Regression test for issue #54382
(I opted to rely on compare-mode=nll rather than opt into
`#![feature(nll)]`, mostly to make it easy to observe the interesting
differences between the AST-borrwock diagnostic and the NLL one.)
2018-11-08 12:54:20 +01:00
Felix S. Klock II
3011ecdeac Narrow span of temp holding the value of a Block expression to the block's tail (if present). 2018-11-08 12:54:20 +01:00
Felix S. Klock II
ece4f472c9 For diagnostics, set spans of drops of temps to be that of the statement's terminating semicolon. 2018-11-08 12:54:20 +01:00
ljedrz
e3390d89ea Improve creation of 3 IndexVecs 2018-11-08 11:55:10 +01:00
bors
653da4fd00 Auto merge of #55532 - pnkfelix:rustc_error-survey, r=nikomatsakis
#[rustc_error] survey

Fix #55505
2018-11-08 09:38:49 +00:00
Nicholas Nethercote
5b2314b3ca Use SmallVec outparams in several functions.
This avoids some allocations, reducing instruction counts by 1% on a
couple of benchmarks.
2018-11-08 19:10:53 +11:00
Nicholas Nethercote
706c2ad651 Use Lit rather than P<Lit> in ast::ExprKind.
Because it results in fewer allocations and small speedups on some
benchmarks.
2018-11-08 19:00:55 +11:00
bors
1d834550d5 Auto merge of #55366 - Amanieu:stable_layout, r=Amanieu
Add tracking issue for Layout methods (and some API changes)

These methods are already useful when used with the stable global allocator API (stabilized in #51241).

```rust
pub fn align_to(&self, align: usize) -> Result<Layout, LayoutErr>;
pub fn padding_needed_for(&self, align: usize) -> usize;
pub fn repeat(&self, n: usize) -> Result<(Layout, usize), LayoutErr>;
pub fn extend(&self, next: Layout) -> Result<(Layout, usize), LayoutErr>;
pub fn repeat_packed(&self, n: usize) -> Result<Layout, LayoutErr>;
pub fn extend_packed(&self, next: Layout) -> Result<Layout, LayoutErr>;
pub fn array<T>(n: usize) -> Result<Layout, LayoutErr>;
```

cc #32838

r? @SimonSapin
2018-11-08 06:52:27 +00:00
Christopher Serr
a9b5988847 wasm32-unknown-emscripten expects the rust_eh_personality symbol
The `wasm32-unknown-emscripten` expects the `rust_eh_personality` symbol to be there, but a cfg checking for `target_arch = "wasm32"` which was meant to remove the symbol from the `wasm32-unknown-unknown` target, didn't check for whether `emscripten` is targeted or not, so the symbol accidentally got filtered out there as well.

Fixes #55276
2018-11-08 03:27:45 +01:00
bors
9c304fb0cf Auto merge of #55187 - malbarbo:fix-manifest, r=alexcrichton
Remove targets from the manifest that are not built on travis

Fixes https://github.com/rust-lang/rust/issues/55020
2018-11-08 01:10:10 +00:00
Alexander Regueiro
90a14389d1 Removed DUPLICATE_ASSOCIATED_TYPE_BINDINGS lint.
This has been replaced by the hard error E0719.
2018-11-07 21:57:45 +00:00
Alexander Regueiro
7d9ee0314a Only do check for trait objects, not trait or trait alias definitions. 2018-11-07 21:57:45 +00:00
Alexander Regueiro
6d3ee4170d Added error for duplicate bindings of associated type. 2018-11-07 21:57:45 +00:00
Alexander Regueiro
0e89f570d2 Added tests. 2018-11-07 21:57:40 +00:00
Alexander Regueiro
d08a42bf2c Look at projections from supertraits when constructing trait objects. 2018-11-07 21:56:06 +00:00
Marco A L Barbosa
11637aca8c Remove targets from the manifest that are not built on travis
Fixes https://github.com/rust-lang/rust/issues/55020
2018-11-07 19:15:04 -02:00
bors
25a42b2ceb Auto merge of #55746 - kennytm:rollup, r=kennytm
Rollup of 14 pull requests

Successful merges:

 - #55377 (Slight copy-editing for `std::cell::Cell` docs)
 - #55441 (Remove unused re import in gdb_rust_pretty_printing)
 - #55453 (Choose predicates without inference variables over those with them)
 - #55495 (Don't print opt fuel messages to stdout because it breaks Rustbuild)
 - #55501 (Make `process_obligations`' computation of `completed` optional.)
 - #55510 (Fix feature gate only being checked on first repr attr.)
 - #55609 (Run name-anon-globals after LTO passes as well)
 - #55645 (do not print wrapping ranges like normal ranges in validity diagnostics)
 - #55688 (Standardised names and location of ui issue tests)
 - #55692 (-C remark: fix incorrect warning about requiring "--debuginfo" instead of "-C debuginfo=n")
 - #55702 (Add `aarch64-pc-windows-msvc` to deployed targets)
 - #55728 (Update lldb)
 - #55730 (Use trait impl method span when type param mismatch is due to impl Trait)
 - #55734 (refactor: use shorthand fields)
2018-11-07 17:14:34 +00:00
Jon Gjengset
36f815bf8d
Remove intermediate font specs
This is a (much) more constrained version of #54772 that also aims at
improving the situation in #34681. It removes any font specifications
that are not the "official" rustdoc font, and instead relies on the
browser to provide the fallback font if the official on is not
available. On Linux systems, this is particularly important, as fonts
like Helvetica, Arial, and Times often look pretty bad since they're
pulled from extracted MS fonts. A specification like `serif` or
`sans-serif` lets the browser instead choose a good font.
2018-11-07 11:02:10 -05:00
ljedrz
5159b32997 mir: remove a hacky recursive helper function 2018-11-07 17:00:51 +01:00
Ralf Jung
b891a81164 comment 2018-11-07 16:54:31 +01:00
Ralf Jung
9e3f571cc3 drop glue works with raw ptrs, it must EscapeToRaw 2018-11-07 16:54:31 +01:00
Ralf Jung
154835e5e7 only count deref_operand as actual deref, but not all ref-to-place conversions 2018-11-07 16:54:31 +01:00
Ralf Jung
f174099885 array index accesses are stable places 2018-11-07 16:54:31 +01:00
Ralf Jung
b9a35dcb49 calling the ptr hooks no longer needs expensive preparation, remove the opt-out 2018-11-07 16:54:31 +01:00
Ralf Jung
f27cd60ae1 no more action on ref or cast, but add new MIR statement for escaping a ptr to raw 2018-11-07 16:54:31 +01:00
Felix S. Klock II
34ffbdb965 This test will not link on wasm32. 2018-11-07 16:33:41 +01:00
David Wood
299a452a75
Ignore never-initialized locals for unused_mut.
This commit filters out locals that have never been initialized for
consideration in the `unused_mut` lint.

This is intended to detect when the statement that would have
initialized the local was removed as unreachable code. In these cases,
we would not want to lint. This is the same behaviour as the AST borrow
checker.

This is achieved by taking advantage of an existing pass over the MIR
for the `unused_mut` lint and creating a set of those locals that were
never initialized.
2018-11-07 16:10:40 +01:00
Felix S. Klock II
f4da71e04e work around deviation in diagnostic output for opt-level=0 by forcing -O. 2018-11-07 15:58:59 +01:00