Commit graph

30832 commits

Author SHA1 Message Date
bors
915fb2b39c auto merge of #15884 : steveklabnik/rust/guide_fix_headings, r=huonw
I screwed this up a while back, and now that I have no outstanding PRs, it's a good time to fix this.
2014-07-22 12:31:13 +00:00
bors
bfcde309e7 auto merge of #15876 : brson/rust/failfat, r=pcwalton
Adds a new runtime unwinding function that encapsulates the printing of the words "explicit failure" when `fail!()` is called w/o arguments.

The before/after optimized assembly:



```
        leaq    "str\"str\"(1412)"(%rip), %rax
        movq    %rax, 24(%rsp)
        movq    $16, 32(%rsp)
        leaq    "str\"str\"(1413)"(%rip), %rax
        movq    %rax, 8(%rsp)
        movq    $19, 16(%rsp)
        leaq    24(%rsp), %rdi
        leaq    8(%rsp), %rsi
        movl    $11, %edx
        callq   _ZN6unwind12begin_unwind21h15836560661922107792E
```

```
        leaq    "str\"str\"(1369)"(%rip), %rax
        movq    %rax, 8(%rsp)
        movq    $19, 16(%rsp)
        leaq    8(%rsp), %rdi
        movl    $11, %esi
        callq   _ZN6unwind31begin_unwind_no_time_to_explain20hd1c720cdde6a116480dE@PLT
```

Before/after filesizes:

rwxrwxr-x 1 brian brian 21479503 Jul 20 22:09 stage2-old/lib/librustc-4e7c5e5c.so
rwxrwxr-x 1 brian brian 21475415 Jul 20 22:30 x86_64-unknown-linux-gnu/stage2/lib/librustc-4e7c5e5c.so

This is the lowest-hanging fruit in the fail-bloat wars. Further fixes are going to require harder tradeoffs.

r? @pcwalton
2014-07-22 10:46:16 +00:00
bors
62f1bb047b auto merge of #15871 : dotdash/rust/unnamed_fmtstr, r=pcwalton 2014-07-22 09:01:17 +00:00
bors
8d43e4474a auto merge of #15867 : cmr/rust/rewrite-lexer4, r=alexcrichton 2014-07-22 07:16:17 +00:00
Corey Richardson
95a1ce6f3f Fix pretty test 2014-07-21 22:53:36 -07:00
bors
32f4d996ea auto merge of #15870 : jakub-/rust/issue-15793, r=alexcrichton
Fixes #15793.
2014-07-22 05:21:19 +00:00
Corey Richardson
857bb60fe0 Don't run lexer tests by default 2014-07-21 19:26:20 -07:00
bors
6e3e0a83aa auto merge of #15834 : Kimundi/rust/moved_syntax_env, r=cmr
- Made custom syntax extensions capable of expanding custom macros by moving `SyntaxEnv` into `ExtCtx`
- Added convenience method on `ExtCtx` for getting a macro expander.
- Made a few things private to force only a single way to use them (through `ExtCtx`)
- Removed some ancient commented-out code

Closes #14946
2014-07-22 02:06:21 +00:00
Corey Richardson
35c0bf3292 Add a ton of ignore-lexer-test 2014-07-21 18:38:40 -07:00
Corey Richardson
c41a7dfcc7 Shuffle around check-lexer conditions 2014-07-21 18:38:40 -07:00
Corey Richardson
dd3afb42d1 Break apart long lines in verify.rs 2014-07-21 18:37:17 -07:00
Corey Richardson
cbd6799110 lexer tests: makefile/configure 2014-07-21 18:37:17 -07:00
bors
aa0e35bc64 auto merge of #15217 : steveklabnik/rust/range, r=huonw
Inspired by http://www.reddit.com/r/rust/comments/298js2/what_is_the_rationale_behind_the_second_parameter/
2014-07-22 00:26:21 +00:00
Steve Klabnik
1e9f86b1dc Guide: fix headings 2014-07-21 19:39:16 -04:00
Steve Klabnik
ba769d833f Clarify range's exclusivity.
Inspired by http://www.reddit.com/r/rust/comments/298js2/what_is_the_rationale_behind_the_second_parameter/
2014-07-21 19:18:56 -04:00
Marvin Löbel
cef4378269 Refactoring: Only use MacroExpander for expanding outside of
`syntax::ext::expand`
2014-07-22 01:00:03 +02:00
Marvin Löbel
94d92e6830 Moved syntax::ext::base::SyntaxEnv into syntax::ext::base::ExtCtx 2014-07-21 23:45:23 +02:00
Jakub Wieczorek
febfb752d2 Update LLVM to address an issue with range metadata in hoisted loads
Fixes #15793.
2014-07-21 22:52:49 +02:00
Brian Anderson
c61f9763e2 Use fewer instructions for fail!
Adds a special-case fail function, rustrt::unwind::begin_unwind_no_time_to_explain,
that encapsulates the printing of the words "explicit failure".

The before/after optimized assembly:

```
        leaq    "str\"str\"(1369)"(%rip), %rax
        movq    %rax, 8(%rsp)
        movq    $19, 16(%rsp)
        leaq    8(%rsp), %rdi
        movl    $11, %esi
        callq   _ZN6unwind31begin_unwind_no_time_to_explain20hd1c720cdde6a116480dE@PLT
```

```
        leaq    "str\"str\"(1412)"(%rip), %rax
        movq    %rax, 24(%rsp)
        movq    $16, 32(%rsp)
        leaq    "str\"str\"(1413)"(%rip), %rax
        movq    %rax, 8(%rsp)
        movq    $19, 16(%rsp)
        leaq    24(%rsp), %rdi
        leaq    8(%rsp), %rsi
        movl    $11, %edx
        callq   _ZN6unwind12begin_unwind21h15836560661922107792E
```

