Michael Woerister
5b093ebab2
Make names of types used in LLVM IR stable.
...
Before this PR, type names could depend on the cratenum being used
for a given crate and also on the source location of closures.
Both are undesirable for incremental compilation where we cache
LLVM IR and don't want it to depend on formatting or in which
order crates are loaded.
2016-11-13 19:49:46 -05:00
bors
87b76a521d
Auto merge of #37701 - Mark-Simulacrum:macro-parser-impvement, r=jseyfried
...
Macro parser performance improvements and refactoring
This PR locally increased performance of https://github.com/rust-lang/rust/issues/37074 by ~6.6 minutes.
Follow up to https://github.com/rust-lang/rust/pull/37569 , but doesn't focus explicitly on expansion performance.
History is relatively clean, but I can/will do some more polishing if this is deemed mergeable. Partially posting this now so I can get Travis to run tests for me.
r? @jseyfried
2016-11-13 16:23:57 -08:00
Andy Russell
30f75e396a
do not use deprecated text for unstable docs
2016-11-13 19:00:56 -05:00
Guillaume Gomez
e4a9d834af
Uncomment some long error explanation
2016-11-14 00:39:14 +01:00
bors
3316ef7f36
Auto merge of #37743 - jedireza:patch-2, r=bluss
...
Minor grammar fix to ffi.md
2016-11-13 13:09:27 -08:00
A.J. Gardner
d3574b8dc7
Make LLVM debuginfo option names consistent
2016-11-13 12:38:10 -06:00
Angelo Polo
28548db57d
Improved punctuation, capitalization, and sentence structure of code snippet comments
2016-11-13 13:31:34 -05:00
A.J. Gardner
aea1a51561
Let rustbuild parse llvm debuginfo option
...
update_with_config_mk() needs to read the new llvm debuginfo config
option from config.mk. Other than that, rustbuild already supports
LLVM's RelWithDebInfo build type.
2016-11-13 12:27:57 -06:00
Corey Farwell
f53d062d42
Minor rewriting of std::path::Path::push
doc example.
2016-11-13 12:58:55 -05:00
bors
876b761010
Auto merge of #37753 - est31:master, r=petrochenkov
...
Fix empty lifetime list or one with trailing comma being rejected
Fixes #37733
2016-11-13 09:53:30 -08:00
est31
34f33ec789
Fix empty lifetime list or one with trailing comma being rejected
...
Fixes #37733
2016-11-13 17:55:17 +01:00
Ariel Ben-Yehuda
b8fc5120df
coherence: skip impls with an erroneous trait ref
...
Impls with a erroneous trait ref are already ignored in the first part
of coherence, so ignore them in the second part too. This avoids
cascading coherence errors when 1 impl of a trait has an error.
2016-11-13 18:54:39 +02:00
Jorge Aparicio
e7cae415ea
add cabi_msp430
2016-11-13 11:03:44 -05:00
bors
ea02f87daa
Auto merge of #37735 - Mark-Simulacrum:remove-e-macro, r=bluss
...
Remove macro work-around
`--stage 2` build succeeded.
2016-11-13 05:22:09 -08:00
bors
b6b98eaa40
Auto merge of #37728 - QuietMisdreavus:rustdoc-enum-struct, r=GuillaumeGomez
...
rustdoc: fold fields for enum struct variants into a docblock
Per discussion in #37500 , this PR updates the enum rendering code to wrap variants with named struct fields in a `docblock` span that is hidden automatically upon load of the page. This gives struct variant fields a clean separation from other enum variants, giving a boost to the readability of such documentation. Preview output is available [on the issue page](https://github.com/rust-lang/rust/issues/37500#issuecomment-260069269 ), but for the sake of completeness I'll include the images here again.
![rustdoc struct enum variant 4 part 1](https://cloud.githubusercontent.com/assets/5217170/20231925/96160b7e-a82a-11e6-945b-bbba95c5e4bc.PNG )
When you initially load the page, there's a line under variants with struct fields letting you know you can click to expand the listing.
![rustdoc struct enum variant 4 part 2](https://cloud.githubusercontent.com/assets/3050060/20232067/1dc63266-a866-11e6-9555-8fb1c8afdcec.png )
If you click to expand, the header and table unfold into a nicely-indented listing.
If you want to take a look in your own browser and screen size, [I've got this version hosted on my server](https://shiva.icesoldier.me/doctest/doctest/enum.OldTopicRemoval.html ).
Fixes #37500
r? @GuillaumeGomez
2016-11-12 22:36:49 -08:00
bors
8c2b0e6347
Auto merge of #37689 - eddyb:bktrc-pls, r=alexcrichton
...
Set `RUST_BACKTRACE=1` on travis to be more helpful.
2016-11-12 18:53:51 -08:00
Reza Akhavan
48b5192cf7
Minor grammar fix to ffi.md
2016-11-12 18:24:16 -08:00
A.J. Gardner
7a91d4a25b
Add llvm debuginfo configure option
2016-11-12 19:14:51 -06:00
Ulrik Sverdrup
c36edc7261
vec: Use less code bloat specialized Vec::from_iter
...
Vec::from_iter's general case allocates the vector up front;
this is redundant for the TrustedLen case, and can then be avoided
to reduce the size of the code.
2016-11-13 01:30:42 +01:00
bors
a277f9deb0
Auto merge of #37675 - arielb1:trans-closure, r=eddyb
...
Translate closures through the collector
Now that old trans is gone, there is no need for the hack of translating closures when they are instantiated. We can translate them like regular items.
r? @eddyb
2016-11-12 15:29:13 -08:00
Ulrik Sverdrup
2b3a37bd2e
Restore Vec::from_iter() specialization
...
Since I said "no intentional functional change" in the previous commit,
I guess it was inevitable there were unintentional changes. Not
functional, but optimization-wise. This restores the extend
specialization's use in Vec::from_iter.
2016-11-13 00:13:09 +01:00
Jorge Aparicio
a6a2477986
use write::run_assembler
2016-11-12 17:45:15 -05:00
Jorge Aparicio
fcde9904db
use msp430-as to emit object files from the assembly that LLVM emits
2016-11-12 17:33:35 -05:00
Jorge Aparicio
7b55936869
oops, forgot to commit a rustbuild related file
2016-11-12 17:33:35 -05:00
Jorge Aparicio
4f9f7b014e
also enable the MSP430 backend in Makefiles
2016-11-12 17:33:35 -05:00
Jorge Aparicio
30e5667607
fix #37673
2016-11-12 17:33:35 -05:00
Jorge Aparicio
f5a05adb25
enable the MSP430 LLVM backend
...
to let people experiment with this target out of tree.
The MSP430 architecture is used in 16-bit microcontrollers commonly used
in Digital Signal Processing applications.
2016-11-12 17:33:35 -05:00
Ariel Ben-Yehuda
d394e75ef6
address review comments
2016-11-12 23:20:25 +02:00
bors
fd983d02e1
Auto merge of #37611 - Mark-Simulacrum:tari-nodejs-runner-detect, r=alexcrichton
...
compile-test: allow overriding nodejs binary location
Add a command-line argument to manually specify which nodejs binary should be used,
which disables the default search.
Original work done by @tari.
Fixes #34188 .
2016-11-12 12:02:40 -08:00
QuietMisdreavus
fff921672f
rustdoc: fold fields for enum struct variants into a docblock
2016-11-12 13:59:17 -06:00
Mark-Simulacrum
8a06740a10
Remove macro work-around.
2016-11-12 12:47:13 -07:00
Alex Crichton
88b46460fa
rustc: Flag all builtins functions as hidden
...
When compiling compiler-rt you typically compile with `-fvisibility=hidden`
which to ensure that all symbols are hidden in shared objects and don't show up
in symbol tables. This is important for these intrinsics being linked in every
crate to ensure that we're not unnecessarily bloating the public ABI of Rust
crates.
This should help allow the compiler-builtins project with Rust-defined builtins
start landing in-tree as well.
2016-11-12 10:46:15 -08:00
Ariel Ben-Yehuda
57950982b2
rustc_trans: translate closures using the collector
...
Translate closures like normal functions, using the trans::collector
interface.
2016-11-12 20:08:03 +02:00
Ariel Ben-Yehuda
b6828fd1ac
rustc_typeck: register item types for closures
...
This makes them closer to actual items and allows for more
transparent treatment.
2016-11-12 19:57:23 +02:00
Ariel Ben-Yehuda
ca9b5664c3
rustc: move closure upvar types to the closure substs
...
This moves closures to the (DefId, Substs) scheme like all other items,
and saves a word from the size of TyS now that Substs is 2 words.
2016-11-12 19:00:50 +02:00
bors
026add5f06
Auto merge of #37531 - estebank:fix-ref-mut-mut, r=jonathandturner
...
Fix invalid "ref mut mut" sugestion
Change output from:
```nocode
error: cannot borrow immutable local variable `x` as mutable
--> <anon>:12:23
|
11 | TestEnum::Item(ref mut x) => {
| --------- use `ref mut mut x` here to make mutable
12 | test(&mut x);
| ^ cannot borrow mutably
```
to
```nocode
error: cannot borrow immutable local variable `x` as mutable
--> <anon>:12:23
|
12 | test(&mut x);
| ^
| |
| cannot reborrow mutably
| try removing `&mut` here
```
Fixes #37139 , #34337 , #34126
2016-11-12 08:41:30 -08:00
Mark-Simulacrum
2189f573ca
Remove extra level of nesting.
2016-11-12 07:41:47 -07:00
Mark-Simulacrum
38912ee3d4
Move next_eis out of main loop to avoid re-allocating and dropping it.
2016-11-12 07:41:26 -07:00
Mark-Simulacrum
6046595e34
Use SmallVector for eof and bb eis.
2016-11-12 06:45:06 -07:00
Mark-Simulacrum
b8d6686ef3
Factor out inner current Earley item loop.
...
Change multiple functions to be non-public.
Change nameize to accept an iterator so as to avoid an allocation.
2016-11-12 06:42:40 -07:00
Mark-Simulacrum
27c09864bd
Refactor parse_nt.
2016-11-12 06:42:40 -07:00
Mark-Simulacrum
68abb24e8d
Factor out NamedParseResult.
2016-11-12 06:42:40 -07:00
Mark-Simulacrum
eef10d0b5b
Clean up extraneous &mut.
2016-11-12 06:42:40 -07:00
Mark-Simulacrum
c9e6089d29
Refactor to extending from a drain instead of while looping.
2016-11-12 06:42:40 -07:00
Mark-Simulacrum
7221b07a07
Remove unused argument from nameize.
...
Also makes nameize non-public since it's only locally used.
2016-11-12 06:42:40 -07:00
Mark-Simulacrum
568874bc10
Cleanup macro_parser::parse, removing a few clones.
2016-11-12 06:42:40 -07:00
bors
acce384c22
Auto merge of #37554 - mikhail-m1:dnlle, r=jonathandturner
...
Improve "Doesn't live long enough" error
case with temporary variable
issue #36279 part of #35233
r? @jonathandturner
2016-11-12 05:20:56 -08:00
Eduard Burtescu
0268cfaa1f
Set RUST_BACKTRACE=1
on travis to be more helpful.
2016-11-12 14:30:28 +02:00
bors
f3af8c8505
Auto merge of #37730 - eddyb:rollup, r=eddyb
...
Rollup of 30 pull requests
- Successful merges: #37190 , #37368 , #37481 , #37503 , #37527 , #37535 , #37551 , #37584 , #37600 , #37613 , #37615 , #37659 , #37662 , #37669 , #37682 , #37688 , #37690 , #37692 , #37693 , #37694 , #37695 , #37696 , #37698 , #37699 , #37705 , #37708 , #37709 , #37716 , #37724 , #37727
- Failed merges: #37640 , #37689 , #37717
2016-11-12 00:39:50 -08:00
Eduard-Mihai Burtescu
5dcf0e87c8
Rollup merge of #37727 - GuillaumeGomez:invalid_src, r=eddyb
...
Fix invalid src url
Fixes #37684 .
Thanks to @eddyb's help.
r? @eddyb
2016-11-12 10:38:45 +02:00