Commit Graph

47843 Commits

Author SHA1 Message Date
Niko Matsakis 3ab29d3378 Add adt_def into Switch, since it's convenient to have in trans 2015-11-03 04:35:00 -05:00
Niko Matsakis b5d3580843 Move the "HAIR" code that reads the tcx tables etc out of the `tcx`
module and into `hair/cx`, now that we don't have a trait defining
the interface
2015-11-03 04:35:00 -05:00
Niko Matsakis 3c07b46118 Pass the mir map to trans 2015-11-03 04:34:59 -05:00
Niko Matsakis 15c1da4e27 Convert from using named fields to always using indices 2015-11-03 04:34:59 -05:00
Niko Matsakis 1e30f3e52b Change ShallowDrop to Free, so that it matches what trans will do 2015-11-03 04:34:59 -05:00
Niko Matsakis 88a9c3e764 Build the MIR using the liberated fn sigs, and track the return type 2015-11-03 04:34:59 -05:00
Niko Matsakis 6d7c66e6e8 Introduce a "liberated fn sigs" map so that we have easy access to this
information when constructing MIR.
2015-11-03 04:34:59 -05:00
bors eacd35984b Auto merge of #29459 - tshepang:simplify, r=steveklabnik 2015-11-03 08:18:45 +00:00
bors fffe075708 Auto merge of #29523 - durka:patch-9, r=alexcrichton
`Rc::try_unwrap` and `Rc::make_mut` are stable since 1.4.0, but the example code still has `#![feature(rc_unique)]`. Ideally the stable and beta docs would be updated, but I don't think that's possible :(
2015-11-03 06:34:53 +00:00
bors 3330f54198 Auto merge of #29514 - apasel422:issue-26220, r=alexcrichton
Closes #26220.

r? @alexcrichton
2015-11-03 04:52:12 +00:00
bors b7fbfb658e Auto merge of #29285 - eefriedman:libsyntax-panic, r=nrc
A set of commits which pushes some panics out of core parser methods, and into users of those parser methods.
2015-11-03 03:06:03 +00:00
bors 749625ad6d Auto merge of #29500 - vadimcn:rustlib, r=alexcrichton
According to a recent [discussion on IRC](https://botbot.me/mozilla/rust-tools/2015-10-27/?msg=52887517&page=2), there's no good reason for Windows builds to store target libraries under `bin`, when on every other platform they are under `lib`.

This might be a [breaking-change] for some users.  I am pretty sure VisualRust has that path hard-coded somewhere.

r? @brson
2015-11-03 01:23:10 +00:00
Amit Saha 900f36fde3 Specify Microsoft Windows and Mac OS X explicitly
When referring to the different shared library extensions, specify the OS explicitly.
2015-11-03 10:50:20 +11:00
Kevin Butler b1ef5302d5 librustdoc: ignore lint warnings when compiling documentation 2015-11-02 23:44:53 +00:00
bors e2bb53ca52 Auto merge of #29291 - petrochenkov:privacy, r=alexcrichton
The public set is expanded with trait items, impls and their items, foreign items, exported macros, variant fields, i.e. all the missing parts. Now it's a subset of the exported set.
This is needed for https://github.com/rust-lang/rust/pull/29083 because stability annotation pass uses the public set and all things listed above need to be annotated.
Rustdoc can now be migrated to the public set as well, I guess.

Exported set is now slightly more correct with regard to exported items in blocks - 1) blocks in foreign items are considered and 2) publicity is not inherited from the block's parent - if a function is public it doesn't mean structures defined in its body are public.

r? @alexcrichton or maybe someone else
2015-11-02 23:38:49 +00:00
Vadim Petrochenkov ab7b3456d0 Parens + issue number + typo 2015-11-03 01:58:41 +03:00
bors a1fd944eb8 Auto merge of #29456 - alexcrichton:path-hash, r=aturon
Almost all operations on Path are based on the components iterator in one form
or another to handle equivalent paths. The `Hash` implementations, however,
mistakenly just went straight to the underlying `OsStr`, causing these
equivalent paths to not get merged together.

