Commit graph

91550 commits

Author SHA1 Message Date
bors
26714219f1 Auto merge of #58846 - bjorn3:misc_cg_ssa_refactor, r=eddyb
Misc refactorings to rustc_codegen_ssa

Unlike #56636 this doesn't split `BuilderMethods` into a lot of traits. That makes this PR twice as small and the split turned out to not be very useful anyway.

r? @eddyb
2019-03-29 21:46:15 +00:00
bors
e782d790f1 Auto merge of #59522 - Centril:rollup, r=Centril
Rollup of 9 pull requests

Successful merges:

 - #59366 (Update books)
 - #59436 (Update jemalloc-sys to version 0.3.0)
 - #59454 (Update rustfmt to 1.2.0)
 - #59462 (Fix error in Rust 2018 + no_core environment)
 - #59467 (Better diagnostic for binary operation on BoxedValues)
 - #59473 (Do not emit incorrect borrow suggestion involving macros and fix overlapping multiline spans)
 - #59480 (Update stdsimd)
 - #59486 (Visit `ImplItem` in `dead_code` lint)
 - #59510 (Rename `type_parameters` to `generics` and so on)

Failed merges:

 - #59516 (Update cargo)

r? @ghost
2019-03-29 18:09:51 +00:00
bjorn3
35705dee7e Use ExactSizeIterator + TrustedLen instead of num_cases arg for switch 2019-03-29 17:23:52 +01:00
bjorn3
56842b2154 Add a method for emiting a switch. 2019-03-29 17:17:14 +01:00
bjorn3
b2e61946fa Remove inline_asm_call from cg_ssa
`count_insn` is no longer called for inline asm, because it is private to builder.rs
2019-03-29 17:17:13 +01:00
bjorn3
b71c429007 Remove type_variadic_func and typ_array from cg_ssa 2019-03-29 17:17:13 +01:00
bjorn3
0e166bb217 Remove a lot of methods from *TypeMethods 2019-03-29 17:17:13 +01:00
bjorn3
b0ee1f7f99 Remove scalar_lltypes from cg_ssa 2019-03-29 17:17:13 +01:00
bjorn3
7de0b1de19 Move get_param and set_value_name 2019-03-29 17:17:13 +01:00
bjorn3
bcab49720e Remove a lot of methods from BuilderMethods 2019-03-29 17:17:12 +01:00
bjorn3
794ecd965a [WIP] Make some debug info methods take &mut FunctionDebugContext
declare_local still takes &FunctionDebugContext, because of borrowck errors
2019-03-29 17:17:12 +01:00
bjorn3
ab8f1527e4 Remove internal mutability from source_locations_enabled 2019-03-29 17:17:12 +01:00
bjorn3
f1fe9253e2 Remove param_substs from FunctionCx 2019-03-29 17:17:12 +01:00
bjorn3
7b94195c22 Remove const_{cstr,str_slice,get_elt,get_real} and is_const_real methods from cg_ssa
This introduces the static_panic_msg trait method to StaticBuilderMethods.
2019-03-29 17:17:12 +01:00
bjorn3
a3fa1161d2 Remove const_{fat_ptr,array,vector,bytes} from cg_ssa 2019-03-29 17:17:12 +01:00
bjorn3
a0056333f1 Misc 2019-03-29 17:17:12 +01:00
bjorn3
fe88440bd2 Add a comment 2019-03-29 17:17:12 +01:00
bjorn3
83e80a7443 Use Builder instead of CodegenCx for OperandRef and LocalRef 2019-03-29 17:17:12 +01:00
bjorn3
a0c2ca1b56 eval_mir_constant doesn't need a builder param 2019-03-29 17:17:11 +01:00
bjorn3
2b688a959d Don't use c_uint in cg_ssa 2019-03-29 17:06:27 +01:00
Mazdak Farrokhzad
99e886de43
Rollup merge of #59510 - varkor:rename-type_parameters, r=eddyb
Rename `type_parameters` to `generics` and so on

