Commit Graph

88970 Commits

Author SHA1 Message Date
Ralf Jung
ffd73df755 avoid mem::uninitialized in BTreeMap 2019-01-28 10:48:33 +01:00
Ralf Jung
a88414e007 libcore: avoid mem::uninitialized and raw ptr casts 2019-01-28 10:39:49 +01:00
Ralf Jung
c11e514e9d liballoc: remove unneeded allow(deprecated) 2019-01-28 10:39:49 +01:00
Ralf Jung
c775c2fe96 libcore: remove unneeded allow(deprecated) 2019-01-28 10:39:49 +01:00
bors
cc4d1e5bb0 Auto merge of #57691 - Zoxc:pass-skip, r=petrochenkov
Conditionally skip two passes if their related attributes were not found
2019-01-28 06:32:39 +00:00
John Kåre Alsaker
1bdd2f699b Conditionally skip two passes if their related attributes were not found 2019-01-28 05:46:53 +01:00
bors
c32515566f Auto merge of #57910 - Mark-Simulacrum:delete-test, r=petrochenkov
Delete long-ignored and useless test

cc @pnkfelix (https://github.com/rust-lang/rust/issues/13745#issuecomment-457599109)

r? @petrochenkov as you re-enabled this test in 21d67c45a3, https://github.com/rust-lang/rust/pull/55236
2019-01-28 03:46:25 +00:00
bors
ec504def36 Auto merge of #57442 - oli-obk:lazy_const, r=RalfJung
Simplify `ConstValue::ScalarPair`

While looking at #57432 I realized that some of our types for representing constants are very big. This reduces `LazyConst` to 3/4th of its original size and simplifies some code around slices at the same time.

r? @RalfJung
2019-01-28 00:46:07 +00:00
bors
da6ab956e1 Auto merge of #56932 - clarcharr:iter_refactor, r=Centril
Refactor core::iter module

A while back, I refactored `core::ops` in #42523 because the module had become a giant mess and was difficult to modify. Now, I'm doing the same with the `core::iter` module.

Like the `core::ops` refactor, things have been split up into multiple commits to make rebasing easier, and so that you can follow changes. Although the diffs are hard to decipher, the only actual code changes I've made in the first few commits are to modify exports and imports. I save all of the actual code refactoring, e.g. modifying what methods are called, for the end.
2019-01-27 20:50:17 +00:00
Oliver Scherer
fe50b4eb1d ConstValue::ScalarPair only needs to represent slices 2019-01-27 21:41:35 +01:00
Oliver Scherer
2a1748834e Add some size assertions for const eval types 2019-01-27 21:41:34 +01:00
Oliver Scherer
1578955500 Fix indentation 2019-01-27 20:30:35 +01:00
bors
8611577360 Auto merge of #57765 - Mark-Simulacrum:bootstrap-bump, r=alexcrichton
Bump bootstrap compiler to 1.33 beta

r? @alexcrichton or @pietroalbini

cc @rust-lang/release
2019-01-27 18:18:17 +00:00
Mark Rousskov
e0bc0ba281 Update comment in test which has changed its purpose 2019-01-27 08:59:58 -07:00
Mark Rousskov
cd39cf748e Update cargo to fix deprecation warnings
Implemented in rust-lang/cargo#6600
2019-01-27 08:54:56 -07:00
bors
71c365c380 Auto merge of #57826 - danielhenrymantilla:master, r=Centril
Fixed Deref coercion explanation for DerefMut using shared references
2019-01-27 15:33:45 +00:00
bors
01af12008d Auto merge of #57927 - Alexendoo:mem-drop-nll-docs, r=Centril
Remove lexical scope examples from std::mem::drop

The example no longer produces an error in the 2018 edition
2019-01-27 09:19:00 +00:00
bors
1484d0d123 Auto merge of #57907 - euclio:applicability-rename, r=estebank
remove deprecated suggestion functions

This PR removes the (now unused) deprecated suggestion functions and removes `_with_applicability` from their replacements' names.

This PR will break clippy, but I'll open a clippy PR once this is merged.
2019-01-27 06:35:51 +00:00
Andy Russell
0897ffc28f
remove _with_applicability from suggestion fns 2019-01-26 23:07:55 -05:00
Andy Russell
8eaa84c79f
document Applicability 2019-01-26 23:06:08 -05:00
bors
677064b979 Auto merge of #57925 - fintelia:riscv-cas, r=nagisa
Enable RISC-V atomic compare and swap

Fixes #56564
2019-01-27 03:57:54 +00:00
bors
491680114a Auto merge of #57871 - Mark-Simulacrum:fix-compiletest-stamp, r=oli-obk
Correctly set filetime for copied LLVM

This also makes compiletest no longer always retest everything.

Fixes #57864
2019-01-27 00:07:53 +00:00
Mark Rousskov
7a58c6d1de Replace deprecated ATOMIC_INIT consts 2019-01-26 15:27:38 -07:00
Alex Macleod
9c9144fc1b Remove lexical scope examples from std::mem::drop
The example no longer produces an error in the 2018 edition
2019-01-26 21:59:17 +00:00
Jonathan Behrens
607c5431ae Enable RISC-V atomic compare and swap 2019-01-26 16:42:42 -05:00
bors
20c2cba61d Auto merge of #57918 - Centril:rollup, r=Centril
Rollup of 7 pull requests

Successful merges:

 - #57407 (Stabilize extern_crate_self)
 - #57703 (Make MutexGuard's Debug implementation more useful.)
 - #57764 (Fix some minor warnings)
 - #57825 (un-deprecate mem::zeroed)
 - #57827 (Ignore aarch64 in simd-intrinsic-generic-reduction)
 - #57908 (resolve: Fix span arithmetics in the import conflict error)
 - #57913 (Change crate-visibility-modifier issue number in The Unstable Book)

Failed merges:

r? @ghost
2019-01-26 18:14:46 +00:00
Mazdak Farrokhzad
97833ee506
Rollup merge of #57913 - h-michael:fix-crate-visibility-modifier-issue-number, r=Centril
Change crate-visibility-modifier issue number in The Unstable Book

#45388 is closed.
Because, it's duplicate issue of #53120.
2019-01-26 18:21:49 +01:00
Mazdak Farrokhzad
bbe8dd9ca3
Rollup merge of #57908 - petrochenkov:errepice, r=estebank
resolve: Fix span arithmetics in the import conflict error

https://github.com/rust-lang/rust/pull/56937 rebased and fixed

Fixes https://github.com/rust-lang/rust/issues/56411
Fixes https://github.com/rust-lang/rust/issues/57071
Fixes https://github.com/rust-lang/rust/issues/57787

r? @estebank
2019-01-26 18:21:47 +01:00
Mazdak Farrokhzad
1206264fb2
Rollup merge of #57827 - parched:ignore, r=nikomatsakis
Ignore aarch64 in simd-intrinsic-generic-reduction

This fails on AArch64 see https://github.com/rust-lang/rust/issues/54510

Disabling it for now until it's fixed/implemented in LLVM

cc @gnzlbg
2019-01-26 18:21:46 +01:00
Mazdak Farrokhzad
5ce3f74096
Rollup merge of #57825 - RalfJung:zeroed, r=nikomatsakis
un-deprecate mem::zeroed

as per the discussion around <https://github.com/rust-lang/rust/issues/53491#issuecomment-451454793>
2019-01-26 18:21:45 +01:00
Mazdak Farrokhzad
51f53687e7
Rollup merge of #57764 - Xanewok:tiny-tweaks, r=nikomatsakis
Fix some minor warnings

Since apparently RLS works when initialized in the root repository (🎉) I decided to fix some of the issues it caught.

There are a lot of unused attribute warnings left on `rustc_on_unimplemented` and `rustc_layout_scalar_valid_range_start` but I imagine we can't do much about it due to 2-stage compilation?
2019-01-26 18:21:44 +01:00
Mazdak Farrokhzad
1e8fde07b6
Rollup merge of #57703 - m-ou-se:mutexguard-debug, r=cramertj
Make MutexGuard's Debug implementation more useful.

Fixes #57702.
2019-01-26 18:21:42 +01:00
Mazdak Farrokhzad
5e6c2f40d0
Rollup merge of #57407 - mehcode:stabilize-extern-crate-self, r=Centril
Stabilize extern_crate_self

Fixes #56409
2019-01-26 18:21:41 +01:00
bors
46a43dc1e9 Auto merge of #57852 - davidtwco:issue-57819, r=estebank
Suggest removing leading left angle brackets.

Fixes #57819.

This PR adds errors and accompanying suggestions as below:

```
bar::<<<<<T as Foo>::Output>();
     ^^^ help: remove extra angle brackets
```

r? @estebank
2019-01-26 15:33:43 +00:00
Mark Rousskov
abe36c4741 Ignore LLVM-dependent run-make tests on Windows
This should solve the PATH issue, and we don't need to test cross-lang
LTO working on all OS-es.
2019-01-26 08:02:08 -07:00
Mark Rousskov
2d21df8a3f Workaround presence of LLVM library in stage0/lib
This commit works around the newly-introduced LLVM shared library.

This is needed such that llvm-config run from
librustc_llvm's build script can correctly locate it's own LLVM, not the
one in stage0/lib. The LLVM build system uses the DT_RUNPATH/RUNPATH
header within the llvm-config binary, which we want to use, but because
Cargo always adds the host compiler's "libdir" (stage0/lib in our
case) to the dynamic linker's search path, we weren't properly finding
the freshly-built LLVM in llvm/lib. By restoring the environment
variable setting the search path to what bootstrap sees, the problem is
resolved and librustc_llvm correctly links and finds the appropriate
LLVM.