This commit updates the `Hash` implementation to also be based on the iterator
which should ensure that if two paths are equal they hash to the same thing.

cc #29008, but doesn't close it
2015-11-02 21:56:47 +00:00
Alex Crichton d2dd700891 std: Base Hash for Path on its iterator
Almost all operations on Path are based on the components iterator in one form
or another to handle equivalent paths. The `Hash` implementations, however,
mistakenly just went straight to the underlying `OsStr`, causing these
equivalent paths to not get merged together.

This commit updates the `Hash` implementation to also be based on the iterator
which should ensure that if two paths are equal they hash to the same thing.

cc #29008, but doesn't close it
2015-11-02 12:58:54 -08:00
Alex Burka 983349ee99 remove #![feature(rc_unique)] from Rc docs
`Rc::try_unwrap` and `Rc::make_mut` are stable since 1.4.0, but the example code still has `#![feature(rc_unique)]`. Ideally the stable and beta docs would be updated, but I don't think that's possible...
2015-11-02 15:36:22 -05:00
bors 2249b07ae9 Auto merge of #29513 - apasel422:issue-23217, r=alexcrichton
Closes #23217.

r? @alexcrichton
2015-11-02 20:11:53 +00:00
Vadim Chugunov 8cf50bc1fd Merged windows and unix `find_libdir()` 2015-11-02 11:42:20 -08:00
bors cf2319bbb6 Auto merge of #29510 - mneumann:dragonfly-guard-page, r=alexcrichton
Only tested on DragonFly.
2015-11-02 18:29:33 +00:00
Alex Crichton 6e27448973 mk: Add rtstartup to dist
Needed for distcheck to pass and to have a working tarball.
2015-11-02 08:45:38 -08:00
bors 033e142915 Auto merge of #29518 - KyleMayes:master, r=apasel422
Fixes one of the `expr` examples to be a correct expression

