Commit Graph

54641 Commits

Author SHA1 Message Date
Michael Woerister
b33240e2cc trans::collector: Also consider initializers of const items. 2016-07-08 10:42:48 -04:00
Michael Woerister
ab80f74670 collector-driven-trans: Take care of nits. 2016-07-08 10:42:47 -04:00
Michael Woerister
00226fc0c8 Pacify make tidy. 2016-07-08 10:42:47 -04:00
Michael Woerister
3a47103f1d Fix codegen tests by make sure items are translated in AST order. 2016-07-08 10:42:47 -04:00
Michael Woerister
283c94cd49 Clean up trans::trans_crate() after making things collector driven. 2016-07-08 10:42:47 -04:00
Michael Woerister
37a10ecbe8 Make item translation order deterministic by sorting by symbol name. 2016-07-08 10:42:47 -04:00
Michael Woerister
b38e0d0d44 Build SymbolMap for symbol name conflict checking and caching. 2016-07-08 10:42:47 -04:00
Michael Woerister
87c1c87dd7 Make drop-glue translation collector-driven. 2016-07-08 10:42:47 -04:00
Michael Woerister
6c8c94b848 Improve linkage assignment in trans::partitioning. 2016-07-08 10:42:47 -04:00
Michael Woerister
65e8a13441 Adapt backend to trans::partitioning dictating the codegen-unit setup. 2016-07-08 10:42:46 -04:00
Michael Woerister
2cd8cf92fc Ignore closure-related translation item collection tests. 2016-07-08 10:42:46 -04:00
Michael Woerister
5f3fefc77d trans: Get rid of the last potential on-demand creation of non-closure functions. 2016-07-08 10:42:46 -04:00
James Miller
6717106947 Drive function item translation from collector
Functions and method are declared ahead-of-time, including generic ones.

Closures are not considered trans items anymore, instead they are
translated on demands.
2016-07-08 10:42:38 -04:00
Michael Woerister
891c2a082f trans: Make translation of statics collector-driven. 2016-07-08 09:37:23 -04:00
bors
3fa1cdf23c Auto merge of #34679 - eddyb:mir-nested-pairs, r=dotdash
Handle nested pairs in MIR trans.

Found while trying to compile the latest Servo master.

cc @shinglyu
2016-07-08 00:41:35 -07:00
bors
9b4e2a5b2d Auto merge of #34682 - CensoredUsername:clobber-docs, r=eddyb
Correct inline assembly clobber formatting.

Fixes the formatting for inline assembly clobbers used in the book.
As this causes llvm to silently ignore the clobber an error is also
added to catch cases in which the wrong formatting was used.
Additionally a test case is added to confirm that this error works.

This fixes #34458

Note: this is only one out of a few possible ways to fix the issue
depending on how the asm! macro formatting is wanted.

Additionally, it'd be nicer to have some kind of test or feedback
from llvm if the clobber constraints are valid, but I do not know
enough about llvm to say if or how this is possible.
2016-07-07 21:48:04 -07:00
bors
182bcdbea1 Auto merge of #34575 - cgswords:tstream, r=nrc
Introducing TokenStreams and TokenSlices for procedural macros

This pull request introduces TokenStreams and TokenSlices into the compiler in preparation for usage as part of RFC 1566 (procedural macros).

r? @nrc
2016-07-07 17:58:31 -07:00
Brian Anderson
2ad5ed07f8 Merge pull request #34712 from rust-lang/steveklabnik-patch-1
Fix release notes for 1.10
2016-07-08 00:12:25 +01:00
Steve Klabnik
d04e34b7d4 Fix release notes for 1.10
Path was not actually given a default impl in #32990, even though the PR title said it did.

r? @brson
2016-07-07 18:17:25 -04:00
cgswords
754759688b Preliminary implementation for TokenStreams and TokenSlices, including unit tests and associated operations. 2016-07-07 11:44:04 -07:00
bors
4cf97fe57e Auto merge of #34677 - alexcrichton:no-more-build-directory, r=brson
rustbuild: Remove the `build` directory

The organization in rustbuild was a little odd at the moment where the `lib.rs`
was quite small but the binary `main.rs` was much larger. Unfortunately as well
there was a `build/` directory with the implementation of the build system, but
this directory was ignored by GitHub on the file-search prompt which was a
little annoying.