Before/after filesizes:

rwxrwxr-x 1 brian brian 21479503 Jul 20 22:09 stage2-old/lib/librustc-4e7c5e5c.so
rwxrwxr-x 1 brian brian 21475415 Jul 20 22:30 x86_64-unknown-linux-gnu/stage2/lib/librustc-4e7c5e5c.so
2014-07-21 13:50:12 -07:00
bors
428d814a7d auto merge of #15700 : jakub-/rust/match-fail-removal, r=pcwalton
It's an artifact of the old refutable version of `match` and is no longer necessary.
2014-07-21 20:41:18 +00:00
Björn Steinbrink
1654f08e03 Allow merging of statics generated by format!() 2014-07-21 21:52:37 +02:00
bors
df68c6f3c3 auto merge of #15864 : alexcrichton/rust/rollup, r=alexcrichton 2014-07-21 18:46:46 +00:00
Corey Richardson
188d889aaf ignore-lexer-test to broken files and remove some tray hyphens
I blame @ChrisMorgan for the hyphens.
2014-07-21 10:59:58 -07:00
Corey Richardson
f8fd32ef9d Byte/raw binary literal fixes 2014-07-21 10:59:58 -07:00
Corey Richardson
9fc5cf902f Refine the tooling, handle comments 2014-07-21 10:59:58 -07:00
Corey Richardson
76a1552021 First pass at line comment correctness 2014-07-21 10:59:57 -07:00
Corey Richardson
1a1a9d5445 Add raw string literal ambiguity document 2014-07-21 10:59:57 -07:00
Corey Richardson
19e1f5cdb6 Lexer; subtly wrong; no makefile 2014-07-21 10:59:57 -07:00
Alex Crichton
414862db3c Test fixes from the rollup
Closes #15690 (Guide: improve error handling)
Closes #15729 (Guide: guessing game)
Closes #15751 (repair macro docs)
Closes #15766 (rustc: Print a smaller hash on -v)
Closes #15815 (Add unit test for rlibc)
Closes #15820 (Minor refactoring and features in rustc driver for embedders)
Closes #15822 (rustdoc: Add an --extern flag analagous to rustc's)
Closes #15824 (Document Deque trait and bitv.)
Closes #15832 (syntax: Join consecutive string literals in format strings together)
Closes #15837 (Update LLVM to include NullCheckElimination pass)
Closes #15841 (Rename to_str to to_string)
Closes #15847 (Purge #[!resolve_unexported] from the compiler)
Closes #15848 (privacy: Add publically-reexported foreign item to exported item set)
Closes #15849 (fix string in from_utf8_lossy_100_multibyte benchmark)
Closes #15850 (Get rid of few warnings in tests)
Closes #15852 (Clarify the std::vec::Vec::with_capacity docs)
2014-07-21 10:18:17 -07:00
P1start
37bb6ed302 Clarify the std::vec::Vec docs regarding capacity 2014-07-21 09:55:08 -07:00
Piotr Jawniak
36e1f2db30 Get rid of few warnings in tests 2014-07-21 09:55:04 -07:00
Ted Horst
dfacef532d fix string in from_utf8_lossy_100_multibyte benchmark 2014-07-21 09:55:02 -07:00
Kiet Tran
6807349e8f privacy: Add publically-reexported foreign item to exported item set
Close #15740
2014-07-21 09:54:59 -07:00
Steven Fackler
2daa097077 Don't create reexport module if there are none 2014-07-21 09:54:55 -07:00
Steven Fackler
6531d02b79 Purge !resolve_unexported 2014-07-21 09:54:55 -07:00
Steven Fackler
d27918ac7c Restructure test harness
We now build up a set of modules that reexport everything the test
framework needs, instead of turning off privacy.
2014-07-21 09:54:55 -07:00
Steven Fackler
456884b7a0 Remove useless RefCells 2014-07-21 09:54:55 -07:00
Steven Fackler
2e24ef377e Rename to_str to to_string
Closes #15796.

[breaking-change]
2014-07-21 09:54:52 -07:00
Björn Steinbrink
e3887a7766 Update LLVM to include NullCheckElimination pass
Fixes #11751
2014-07-21 09:54:50 -07:00
root
0e1880d8fe syntax: Join consecutive string literals in format strings together
Emit a single rt::Piece per consecutive string literals. String literals
are split on {{ or }} escapes.

Saves a small amount of static storage and emitted code size.
2014-07-21 09:54:35 -07:00
Jonas Hietala
2357c443e0 Simplify and cleanup bitv examples. 2014-07-21 09:54:31 -07:00
Jonas Hietala
2957644e08 Describe BitPositions and TwoBitPositions. 2014-07-21 09:54:31 -07:00
Jonas Hietala
e68333a689 Polish bitv docs. 2014-07-21 09:54:31 -07:00
Jonas Hietala
71afdc4323 Enclose None as None. 2014-07-21 09:54:31 -07:00
Jonas Hietala
4574b2fbaa Main bitv example: prime sieve. 2014-07-21 09:54:31 -07:00
Jonas Hietala
26047f15e5 Move intersection above difference and symmetric_differance.
So all comes in the order union, intersection, difference and
symmetric_difference.
2014-07-21 09:54:31 -07:00
Jonas Hietala
b05f6050b6 Document BitvSet. 2014-07-21 09:54:31 -07:00
Jonas Hietala
681aa58214 Document Bitv. 2014-07-21 09:54:31 -07:00
Jonas Hietala
f4d9dca10d Group union, intersect and difference in Bitv. 2014-07-21 09:54:31 -07:00
Jonas Hietala
2e40078fc3 Place union as the first function, for consistency. 2014-07-21 09:54:31 -07:00