Commit Graph

98518 Commits

Author SHA1 Message Date
Mazdak Farrokhzad
d997596445
Rollup merge of #64015 - RalfJung:const-tests, r=oli-obk
some const-eval test tweaks

Best reviewed commit-by-commit.

r? @oli-obk
2019-08-30 23:08:07 +02:00
Mazdak Farrokhzad
1dc8b2304f
Rollup merge of #64014 - RalfJung:miri-slice, r=oli-obk
miri: detect too large dynamically sized objects

Needed to make https://github.com/rust-lang/miri/pull/929 pass.

r? @oli-obk
2019-08-30 23:08:06 +02:00
Mazdak Farrokhzad
ac71a7f7cb
Rollup merge of #63999 - GuillaumeGomez:as-ref-missing-links, r=Mark-Simulacrum
Add missing links on AsRef trait

cc @rust-lang/docs
2019-08-30 23:08:04 +02:00
Mazdak Farrokhzad
5f07ff7087
Rollup merge of #63847 - GuillaumeGomez:system-theme-detection, r=kinnison
[rustdoc] Fix system theme detection

Fixes #63830

The problem is that it returns the property "entirely" (so with the quotes in our case). Removing them fixes the issue.

cc @fenhl

r? @kinnison
2019-08-30 23:08:03 +02:00
Mazdak Farrokhzad
b76a558227
Rollup merge of #63684 - GrayJack:const_list_new, r=Centril
Constify LinkedList new function

Change the `LinkedList::new()` function to become a const fn, allowing the use in constant context.
2019-08-30 23:08:01 +02:00
Mazdak Farrokhzad
f6e43e8100
Rollup merge of #63600 - rust-lang:oli-obk-patch-1, r=Mark-Simulacrum
Merge oli-obk mail addresses
2019-08-30 23:07:59 +02:00
Mazdak Farrokhzad
c96a677c39
Rollup merge of #62957 - dns2utf8:doc_loop_keyword, r=GuillaumeGomez
Match the loop examples

The idea is to show the usefulness of the expression side by side.
2019-08-30 23:07:57 +02:00
Baoshan
7726b54c05
Merge pull request #11 from Wind-River/cleanup-2
remove directory libstd/sys/vxworks/backtrace which is not used any more
2019-08-30 13:55:54 -07:00
Baoshan Pang
533a356c49 remove directory libstd/sys/vxworks/backtrace which is not used any more 2019-08-30 13:47:17 -07:00
Andreas Jonson
0b478e6d46 rustdoc use -Ccodegen-units=1 by default for test compile
as the test is small we do not want split up in multiple codegen units
and also as there is multiple test running at the same time this
will reduce the number of concurrent threads
2019-08-30 21:26:04 +02:00
bors
4295eea903 Auto merge of #63982 - sam09:fix-63976, r=estebank
When accessing private field of union, do not misidentify it as a struct

Fix incorrect error message when accessing private field of union.

Fixes #63976.
2019-08-30 17:54:55 +00:00
bors
ecca4b8c4b Auto merge of #64018 - flip1995:clippyup, r=oli-obk
Update Clippy

cc rust-lang/rust-clippy#4475

r? @oli-obk
2019-08-30 13:56:35 +00:00
Xiang Fan
0e597d4c47 Rev::rposition counts from the wrong end
Because of a compiler bug that adding `Self: ExactSizeIterator` makes
the compiler forget `Self::Item` is `<I as Iterator>::Item`, we remove
this specialization for now.
2019-08-30 21:17:36 +08:00
Ralf Jung
bb3474994b add test 2019-08-30 15:04:12 +02:00
Ilija Tovilo
55800ce899
Skip wrapping arithmetic tests on emscripten for 128 bit integers 2019-08-30 14:10:46 +02:00
bors
0f41401691 Auto merge of #63827 - andjo403:out-of-process-rustc-in-rustdoc, r=Mark-Simulacrum
Run doctests via out-of-process rustc

