Commit Graph

54189 Commits

Author SHA1 Message Date
Andrew Brinker
af33b30bc6 Fixed based on feedback from steveklabnik 2016-06-07 18:09:24 -04:00
bors
ec872dc8a3 Auto merge of #34141 - eddyb:trans-abi-memcpy, r=nikomatsakis
trans: always use a memcpy for ABI argument/return casts.

When storing incoming arguments or values returned by call/invoke, always do a `memcpy` from a temporary of the cast type, if there is an ABI cast.
While Clang has gotten smarter ([store](https://godbolt.org/g/EphFuK) vs [memcpy](https://godbolt.org/g/5dikH9)), a `memcpy` will always work.
This is what @dotdash has wanted to do all along, and it fixes #32049.
2016-06-07 14:45:39 -07:00
Eduard Burtescu
e252865b74 trans: always use a memcpy for ABI argument/return casts. 2016-06-08 00:35:01 +03:00
bors
39a523ba13 Auto merge of #34139 - steveklabnik:rollup, r=steveklabnik
Rollup of 13 pull requests

- Successful merges: #33645, #33897, #33945, #34007, #34060, #34070, #34094, #34098, #34099, #34104, #34124, #34125, #34138
- Failed merges:
2016-06-07 11:50:31 -07:00
James Lucas
8844fd4e8a Adding sections and brief explanation of libc
Have included an example of a Cargo.toml file containing the libc dependency.

The file has been reformatted to use sections. The note on the default features warning is part of the _Using libc_ section but is in bold.
2016-06-07 10:59:47 -07:00
Aleksey Kladov
7abdbd4483 docs: simplify wording 2016-06-07 20:46:11 +03:00
Eduard Burtescu
0c5930ef25 mir: group span + visibility scope under a new SourceInfo type. 2016-06-07 19:21:56 +03:00
Srinivas Reddy Thatiparthy
96c85f4e37 run rustfmt on libflate folder 2016-06-07 21:29:35 +05:30
Eduard Burtescu
719a591630 mir: distinguish between variable visibility scopes and SEME scopes. 2016-06-07 18:50:58 +03:00
Steve Klabnik
a0bf3b8b47 Rollup merge of #34138 - hoodie:bug/bool_colors, r=steveklabnik
Bug/bool colors

This is actually #33661 @steveklabnik, sorry about this, github ate my homework
2016-06-07 10:43:58 -04:00
Steve Klabnik
3ff22ccd40 Rollup merge of #34125 - MichaelNecio:book_addition, r=steveklabnik
Noted that shadowing never destroys a value

Fixes issue #33887

r? @steveklabnik
2016-06-07 10:43:58 -04:00
Steve Klabnik
814f685df2 Rollup merge of #34124 - jonas-schievink:remove-useless-optns, r=sanxiyn
Remove old -Z options that do nothing

Technically, this is a [breaking-change], but I'm not sure what the policy for -Z flags is (especially unused ones).
2016-06-07 10:43:58 -04:00
Steve Klabnik
dd1198d025 Rollup merge of #34104 - nagisa:cfg-llvm-up, r=alexcrichton
Require LLVM 3.7

We are using getMCTargetInfo which is 3.7+. I’m not sure whether 3.7 works though.

Fixes https://github.com/rust-lang/rust/issues/34103

r? @alexcrichton
2016-06-07 10:43:57 -04:00
Steve Klabnik
a41de7f8da Rollup merge of #34099 - markrcote:functions-copyedit, r=steveklabnik
Add missing space before parenthesis.
2016-06-07 10:43:57 -04:00
Steve Klabnik
05efef7e19 Rollup merge of #34098 - frankmcsherry:patch-1, r=alexcrichton
Update rc.rs

The original description suggests that the original `Rc<T>` itself is downgraded, which doesn't seem to be what the code does. At the same time, `Rc` is one of those types that can do weird things with only a shared reference, so I thought it would be good to be clear.
2016-06-07 10:43:57 -04:00
Steve Klabnik
31ddf966f5 Rollup merge of #34094 - abenga:doc_changes_variable_bindings, r=steveklabnik
Minor changes to variable bindings chapter

* In "*... name as another binding, that's currently in scope, will ...*", *"
  that's currently in scope"* is not a parenthetical element, and the commas
  can be omitted.

* Other minor changes.
2016-06-07 10:43:57 -04:00
Steve Klabnik
46de8f750b Rollup merge of #34070 - chriskrycho:update-reference-deprecated-attribute, r=steveklabnik
Update reference to indicate stabilization of `deprecated` attribute.

None
2016-06-07 10:43:57 -04:00
Steve Klabnik
ee78a02aec Rollup merge of #34060 - JDemler:master, r=steveklabnik
Improved documentation for tests/ directory

This ambigouity problem was already discussed in the [forums](https://users.rust-lang.org/t/problem-using-external-modules-inside-integration-test-submodule/5312/6).
2016-06-07 10:43:56 -04:00
Steve Klabnik
422574400f Rollup merge of #34007 - flo-l:improve-hacking-docs, r=alexcrichton
add documentation on howto build just rustc without libstd to the build system

I searched for days until I found this, maybe this helps other poor souls 😂

for reference #33990
2016-06-07 10:43:56 -04:00
Steve Klabnik
0c42fa6ec0 Rollup merge of #33945 - srinivasreddy:libpanic_unwind, r=nrc
run rustfmt on libpanic_unwind folder
2016-06-07 10:43:56 -04:00
Steve Klabnik
2b94d84413 Rollup merge of #33897 - srinivasreddy:runfail_rustfmt, r=nrc
run rustfmt on test/run-fail folder
2016-06-07 10:43:56 -04:00
Steve Klabnik
98988ba05e Rollup merge of #33645 - withoutboats:woboats_trim_matches_doc, r=steveklabnik
Correct the docs on str::trim_matches

This pattern cannot be a str because str's pattern is not double-ended.
2016-06-07 10:43:55 -04:00
bors
9b2becaf6e Auto merge of #34128 - eddyb:mir-trans-fixes, r=luqmana
[MIR] Fix MIR trans edge cases that showed up on crater.

These fixes cover all of the [regressions found by crater](https://gist.github.com/nikomatsakis/88ce89ed06ef7f7f19bfd1e221d7f7ec) (for #34096).

Two of them were `Pair` edge cases (ZSTs and constants) causing LLVM assertions, the other one was  causing stack overflows in debug scripts compiled in debug mode, due to the `fn_ret_cast` `alloca` ending up in a loop.
2016-06-07 06:31:32 -07:00
Jacob Clark
4504df7514 Test case for borrowk ICE #25579 2016-06-07 11:38:32 +01:00
Felix S. Klock II
4b6a68e447 Fix issue #34101: do not track subcontent of type with dtor nor gather flags for untracked content.
(Includes a regression test, which needed to go into `compile-fail/`
due to weaknesses when combining `#[deny(warnings)]` with
`tcx.sess.span_warn(..)`)

(updated with review feedback from arielb1.)
2016-06-07 10:19:38 +02:00
bors
f35255038b Auto merge of #34012 - eddyb:tick-erased, r=nikomatsakis
rustc: add ReErased to be used by trait selection, MIR and trans.

`ReErased` replaces `ReStatic` (i.e. `'static`) for erasing regions.
Using a distinct lifetime helps prevent accidental mix-ups between the two.
It also allows cleaner type printing (see test changes), including in symbol names:
```rust
str..pattern..CharSearcher$LT$$u27$static$GT$::drop.30560::h840c2f2afc03bbea // before
str..pattern..CharSearcher::drop.30561::h6bd31d2af614377a // after
```
Not that we should be producing symbols this way, but it's still better.
2016-06-07 00:04:53 -07:00
Eduard Burtescu
02cbc0ef8c trans: don't create allocas anywhere other than the entry block. 2016-06-07 10:04:31 +03:00
Horace Abenga
b014039197 Minor changes to variable bindings chapter
* In "... name as another binding, that's currently in scope, will ...", ",
  that's currently in scope, " is not a parenthetical element, and the commas
  can be omitted.

* Other minor changes.
2016-06-07 09:38:15 +03:00
James Lucas
299a1a0699 Note warning of default features on libc
The default features of libc include libstd. This should be noted on this page.
2016-06-06 23:09:55 -07:00
Corey Farwell
7755d0cda6 Add regression tests for #13727.
Fixes https://github.com/rust-lang/rust/issues/13727.
2016-06-06 21:09:24 -04:00
Jeffrey Seyfried
970e15d3c3 Fix bug in librustdoc in which an unmatched "</table>" is emitted. 2016-06-07 00:31:59 +00:00
Jeffrey Seyfried
49de80d7ea Refactor away the prelude injection pass 2016-06-07 00:31:42 +00:00
Joachim Viide
75fc40c668 Remove a gotcha from book/error-handling.md
The book's "Error handling with Box<Error>" section talks about Box<Error>.
In the actual example Box<Error + Send + Sync> is used instead so that the
corresponding From impls could be used to convert a plain string to an error
type. Rust 1.7 added support for conversion from &str/String to
Box<Error>, so this gotcha and later references to it can now be removed.
2016-06-07 02:48:20 +03:00
Eduard Burtescu
11e31091a9 trans: don't forget to cast Pair constants of the wrong type. 2016-06-07 02:21:58 +03:00
Michael Necio
f07aa35549 Noted that shadowing never destroys a value 2016-06-06 18:13:20 -04:00
Jeffrey Seyfried
0f37edb758 Refactor away method resolve_name_in_lexical_scope of ModuleS 2016-06-06 21:51:11 +00:00
Jonas Schievink
6e2f966f72 Remove old -Z options that do nothing
Technically, this is a [breaking-change], but I'm not sure what the
policy for -Z flags is (especially unused ones).
2016-06-06 23:43:44 +02:00
Eduard Burtescu
b6d9f8387a trans: use Pair for ignored nil pairs instead of Immediate. 2016-06-07 00:24:21 +03:00
bors
763f9234b0 Auto merge of #34006 - eddyb:mir-const-fixes, r=nikomatsakis
[MIR] Fix double-rounding of float constants and ignore NaN sign in tests.

Fixes #32805 by handling f32 and f64 separately in rustc_const_eval.

Also removes `#[rustc_no_mir]` from a couple libstd tests by ignoring NaN sign.
Turns out that runtime evaluation of `0.0 / 0.0` produces a NaN with the sign bit set,
whereas LLVM constant folds it to a NaN with the sign bit unset, which we were testing for.
2016-06-06 05:08:50 -07:00
Leo Testard
4dab8ae64e Remove the old FOLLOW checking (aka check_matcher_old). 2016-06-06 12:27:34 +02:00
bors
4a4a13a5bc Auto merge of #33920 - cristianoliveira:error-E0174-explanation, r=GuillaumeGomez
Add error description for E0174

Reference for issue: #32777

r? @GuillaumeGomez

Hey Guillaume, sorry for taking too long to do it. I got some unexpected work during the week.

Waiting for your review :)
2016-06-06 01:02:22 -07:00
Eduard-Mihai Burtescu
8519139ab4 Merge pull request #34102 from eddyb/rollup
Rollup of 12 pull requests
2016-06-06 11:02:19 +03:00
Cristian Oliveira
45e647dfe2 Add error description for E0174 2016-06-06 01:02:26 -03:00
Eduard-Mihai Burtescu
c77076074c Rollup merge of #34090 - srinivasreddy:rustfmt_unicode, r=nagisa
run rustfmt on librustc_unicode
2016-06-06 06:48:33 +03:00
Eduard-Mihai Burtescu
f7a82e04e3 Rollup merge of #34085 - srinivasreddy:rustfmt_libtest, r=eddyb
run rustfmt on libtest folder
2016-06-06 06:48:33 +03:00
Eduard-Mihai Burtescu
61eeffa372 Rollup merge of #34082 - ollie27:rustdoc_css, r=alexcrichton
rustdoc: Fix a few missing colors in the CSS

This adds color to some of the search results and sidebar items which were missing.
2016-06-06 06:48:33 +03:00
Eduard-Mihai Burtescu
324a356d78 Rollup merge of #34081 - RustOS-Fork-Holding-Ground:no-core-build-script, r=alexcrichton
No build.rs for libcore

I did a grep and there are no longer any mention of "rustbuild" in core, in `cfg`s or otherwise.
2016-06-06 06:48:33 +03:00
Eduard-Mihai Burtescu
594990dbde Rollup merge of #34062 - sanxiyn:no-wget, r=nagisa
Unsupport wget

wget support was removed in #32942 (search for wget in diff), but configure wasn't updated. wget support was introduced in #7498 for Windows, but we now use PowerShell on Windows.
2016-06-06 06:48:33 +03:00
Eduard-Mihai Burtescu
f646d93e42 Rollup merge of #34059 - reeze:patch-2, r=GuillaumeGomez
Update comment

The path has changed
2016-06-06 06:48:33 +03:00
Eduard-Mihai Burtescu
9f5be6c2a4 Rollup merge of #34052 - jonas-schievink:issue-32829, r=brson
Add regression test for issue #32829

Closes #32829
2016-06-06 06:48:32 +03:00