Several run-make-fulldeps tests are also updated with similar handling.
2019-01-26 08:02:08 -07:00
Mark Rousskov
b7f030e114 Bump bootstrap compiler to 1.33 beta 2019-01-26 08:02:08 -07:00
bors
ccd428befd Auto merge of #57726 - Zoxc:combine-early-lints, r=estebank
Combine all builtin early lints

This also adds a -Z no-interleave-lints option to allow benchmarking lints.

r? @estebank
2019-01-26 12:21:03 +00:00
bors
f95834b2a9 Auto merge of #57425 - alexcrichton:stabilize-atomics, r=sfackler
std: Stabilize fixed-width integer atomics

This commit stabilizes the `Atomic{I,U}{8,16,32,64}` APIs in the
`std::sync::atomic` and `core::sync::atomic` modules. Proposed in #56753
and tracked in #32976 this feature has been unstable for quite some time
and is hopefully ready to go over the finish line now!

The API is being stabilized as-is. The API of `AtomicU8` and friends
mirrors that of `AtomicUsize`. A list of changes made here are:

* A portability documentation section has been added to describe the
  current state of affairs.
* Emulation of smaller-size atomics with larger-size atomics has been
  documented.
* As an added bonus, `ATOMIC_*_INIT` is now scheduled for deprecation
  across the board in 1.34.0 now that `const` functions can be invoked
  in statics.

