Commit Graph

57037 Commits

Author SHA1 Message Date
Eduard Burtescu
221d1a97e5 serialize: allow specifying the default behavior for specializations. 2016-09-20 20:08:06 +03:00
Eduard Burtescu
b01d4891e2 rustc: don't recurse through nested items in decoded HIR fragments. 2016-09-20 20:08:06 +03:00
Eduard Burtescu
f2283a7be0 rustc_metadata: fix for the new ? ambiguity around collect. 2016-09-20 20:08:06 +03:00
Eduard Burtescu
dadbaa48ac rustc_metadata: move opt_item_name to TyCtxt::item_name. 2016-09-20 20:08:06 +03:00
Eduard Burtescu
dc26a23301 rustc_metadata: reduce Lazy{,Seq} overhead by using a relative encoding. 2016-09-20 20:08:05 +03:00
Eduard Burtescu
a96abca2a4 rustc_metadata: replace RBML with a simple and type-safe scheme. 2016-09-20 20:08:05 +03:00
Eduard Burtescu
24aef24e1a rustc_metadata: split the Def description of a DefId from item_children. 2016-09-20 20:08:05 +03:00
Eduard Burtescu
adddfccf2b rustc_metadata: move all encoding/decoding helpers to methods. 2016-09-20 20:08:05 +03:00
Eduard Burtescu
6890354f3b rustc_metadata: use the shorthand encoding for predicates also. 2016-09-20 20:08:04 +03:00
Eduard Burtescu
cc47dc5c6e rustc_metadata: store dense indexes in little-endian instead of big. 2016-09-20 20:08:04 +03:00
Eduard Burtescu
ef4352fba6 rustc_metadata: group information into less tags. 2016-09-20 20:08:04 +03:00
Eduard Burtescu
6742b239ac rustc_metadata: remove all unnecessary tables from astencode. 2016-09-20 20:08:03 +03:00
Eduard Burtescu
d2ea3daad1 rustc_metadata: group the tags into root tags and item tags. 2016-09-20 20:08:03 +03:00
Eduard Burtescu
89736e8671 rustc: remove ImplOrTraitItemId and TraitDef's associated_type_names. 2016-09-20 20:08:03 +03:00
Eduard Burtescu
8734aaa33e rustc_metadata: move more RBML tags to auto-serialization. 2016-09-20 20:08:02 +03:00
Eduard Burtescu
88c5679c4e rustc_metadata: remove ty{en,de}code and move to auto-derived serialization. 2016-09-20 20:08:01 +03:00
Eduard Burtescu
bcbb4107a1 rustc_metadata: side-step ty{en,de}code for everything but Ty. 2016-09-20 20:08:01 +03:00
Eduard Burtescu
0863012fb9 Remove librbml and the RBML-tagged auto-encoder/decoder. 2016-09-20 20:08:01 +03:00
Eduard Burtescu
2ce0e6d4e7 rustc_trans: use the TypeId hashing mechanism instead of metadata. 2016-09-20 20:08:00 +03:00
Eduard Burtescu
02c4155d2c rustc: remove hir::fold. 2016-09-20 20:08:00 +03:00
Eduard Burtescu
ed593bed88 rustc_metadata: go back to not using the opaque format. 2016-09-20 20:08:00 +03:00
Eduard Burtescu
903ec52ba9 rustc: replace uses of NodeId in Def, other than closures and labels. 2016-09-20 20:08:00 +03:00
Eduard Burtescu
fc363cb482 rustc_metadata: go only through rustc_serialize in astencode. 2016-09-20 20:07:54 +03:00
Eduard Burtescu
91e7239db4 rustc_metadata: combine DecodeContext and rbml::reader::Decoder. 2016-09-20 20:07:16 +03:00
Eduard Burtescu
97864d41a6 rustc_metadata: encode miscellaneous information opaquely. 2016-09-20 19:21:33 +03:00
Eduard Burtescu
3cbe4b8bce rustc_metadata: sign-extend when decoding signed integers. 2016-09-20 19:21:33 +03:00
Eduard Burtescu
d47fd9eb5a rustc_metadata: use specialization for {en,de}coding Ty and Substs. 2016-09-20 19:21:33 +03:00
Eduard Burtescu
82197287a2 rustc_metadata: combine EncodeContext and rbml::writer::Encoder. 2016-09-20 19:21:33 +03:00
Eduard Burtescu
7b073343db rustc_metadata: remove astencode tests. 2016-09-20 19:21:33 +03:00
Eduard Burtescu
78ace66b6a rustc_metadata: remove extension traits from astencode. 2016-09-20 19:21:33 +03:00
Eduard Burtescu
87db6b9e65 rustc_metadata: remove redundant lifetimes from astencode::DecodeContext. 2016-09-20 19:21:33 +03:00
Eduard Burtescu
3ad8aa6b87 rbml: move the tagged encoder/decoder to librustc_metadata. 2016-09-20 19:21:33 +03:00
Eduard Burtescu
a79104e0c6 serialize: extend with specialization-based encoding/decoding multi-dispatch. 2016-09-20 19:21:33 +03:00
bors
2c2552b712 Auto merge of #36445 - infinity0:master, r=brson
mk: add a all-no-docs target to build everything except docs