Some old variable names had fallen through the generics generalisation pull requests.
2019-03-29 12:32:32 +01:00
Mazdak Farrokhzad
4aacc49ece
Rollup merge of #59486 - varkor:dead-code-impl, r=sanxiyn
Visit `ImplItem` in `dead_code` lint

Fixes https://github.com/rust-lang/rust/issues/47131.
2019-03-29 12:32:30 +01:00
Mazdak Farrokhzad
ee172673c1
Rollup merge of #59480 - gnzlbg:us, r=alexcrichton
Update stdsimd

This PR fixes a regression introduced by ACLE support on thumbv4 targets, see: https://github.com/rust-lang-nursery/stdsimd/pull/704 .
2019-03-29 12:32:29 +01:00
Mazdak Farrokhzad
c105f34fcb
Rollup merge of #59473 - estebank:borrow-sugg-inside-macro, r=davidtwco
Do not emit incorrect borrow suggestion involving macros and fix overlapping multiline spans

Fix #58298.
2019-03-29 12:32:28 +01:00
Mazdak Farrokhzad
fda206633d
Rollup merge of #59467 - hgallagher1993:local_branch, r=estebank
Better diagnostic for binary operation on BoxedValues

Fixes #59458
2019-03-29 12:32:26 +01:00
Mazdak Farrokhzad
647d09fced
Rollup merge of #59462 - taiki-e:no-core, r=petrochenkov
Fix error in Rust 2018 + no_core environment

Minimized reproduction: https://play.rust-lang.org/?version=nightly&mode=debug&edition=2018&gist=5b9f6c3026ec9d856699fa6dbd4361f0

This is a fix for the error that occurred in #58702.

r? @Centril
2019-03-29 12:32:24 +01:00
Mazdak Farrokhzad
38af98ee5f
Rollup merge of #59454 - topecongiro:rustfmt-1.2.0, r=nrc
Update rustfmt to 1.2.0

This release includes bug fixes and performance improvements from 1.1.0. Also it adds a new rustfmt tool attribute `#[rustfmt::skip::macros]`, which lets you skip formatting macro calls of your choice.

cc @nrc @Centril @Xanewok
2019-03-29 12:32:23 +01:00
Mazdak Farrokhzad
8e0855b5b7
Rollup merge of #59436 - gnzlbg:update_jemalloc, r=alexcrichton
Update jemalloc-sys to version 0.3.0

This PR updates jemalloc-sys from 0.1.8 to 0.3.0.
2019-03-29 12:32:21 +01:00
Mazdak Farrokhzad
972a8ce2a9
Rollup merge of #59366 - ehuss:update-books, r=QuietMisdreavus
Update books

Update reference, book, rust-by-example, edition-guide, embedded-book

## reference