closes #63638
2019-08-30 10:25:26 +00:00
flip1995
4240168eda
Update Clippy 2019-08-30 11:31:36 +02:00
Ralf Jung
6d86163ffb const-eval tests: make all unions repr(C) 2019-08-30 09:35:33 +02:00
Ralf Jung
e7fed140a4 explain why REF_AS_USIZE is important 2019-08-30 09:35:33 +02:00
Ralf Jung
cf574091fb tweak const-valid test 2019-08-30 09:35:33 +02:00
Ralf Jung
38f6b96aae make unions repr(C) 2019-08-30 09:30:07 +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
Ralf Jung
d75723e9fe mod-level doc comment for validity check 2019-08-30 08:37:02 +02:00
Ralf Jung
235ee34a15 better variable names 2019-08-30 07:44:54 +02:00
Ralf Jung
0f3e596c1d miri: detect too large dynamically sized objects 2019-08-30 07:44:51 +02:00
bors
c7d4df0fcf Auto merge of #60966 - oli-obk:diagnostic_items, r=eddyb
Add a "diagnostic item" scheme for lints referring to libstd items

fixes https://github.com/rust-lang/rust/issues/39131

r? @Manishearth @rust-lang/wg-diagnostics
2019-08-30 03:09:39 +00:00
Andreas Molzer
7388cb4cf8 Fixup remaining direct relocation field references 2019-08-30 04:19:29 +02:00
Andreas Molzer
bee2d3748e Move relocation range copies into allocation 2019-08-30 04:17:18 +02:00
Oliver Scherer
6978b9482b Update tests 2019-08-30 02:46:25 +02:00
Oliver Scherer
26e9990198 Add a "diagnostic item" scheme
This allows lints and other diagnostics to refer to items
by a unique ID instead of relying on whacky path
resolution schemes that may break when items are
relocated.
2019-08-30 01:00:55 +02:00
Oliver Scherer
c6e7f039aa Merge oli-obk mail addresses 2019-08-30 00:30:50 +02:00
Andreas Jonson
b304cd02c0 Run doctests via out-of-process rustc 2019-08-29 23:15:31 +02:00
Dylan MacKenzie
86487329bb Add Place::is_indirect
This returns whether a `Place` references the same region of memory
as its base, or equivalently whether it contains a `Deref` projection.

This is helpful for analyses that must track state for locals, since an
assignment to `x` or `x.field` is fundamentally different than one to
`*x`, which may mutate any memory region.
2019-08-29 13:40:28 -07:00
Andreas Jonson
56ab485fbe support rustdoc test from stdin to rustc 2019-08-29 22:23:05 +02:00
Sam Radhakrishan
378c32bc90 Fix test. 2019-08-30 00:57:20 +05:30
Ilija Tovilo
c71004cd21
Also test isize and usize in wrapping arithmetics 2019-08-29 21:23:52 +02:00
bors
72b2abfd65 Auto merge of #63971 - flip1995:clippyup, r=oli-obk
Update Clippy

cc rust-lang/rust-clippy#4462

r? @oli-obk @Manishearth
2019-08-29 18:52:09 +00:00
Dante-Broggi
8657fb1140 new_sized is mostly used without align
so rename it `new_sized_aligned`.
6/11 use `align` = `layout.align.abi`.
`from_const_alloc` uses `alloc.align`, but that is `assert_eq!` to `layout.align.abi`.
only 4/11 use something interesting for `align`.
2019-08-29 14:24:50 -04:00
Dante-Broggi
0cc1c8d2e7 new_thin_place is only used with align = layout.align.abi
and is not `pub`.
2019-08-29 14:16:52 -04:00
Andreas Molzer
6fe31fefd8 Make allocation relocation field private 2019-08-29 20:02:21 +02:00
bors
fbdf1d2a71 Auto merge of #64000 - Centril:rollup-70s9ar3, r=Centril
Rollup of 4 pull requests

Successful merges:

 - #62734 (Hide trait default methods)
 - #63953 (bootstrap: allow specifying mirror for bootstrap compiler download.)
 - #63956 (rustc: Handle modules in "fat" LTO more robustly)
 - #63979 (std: Remove the `wasm_syscall` feature)

Failed merges:

r? @ghost
2019-08-29 15:14:47 +00:00
Mazdak Farrokhzad
d920aa0e02
Rollup merge of #63979 - alexcrichton:remove-wasm-syscall, r=dtolnay
std: Remove the `wasm_syscall` feature

This commit removes the `wasm_syscall` feature from the
wasm32-unknown-unknown build of the standard library. This feature was
originally intended to allow an opt-in way to interact with the
operating system in a posix-like way but it was never stabilized.
Nowadays with the advent of the `wasm32-wasi` target that should
entirely replace the intentions of the `wasm_syscall` feature.
2019-08-29 17:14:03 +02:00
Mazdak Farrokhzad
137564d825
Rollup merge of #63956 - alexcrichton:fix-lto-all-cached, r=michaelwoerister
rustc: Handle modules in "fat" LTO more robustly