r? @steveklabnik
2015-11-02 14:41:31 +00:00
Kyle Mayes 6e5d78dba3 Minor fix to Rust Book, Macros chapter
Fixes one of the `expr` examples to be a proper expression
2015-11-02 08:52:05 -05:00
bors 5b11b286bc Auto merge of #28846 - Ms2ger:categorization, r=nikomatsakis 2015-11-02 10:44:08 +00:00
Ricardo Martins a9cbf6c1c1 Accept tabs as indentation character
A line may be indented with both spaces or tabs. All leading whitespace
is trimmed, even if it is mixed.
2015-11-02 09:17:17 +00:00
bors 7caf54bc0f Auto merge of #29505 - rjbs:docs-where-type, r=steveklabnik
I read this section a few times before even having a guess what
was meant, then consulted IRC for confirmation.  It may be that I
was thick-headed, but I think this is a useful addition.
2015-11-02 08:01:56 +00:00
Ricardo Signes 21a0c40ab3 Attempt to clarify use of `where i32: ConvertTo<T>
I read this section a few times before even having a guess what
was meant, then consulted IRC for confirmation.  It may be that I
was thick-headed, but I think this is a useful addition.
2015-11-01 20:41:22 -05:00
Vadim Chugunov 363deb0864 Formatting 2015-11-01 16:24:51 -08:00
bors 9c2489be0c Auto merge of #29507 - fhartwig:result-expect, r=Manishearth
This fixes part of #29506
These instances of `ok().expect()` have no benefit over using `Result`'s `expect` directly.
2015-11-01 23:22:22 +00:00
Andrew Paseltiner 6ad6cc30ef Implement `IntoIterator` for `&{Path, PathBuf}`
Closes #26220.
2015-11-01 18:04:53 -05:00
Andrew Paseltiner 3c20bd4d81 Add test for #23217
Closes #23217.
2015-11-01 17:55:09 -05:00
Michael Neumann 9415450ace Use guard-pages also on DragonFly/FreeBSD.
Only tested on DragonFly.
2015-11-01 22:56:31 +01:00
bors 6307719a12 Auto merge of #29501 - Manishearth:pat-docs, r=alexcrichton
None
2015-11-01 21:42:18 +00:00
Vadim Chugunov ab10cb7443 Clarify Windows gcc setup instructions. 2015-11-01 12:41:32 -08:00
bors af6e413fdb Auto merge of #29471 - pierzchalski:custom-target-custom-unwind-json, r=alexcrichton 2015-11-01 20:00:07 +00:00
Florian Hartwig 4168e026b4 Stop using ok().expect() in Result docs 2015-11-01 20:41:23 +01:00
Florian Hartwig f7a61678e3 Replace ok().expect() by Result::expect in trait chapter of trpl 2015-11-01 20:40:20 +01:00
bors 71409184dc Auto merge of #29177 - vadimcn:rtstuff, r=alexcrichton
Note: for now, this change only affects `-windows-gnu` builds.

So why was this `libgcc` dylib dependency needed in the first place?
The stack unwinder needs to know about locations of unwind tables of all the modules loaded in the current process.  The easiest portable way of achieving this is to have each module register itself with the unwinder when loaded into the process.  All modules compiled by GCC do this by calling the __register_frame_info() in their startup code (that's `crtbegin.o` and `crtend.o`, which are automatically linked into any gcc output).
Another important piece is that there should be only one copy of the unwinder (and thus unwind tables registry) in the process.  This pretty much means that the unwinder must be in a shared library (unless everything is statically linked). 

Now, Rust compiler tries very hard to make sure that any given Rust crate appears in the final output just once.   So if we link the unwinder statically to one of Rust's crates, everything should be fine.

Unfortunately, GCC startup objects are built under assumption that `libgcc` is the one true place for the unwind info registry, so I couldn't find any better way than to replace them.  So out go `crtbegin`/`crtend`, in come `rsbegin`/`rsend`!  

A side benefit of this change is that rustc is now more in control of the command line that goes to the linker, so we could stop using `gcc` as the linker driver and just invoke `ld` directly.
2015-11-01 17:15:29 +00:00
bors 6d43fef3aa Auto merge of #29486 - petrochenkov:multiwild, r=Manishearth
Motivation:
- It is not actually a pattern
- It is not actually needed, except for...

Drawback:
- Slice patterns like `[a, _.., b]` are pretty-printed as `[a, .., b]`. Great loss :(

plugin-[breaking-change], as always
2015-11-01 13:36:49 +00:00
Vadim Petrochenkov 306b0efc44 Add comment for stability.rs 2015-11-01 16:33:46 +03:00
Manish Goregaokar 8bb72cfe00 Add code formatting on PatVec docs 2015-11-01 16:37:12 +05:30
Manish Goregaokar 7e9d73cf2d Fix PatEnum docs 2015-11-01 16:32:51 +05:30
bors a5fbb3a25f Auto merge of #29316 - GBGamer:change-unchecked-div-generic, r=eddyb
Similarly to the simd intrinsics. I believe this is a better solution than #29288, and I could implement it as well for overflowing_add/sub/mul. Also rename from udiv/sdiv to div, and same for rem.
2015-11-01 07:03:09 +00:00
Vadim Chugunov 4e0c6db67f Windows: Move target libraries to $rustroot/lib/rustlib/... - for symmetry with all other platforms. 2015-10-31 23:29:39 -07:00
bors b252f4c826 Auto merge of #29496 - cpjreynolds:patch-1, r=apasel422
Corrects `write_bytes`'s documentation as the parameter name is `val` not `c`.
2015-11-01 04:23:18 +00:00
Vadim Chugunov 0332ee9f63 Fix stage0 ICE caused by the old _Unwind_Resume override trickery. 2015-10-31 18:52:37 -07:00
Cole Reynolds 87c9fd2b42 Minor documentation correction
Corrects `write_bytes`'s documentation as the parameter name is `val` not `c`.
2015-10-31 20:31:16 -04:00
Nicholas Mazzuca 579420fbdd Check unchecked_div|rem's specialisation
Similarly to the simd intrinsics.
2015-10-31 12:22:15 -07:00