15 commits in 41493ffce5d0e17d54eaf5ec9a995054e2b9aece..27ad493a10364e907ec476e2ad61e8a1614b57e1
2019-03-05 12:32:22 +0100 to 2019-03-26 02:06:15 +0100
- Document wasm_import_module for #[link]. (rust-lang-nursery/reference#554)
- Fix tidy error. (rust-lang-nursery/reference#552)
- Some minor contributing updates. (rust-lang-nursery/reference#551)
- Document `type_length_limit`. (rust-lang-nursery/reference#546)
- Add some terms to the glossary. (rust-lang-nursery/reference#547)
- Document `target_feature` and `cfg_target_feature`. (rust-lang-nursery/reference#545)
- Remove undocumented page (rust-lang-nursery/reference#539)
- Reorg and update attributes (rust-lang-nursery/reference#537)
- Fix some minor link errors. (rust-lang-nursery/reference#538)
- Add linkchecker. (rust-lang-nursery/reference#521)
- Expand docs on Macros By Example. (rust-lang-nursery/reference#511)
- document #[panic_handler] (rust-lang-nursery/reference#362)
- document #[used] (rust-lang-nursery/reference#361)
- Note that UB is program-global (rust-lang-nursery/reference#490)
- Fix copy-paste error in procedural-macros.md (rust-lang-nursery/reference#533)

## book

16 commits in 9cffbeabec3bcec42d09432bfe7705125c848889..b93ec30bbc7b1b5c2f44223249ab359bed2ed5a6
2019-03-02 08:22:41 -0500 to 2019-03-26 16:54:10 -0400
- Unignore example that now compiles
- Fix code snippet (rust-lang/book#1863)
- Fix mdbook link text in readme (rust-lang/book#1881)
- Wrap to 80 cols
- Make sentence more complete (rust-lang/book#1885)
- consistenly use increment and decrement (rust-lang/book#1884)
- Fix link to Reference's conditional-compilation. (rust-lang/book#1878)
- Fix subject/verb agreement
- Remove nostarch snapshot files that have been incorporated and checked
- haha teach the dictionary steve's name
- Add authorship info to the front page
- fix accidental <ol>'s (rust-lang/book#1866)
- Edits to Macros (rust-lang/book#1848)
- Mention `lock` returns `MutexGuard` wrapped in a `LockResult`
- Add an example that illustrates NLL (rust-lang/book#1842)
- change the parameter name from `type` to `kind` (rust-lang/book#1845)

## rust-by-example

33 commits in 2ce92beabb912d417a7314d6da83ac9b50dc2afb..f68ef3d0f4959f6a7d92a08d9994b117f0f4d32d
2018-11-20 10:10:23 -0500 to 2019-03-12 15:32:12 -0300
- Fix some broken links. (rust-lang/rust-by-example#1161)
- Update links in README (rust-lang/rust-by-example#1167)
- Add score/lifetimes/trait.md (rust-lang/rust-by-example#1168)
- Fix rust-lang/rust-by-example#1147 - No more `open_mode` method (rust-lang/rust-by-example#1164)
- Fix for loop description in list print example (rust-lang/rust-by-example#1162)
- Add link to Cargo chapter in the index page (rust-lang/rust-by-example#1159)
- Fix grammar in sentence about integer notation (rust-lang/rust-by-example#1157)
- Do not use deprecated functions from `std::error::Error` trait (rust-lang/rust-by-example#1151)
- Update new_types.md to clarify conversion to base type (rust-lang/rust-by-example#1148)
- Fix compatibility with Rust 2018 (rust-lang/rust-by-example#1150)
- Hello: Fix hint link in `fmt` chapter. (rust-lang/rust-by-example#1146)
- Clarify pub(restricted) example a bit (rust-lang/rust-by-example#1133)
- Add "literal" to list of macro designators (rust-lang/rust-by-example#1153)
- Minor fixes for the macros chapter (rust-lang/rust-by-example#1113)
- Use new book links instead of the old second-edition ones (rust-lang/rust-by-example#1143)
- Recommend implementing Display over ToString (rust-lang/rust-by-example#1145)
- Remove unused import and format with `rustfmt` (rust-lang/rust-by-example#1144)
- fix typo (rust-lang/rust-by-example#1142)
- Update syntax for 2018 Edition (rust-lang/rust-by-example#1136)
- Added two missing full stops (rust-lang/rust-by-example#1138)
- Removed unnecessary spaces before macro designators in macros/dry (rust-lang/rust-by-example#1139)
- fix install mdbook command (rust-lang/rust-by-example#1128)
- Changed word `function` to `type` in comment of fn area (rust-lang/rust-by-example#1132)
- Added two missing backticks in generics/multi_bounds (rust-lang/rust-by-example#1129)
- Fixed small logic error in error/option_unwrap/and_then (rust-lang/rust-by-example#1127)
- Fix typo (rust-lang/rust-by-example#1125)
- The code of conduct link was dead. I fixed it. (rust-lang/rust-by-example#1122)
- I added a space in the Display fmt for Complex (rust-lang/rust-by-example#1123)
- Fix Rust install link in the index (rust-lang/rust-by-example#1124)
- Update cargo conventions section (rust-lang/rust-by-example#1121)
- Fixed curly braces in the `To and from Strings` chapter to be parentheses (rust-lang/rust-by-example#1120)
- Edit a typo (rust-lang/rust-by-example#1119)
- Fixes rust-lang/rust-by-example#1115 by correcting the typo from into_iterator to into_iter (rust-lang/rust-by-example#1118)

## edition-guide

1 commits in aa0022c875907886cae8f3ef8e9ebf6e2a5e728d..b56ddb11548450a6df4edd1ed571b2bc304eb9e6
2019-02-27 22:10:39 -0800 to 2019-03-10 10:23:16 +0100
- Links fixes (rust-lang-nursery/edition-guide#133)

## embedded-book

6 commits in 9e656ead82bfe869493dec82653a52e27fa6a05c..07fd3880ea0874d82b1d9ed30ad3427ec98b4e8a
2019-03-03 16:03:26 +0000 to 2019-03-27 15:40:52 +0000
- Fix test errors.  (rust-embedded/book#180)
- Update qemu.md  (rust-embedded/book#170)
- Update no-std.md to remove obsolete FAQ link  (rust-embedded/book#177)
- We've come a long way :)  (rust-embedded/book#176)
- Correct link to team  (rust-embedded/book#175)
- Update some book links to their new homes.  (rust-embedded/book#173)
2019-03-29 12:32:19 +01:00
bors
2002b4b39a Auto merge of #59303 - euclio:remove-rebuild-trigger, r=cuviper
replace llvm-rebuild-trigger with submodule commit hash

As mentioned in #59285.

This PR removes the need to update the `llvm-rebuild-trigger` file. Instead, the latest commit hash of the appropriate LLVM submodule will be stored in the stamp file and used to detect if a build is required.

Fixes #42405.
Fixes #54959.
Fixes #55537.
2019-03-29 11:20:55 +00:00
bors
003382e415 Auto merge of #59513 - Centril:rollup, r=Centril
Rollup of 11 pull requests

Successful merges:

 - #58019 (Combine all builtin late lints and make lint checking parallel)
 - #59358 (Use `track_errors` instead of hand rolling)
 - #59394 (warn -> deny duplicate match bindings)
 - #59401 (bootstrap: build crates under libtest with -Z emit-stack-sizes)
 - #59423 (Visit path in `walk_mac`)
 - #59468 (musl: build toolchain libs with -fPIC)
 - #59476 (Use `SmallVec` in `TokenStreamBuilder`.)
 - #59496 (Remove unnecessary with_globals calls)
 - #59498 (Use 'write_all' instead of 'write' in example code)
 - #59503 (Stablize {f32,f64}::copysign().)
 - #59511 (Fix missed fn rename in #59284)

Failed merges:

r? @ghost
2019-03-29 08:14:41 +00:00
bors
4fec737f9a Auto merge of #58605 - nagisa:fix-the-metadata, r=michaelwoerister
Use informational target machine for metadata

Since there is nothing to optimise there...

Should fix #58323 but haven’t tested locally.

r? @michaelwoerister
2019-03-29 05:00:58 +00:00
Taiki Endo
362d2439bd Fix error in Rust 2018 + no_core environment 2019-03-29 13:54:50 +09:00
Esteban Küber
b5690c2cb8 Fix MultilineAnnotation field name 2019-03-28 20:19:50 -07:00
Esteban Küber
8fad69c200 Add comemnts clarifying logic 2019-03-28 20:18:50 -07:00
Esteban Küber
e13e9a5d63 review comments 2019-03-28 20:03:13 -07:00
Mazdak Farrokhzad
456fa39031
Rollup merge of #59511 - jethrogb:jb/maybeinit-deprecated, r=Centril
Fix missed fn rename in #59284

See https://github.com/rust-lang/rust/pull/59284#issuecomment-477822797
2019-03-29 02:41:00 +01:00
Mazdak Farrokhzad
18680ae94f
Rollup merge of #59503 - crlf0710:stablize_copysign, r=SimonSapin
Stablize {f32,f64}::copysign().

Stablization PR for #55169/#58046. Please check if i'm doing it correctly. Is 1.35.0 good to go?
2019-03-29 02:40:58 +01:00
Mazdak Farrokhzad
0494cffd3c
Rollup merge of #59498 - mbrubeck:write_all, r=Centril
Use 'write_all' instead of 'write' in example code

Using `write` without looping and checking the result can cause silent data loss.  Example code should use `write_all` so that people don't copy this pattern.  (Of course this does not include example code for docs that are specifically about the `write` method.)
2019-03-29 02:40:57 +01:00
Mazdak Farrokhzad
bf3e6c63d6
Rollup merge of #59496 - Zoxc:fix-globals, r=oli-obk
Remove unnecessary with_globals calls
2019-03-29 02:40:56 +01:00
Mazdak Farrokhzad
73f9832ee4
Rollup merge of #59476 - nnethercote:TokenStreamBuilder-SmallVec, r=petrochenkov
Use `SmallVec` in `TokenStreamBuilder`.

This reduces by 12% the number of allocations done for a "clean incremental" of `webrender_api`, which reduces the instruction count by about 0.5%.

r? @petrochenkov
2019-03-29 02:40:54 +01:00
Mazdak Farrokhzad
c2d6c08ebb
Rollup merge of #59468 - mati865:musl_toolchain, r=pnkfelix
musl: build toolchain libs with -fPIC

Fixes https://github.com/rust-lang/rust/issues/59411
2019-03-29 02:40:52 +01:00
Mazdak Farrokhzad
0f4c87cffc
Rollup merge of #59423 - varkor:walk_mac-visit_path, r=petrochenkov
Visit path in `walk_mac`

Fixes https://github.com/rust-lang/rust/issues/54110.
2019-03-29 02:40:51 +01:00
Mazdak Farrokhzad
3df97f9da8
Rollup merge of #59401 - japaric:compiler-builtins-stack-sizes, r=alexcrichton
bootstrap: build crates under libtest with -Z emit-stack-sizes

Please see the comment in the diff for the rationale.

This change adds a `.stack_sizes` linker section to `libcompiler_builtins.rlib`
but this section is discarded by the linker by default so it won't affect the
binary size of most programs. It will, however, negatively affect the binary
size of programs that link to a recent release of the `cortex-m-rt` crate
because of the linker script that crate provides, but I have proposed a PR
(rust-embedded/cortex-m-rt#186) to solve the problem (which I originally
introduced :-)).

This change does increase the size of the `libcompiler_builtins.rlib` artifact we
distribute but the increase is in the order of (a few) KBs.

r? @alexcrichton
2019-03-29 02:40:49 +01:00
Mazdak Farrokhzad
f9262afa4d
Rollup merge of #59394 - mark-i-m:dup-matcher-bindings-2, r=Centril
warn -> deny duplicate match bindings

This is the next step of https://github.com/rust-lang/rust/issues/57742

r? @Centril

- [x] Decide whether to go to deny-by-default or hard error.
     - My preference is to make this deny-by-default, rather than going straight to a hard error. The CI should fail because I haven't updated the ui test yet. I'll update it when we decide which to do.
- [x] Update [test](c25d6b8344/src/test/ui/macros/macro-multiple-matcher-bindings.rs)
- [ ] ~Crater run~ see https://github.com/rust-lang/rust/pull/59394#issuecomment-477817351
2019-03-29 02:40:48 +01:00
Mazdak Farrokhzad
97927da048
Rollup merge of #59358 - JohnTitor:use-track-errors, r=oli-obk
Use `track_errors` instead of hand rolling

Fixes #59215

r? @oli-obk
2019-03-29 02:40:46 +01:00
Mazdak Farrokhzad
8794e21ff3
Rollup merge of #58019 - Zoxc:combine-late-lints, r=estebank
Combine all builtin late lints and make lint checking parallel

Blocked on https://github.com/rust-lang/rust/pull/57293.

Cuts runtime of late lint checking from 3.222s to 0.546s with 8 threads on `winapi` (@retep998 ;) )

r? @estebank
2019-03-29 02:40:45 +01:00
Jethro Beekman
93fb4d8317 Fix missed fn rename in #59284 2019-03-28 17:50:01 -07:00
varkor
44813dfcb6 Rename type_parameters to generics and so on 2019-03-29 00:28:07 +00:00
varkor
8cdfad9153 Walk all items for dead_code lint by default 2019-03-28 23:33:17 +00:00