When performing a "fat" LTO the compiler has a whole mess of codegen
units that it links together. To do this it needs to select one module
as a "base" module and then link everything else into this module.
Previously LTO passes assume that there's at least one module in-memory
to link into, but nowadays that's not always true! With incremental
compilation modules may actually largely be cached and it may be
possible that there's no in-memory modules to work with.

This commit updates the logic of the LTO backend to handle modules a bit
more uniformly during a fat LTO. This commit immediately splits them
into two lists, one serialized and one in-memory. The in-memory list is
then searched for the largest module and failing that we simply
deserialize the first serialized module and link into that. This
refactoring avoids juggling three lists, two of which are serialized
modules and one of which is half serialized and half in-memory.

Closes #63349
2019-08-29 17:14:01 +02:00
Mazdak Farrokhzad
78e728e2c2
Rollup merge of #63953 - crlf0710:bootstrap_mirroring, r=Mark-Simulacrum
bootstrap: allow specifying mirror for bootstrap compiler download.
2019-08-29 17:13:59 +02:00
Mazdak Farrokhzad
1ea8fc587c
Rollup merge of #62734 - GuillaumeGomez:hide-default-methods, r=Mark-Simulacrum
Hide trait default methods

Fixes #62499.

However, the question remains: do we want to extend it to this point or not?

r? @QuietMisdreavus
2019-08-29 17:13:57 +02:00
Guillaume Gomez
0e7424653e Add missing links on AsRef trait 2019-08-29 16:04:13 +02:00
bors
7445622bcb Auto merge of #63998 - Centril:rollup-pfuwxz3, r=Centril
Rollup of 7 pull requests

Successful merges:

 - #63867 (resolve: Block expansion of a derive container until all its derives are resolved)
 - #63880 (Validation: check raw wide pointer metadata)
 - #63914 (ty: use Align for ReprOptions pack and align.)
 - #63941 (rustbuild: allow disabling deny(warnings) for bootstrap)
 - #63949 (Fix build src/libtest)
 - #63984 (Update rust-installer to limit memory use)
 - #63992 (Small improvement for Ord implementation of integers)

Failed merges:

r? @ghost
2019-08-29 11:20:45 +00:00
Mazdak Farrokhzad
3f05cf6776
Rollup merge of #63992 - lzutao:integer-ord, r=nagisa
Small improvement for Ord implementation of integers

Godbolt link: https://godbolt.org/z/tuTDOg

### Before

**asm**
```asm
example::cmp:
  mov eax, dword ptr [rdi]
  xor ecx, ecx
  cmp eax, dword ptr [rsi]
  seta cl
  mov eax, 255
  cmovae eax, ecx
  ret
```

**llvm-mca**
```
Iterations:        100
Instructions:      700
Total Cycles:      217
Total uOps:        1100

Dispatch Width:    6
uOps Per Cycle:    5.07
IPC:               3.23
Block RThroughput: 1.8
```

### After

**asm**
```asm
example::cmp:
  mov eax, dword ptr [rdi]
  xor ecx, ecx
  cmp eax, dword ptr [rsi]
  setne cl
  mov eax, 255
  cmovae eax, ecx
  ret
```

**llvm-mca**
```
Iterations:        100
Instructions:      700
Total Cycles:      209
Total uOps:        1000

Dispatch Width:    6
uOps Per Cycle:    4.78
IPC:               3.35
Block RThroughput: 1.7
```

r? @nagisa
2019-08-29 13:18:01 +02:00
Mazdak Farrokhzad
c94ead7ad7
Rollup merge of #63984 - cuviper:rust-installer-mem, r=Mark-Simulacrum
Update rust-installer to limit memory use

See https://github.com/rust-lang/rust-installer/pull/98 -- on a many-core machine, the xz memory for so many threads is more than a 32-bit process can handle. The xz stream is now limited to 8 threads.

r? @alexcrichton
2019-08-29 13:18:00 +02:00
Mazdak Farrokhzad
808722e44f
Rollup merge of #63949 - JohnTitor:fix-quick-build, r=Mark-Simulacrum
Fix build src/libtest

Fixes #63928

r? @Mark-Simulacrum
2019-08-29 13:17:59 +02:00