This commit reorganizes rustbuild slightly where all the library files (the
build system) is located directly inside of `src/bootstrap` and all the binaries
now live in `src/bootstrap/bin` (they're small). Hopefully this should allow
GitHub to index and allow navigating all the files while maintaining a
relatively similar layout to the other libraries in `src/`.
2016-07-07 08:39:36 -07:00
bors
9c1783a3a0 Auto merge of #34658 - luqmana:34592-nested_returns, r=eddyb
Just pass in NodeId to FunctionContext::new instead of looking it up.

Fixes #34592.
2016-07-07 05:46:57 -07:00
bors
a7f5d8a2ef Auto merge of #34672 - luqmana:27021-reassign-match-body, r=eddyb
Make match discriminant reassignment check more accurate.

Fixes #27021.
2016-07-07 02:42:45 -07:00
bors
b4e11c2af8 Auto merge of #34655 - jseyfried:improve_resolver_api, r=nrc
Add to `resolve`'s public API

This adds a public method `with_module_lexical_scope` to `Resolver` to allow users to resolve a path in the lexical scope of an arbitrary module.
r? @nrc
2016-07-06 23:18:23 -07:00
bors
de78655bca Auto merge of #34652 - jseyfried:fix_expansion_perf, r=nrc
Fix expansion performance regression

**syntax-[breaking-change] cc #31645**

This fixes #34630 by reverting commit 5bf7970 of PR #33943, which landed in #34424.

By removing the `Rc<_>` wrapping around `Delimited` and `SequenceRepetition` in `TokenTree`, 5bf7970 made cloning `TokenTree`s more expensive. While this had no measurable performance impact on the compiler's crates, it caused an order of magnitude performance regression on some macro-heavy code in the wild. I believe this is due to clones of `TokenTree`s in `macro_parser.rs` and/or `macro_rules.rs`.

r? @nrc
2016-07-06 20:04:11 -07:00
bors
5c674a1147 Auto merge of #34695 - steveklabnik:rollup, r=steveklabnik
Rollup of 15 pull requests

- Successful merges: #33250, #33265, #34277, #34327, #34521, #34558, #34615, #34619, #34621, #34625, #34626, #34636, #34664, #34667, #34685
- Failed merges: #33951
2016-07-06 17:02:41 -07:00
Steve Klabnik
2262d7383a Rollup merge of #34685 - GuillaumeGomez:section_header, r=steveklabnik
Remove invalid CSS rule for doc titles

r? @steveklabnik

Before:

![issue](https://cloud.githubusercontent.com/assets/3050060/16625595/a2f65914-43a5-11e6-9ff2-bcdf11b68cc3.png)

After:

![fixed](https://cloud.githubusercontent.com/assets/3050060/16625602/a9b635ee-43a5-11e6-9f9d-853137eb4e6b.png)
2016-07-06 19:13:08 -04:00
Steve Klabnik
8c3efd20e4 Rollup merge of #34667 - KaivoAnastetiks:fix/crate-documentation, r=Manishearth
Add a section about crate documentation.

Fixes #34329
?r @steveklabnik
2016-07-06 19:13:08 -04:00
Steve Klabnik
f8905e1e01 Rollup merge of #34664 - alexcrichton:bump, r=brson
Bump version to 1.12.0

Beta's now in the forge, let's start working on 1.12.0!
2016-07-06 19:13:08 -04:00
Steve Klabnik
26821a6f88 Rollup merge of #34636 - tshepang:shorten, r=GuillaumeGomez
doc: fix and shorten comment
2016-07-06 19:13:08 -04:00
Steve Klabnik
1b7bebf84d Rollup merge of #34626 - sylvestre:master, r=Manishearth
Fix typos
2016-07-06 19:13:07 -04:00
Steve Klabnik
80e5672f7e Rollup merge of #34625 - jaredmanning:patch-1, r=apasel422
Fix spacing in for loop enumeration example

Add a space between the comma and j in (i, j) to make it look nice.

This addresses my recent issue #34624.

😀
2016-07-06 19:13:07 -04:00
Steve Klabnik
04130595cc Rollup merge of #34621 - KaivoAnastetiks:fix/#33924, r=steveklabnik
Clarifies the meaning of the external mutability.
2016-07-06 19:13:07 -04:00
Steve Klabnik
2acce41d18 Rollup merge of #34619 - frewsxcv:patch-30, r=apasel422
Fix broken markdown link in README.
2016-07-06 19:13:07 -04:00
Steve Klabnik
05806aed66 Rollup merge of #34615 - rdotdk:master, r=Manishearth
update cargo doc link

updated proper link of cargo doc that contains details about list of options available in semantic versioninig for the dependencies section in Cargo.toml
2016-07-06 19:13:07 -04:00
Steve Klabnik
92c0ab01b1 Rollup merge of #34558 - GlenDC:master, r=alexcrichton
rustbuild: propagate bootstrap.py '--help' flag

Fixes #34534.
r? @alexcrichton
2016-07-06 19:13:06 -04:00
Steve Klabnik
dfc7da4dc4 Rollup merge of #34521 - llogiq:doc-fixes, r=steveklabnik
extend+improve HIR types documentation
2016-07-06 19:13:06 -04:00
Steve Klabnik
affbbc3e45 Rollup merge of #34327 - nrc:save-fix-tuple, r=jseyfried
save-analysis: fix a bug with tuple sub-expressions
2016-07-06 19:13:06 -04:00
Steve Klabnik
62bae0ad42 Rollup merge of #34277 - ollie27:docs_num, r=steveklabnik
Add/improve num const docs

This adds short summaries to all num consts.

r? @steveklabnik
2016-07-06 19:13:06 -04:00
Steve Klabnik
eef10e6cfc Rollup merge of #33265 - tshepang:peek, r=steveklabnik
doc: some `peek` improvements
2016-07-06 19:13:05 -04:00
Steve Klabnik
155f0ec5c9 Rollup merge of #33250 - durka:patch-19, r=steveklabnik
update documentation of tuple/unit structs

I made the "tuple structs are useless" editorializing a bit weaker and moved it to the end. Feel free to overrule me on that.

I also added an example of how to unpack a tuple struct with dot notation, because it came up on IRC.

`braced_empty_structs` is stable now, so I updated the example for unit-like structs to use that syntax. Should we show both ways?

cc @ubsan
r? @steveklabnik or @GuillaumeGomez
2016-07-06 19:13:05 -04:00
bors
801d2682df Auto merge of #34689 - alexcrichton:fix-nightlies, r=alexcrichton
First attempt to fix nightlies

This is just https://github.com/rust-lang/rust/pull/34669 but I added some comments so it can land.
2016-07-06 14:05:35 -07:00
Alex Crichton
01c4b64b1c etc: Comment why we're binding xrange
Just mention there are differences between python versions
2016-07-06 11:17:26 -07:00
Alex Crichton
ab216a96aa Merge branch 'master' of https://github.com/dzamlo/rust into fix-nightlies 2016-07-06 11:16:33 -07:00
bors
34c9cddc89 Auto merge of #34654 - jseyfried:configure_multi_modified, r=nrc
Perform `cfg` attribute processing on `MultiModifier`-generated items

Fixes https://users.rust-lang.org/t/unused-attribute-warning-for-custom-derive-attribute/6180.
r? @nrc
2016-07-06 11:13:48 -07:00
ggomez
b467c003c6 Remove invalid CSS rule for doc titles 2016-07-06 18:12:24 +02:00
bors
4114b68eba Auto merge of #34648 - eddyb:return-in-peace-pls, r=nagisa
Revert "Revert "Remove the return_address intrinsic.""

This reverts commit f698cd3a36.

Made possible by the merge of servo/servo#11872, this closes #34227 for good.
2016-07-06 06:26:37 -07:00
CensoredUsername
e32da12753 Correct inline assembly clobber formatting.
Fixes the formatting for inline assembly clobbers used in the book.
As this causes llvm to silently ignore the clobber an error is also
added to catch cases in which the wrong formatting was used.
Additionally a test case is added to confirm that this error works.
2016-07-06 15:02:49 +02:00
Eduard Burtescu
fe5ce97e32 Handle nested pairs in MIR trans. 2016-07-06 14:41:35 +03:00
bors
a120ae70d0 Auto merge of #34644 - infinity0:master, r=alexcrichton
Avoid redundant downloads when bootstrapping

If the local file is available, then verify it against the hash we just
downloaded, and if it matches then we don't need to download it again.
2016-07-06 03:30:47 -07:00