This makes things slightly more efficient for Debian's auto-builders where the
docs can be built on just one architecture, and distributed to users of all
other architectures as well.
2016-09-20 01:24:54 -07:00
bors
cbd84aeb73 Auto merge of #34942 - porglezomp:master, r=sfackler
Fix overflow checking in unsigned pow()

The pow() method for unsigned integers produced 0 instead of trapping overflow for certain inputs. Calls such as 2u32.pow(1024) produced 0 when they should trap an overflow. This also adds tests for the correctly handling overflow in unsigned pow().

This was previously fixed for signed integers in #28248, but it seems unsigned integers got missed that time.

For issue number #34913
2016-09-19 19:03:52 -07:00
bors
e0547019eb Auto merge of #36102 - GuillaumeGomez:rustc_metadata_diagnostics, r=jonathandturner
Rustc metadata diagnostics

r? @jonathandturner
2016-09-19 13:23:12 -07:00
bors
412a637704 Auto merge of #36471 - nnethercote:rm-to_binop, r=sanxiyn
Remove unused Token::to_binop function

Just some dead code removal.
2016-09-19 08:32:05 -07:00
bors
5f6f838448 Auto merge of #36545 - Cobrand:wild-print-fix, r=sfackler
Remove stray println! when invoking error E0316

Removed a wild println! statement that has been here for over a year and a half.

Closes #36543
2016-09-18 21:01:49 -07:00
bors
bfac5d6d9f Auto merge of #36523 - Mark-Simulacrum:format-args-link, r=GuillaumeGomez
Add links between format_args! macro and std::fmt::Arguments struct

r? @GuillaumeGomez
2016-09-18 17:25:01 -07:00
bors
55bf6a4f87 Auto merge of #36487 - nrc:save-doc-urls, r=@eddyb
save-analysis: better 'parent' info

In particular, this fixes some bugs displaying doc URLs for method calls.
2016-09-18 14:00:02 -07:00
Nick Cameron
48e69e029b save-analysis: better 'parent' info
In particular, this fixes some bugs displaying doc URLs for method calls.
2016-09-19 07:17:49 +12:00
bors
33927757ae Auto merge of #36390 - frewsxcv:panic-set-hook, r=GuillaumeGomez
Add basic doc examples for `std::panic::{set_hook, take_hook}`.

None
2016-09-18 10:34:48 -07:00
Corey Farwell
5505ebc31d Add basic doc examples for std::panic::{set_hook, take_hook}. 2016-09-18 10:03:34 -04:00
bors
22d15eaca9 Auto merge of #36555 - jseyfried:issue_36540, r=eddyb
Visit and fold macro invocations in the same order

Fixes #36540.
r? @nrc
2016-09-18 04:11:51 -07:00
bors
f39039e6e5 Auto merge of #36527 - nnethercote:last_token_kind, r=jseyfried
Optimize the parser's last token handling.

The parser currently makes a heap copy of the last token in four cases:
identifiers, paths, doc comments, and commas. The identifier and
interpolation cases are unused, and for doc comments and commas we only
need to record their presence, not their value.

This commit consolidates the last token handling and avoids the
unnecessary copies by replacing `last_token`, `last_token_eof`, and
`last_token_interpolated` with a new field `last_token_kind`. This
simplifies the parser slightly and speeds up parsing on some files by
3--4%.
2016-09-18 00:48:51 -07:00
bors
0b03ba1f55 Auto merge of #36502 - TimNN:correct-cancel, r=jseyfried
correctly cancel some errors

Fixes #36499.

I also (proactively) changed all other calls in `parser.rs` to use `Handler::cancel`.
2016-09-17 20:57:05 -07:00
bors
d37e54b419 Auto merge of #36504 - pcwalton:and-star, r=eddyb
librustc_mir: Remove `&*x` when `x` has a reference type.

This introduces a new `InstCombine` pass for us to place such peephole
optimizations.

r? @eddyb
2016-09-17 17:30:22 -07:00
Jeffrey Seyfried
c7e4ae0d8d Add regression test. 2016-09-17 23:40:17 +00:00
Jeffrey Seyfried
2cee9ec3b3 Ensure that macro invocations are folded and visited the same order. 2016-09-17 23:40:15 +00:00
bors
32571c05c8 Auto merge of #36508 - nagisa:llvm-backport, r=eddyb
Up the LLVM

Fixes #36474

The relevant patch to rust-llvm is at https://github.com/rust-lang/llvm/pull/51

r? @alexcrichton
2016-09-17 12:02:34 -07:00