Note that the 128-bit atomic types are omitted from this stabilization
explicitly. They have far less platform support than the other atomic
types, and will likely require further discussion about their best
location.

Closes #32976
Closes #56753
2019-01-26 09:46:10 +00:00
bors
42eb5ff404 Auto merge of #55641 - nagisa:optimize-attr, r=pnkfelix
Implement optimize(size) and optimize(speed) attributes

This PR implements both `optimize(size)` and `optimize(speed)` attributes.

While the functionality itself works fine now, this PR is not yet complete: the code might be messy in places and, most importantly, the compiletest must be improved with functionality to run tests with custom optimization levels. Otherwise the new attribute cannot be tested properly. Oh, and not all of the RFC is implemented – attribute propagation is not implemented for example.

# TODO

* [x] Improve compiletest so that tests can be written;
* [x] Assign a proper error number (E9999 currently, no idea how to allocate a number properly);
* [ ] Perhaps reduce the duplication in LLVM attribute assignment code…
2019-01-26 07:08:18 +00:00
Hirokazu Hata
b215fbdbb4 Change crate-visibility-modifier issue number in The Unstable Book 2019-01-26 15:50:05 +09:00
bors
9df043b543 Auto merge of #57675 - cuviper:llvm-monorepo, r=alexcrichton
Rebase to the llvm-project monorepo

The new git submodule src/llvm-project is a monorepo replacing src/llvm
and src/tools/{clang,lld,lldb}.  This also serves as a rebase for these
projects to the new 8.x branch from trunk.

The src/llvm-emscripten fork is unchanged for now.

r? @alexcrichton
2019-01-26 02:10:15 +00:00
Alex Crichton
059ed4f21f Update dlmalloc to 0.1.2
Remove usage of an old and removed wasm intrinsic
2019-01-25 15:40:53 -08:00
Josh Stone
15cf179c93 Set LLDB_NO_DEBUGSERVER=ON 2019-01-25 15:39:55 -08:00
Josh Stone
a920ed935c [rust-lldb] Adapt to changes in LLDB APIs 2019-01-25 15:39:54 -08:00
Josh Stone
400dec059e librustc_llvm: default to libc++ for darwin 2019-01-25 15:39:54 -08:00
Josh Stone
8b88324c56 Update LLVM for a CodeView fix 2019-01-25 15:39:54 -08:00
Josh Stone
cff0750090 Set the DICompileUnit emissionKind 2019-01-25 15:39:54 -08:00
Alex Crichton
75d0bceb0a Add two more wasm-related LLVM commits 2019-01-25 15:39:54 -08:00
Josh Stone
df0466d0bb Rebase to the llvm-project monorepo
The new git submodule src/llvm-project is a monorepo replacing src/llvm
and src/tools/{clang,lld,lldb}.  This also serves as a rebase for these
projects to the new 8.x branch from trunk.

The src/llvm-emscripten fork is unchanged for now.
2019-01-25 15:39:54 -08:00