Commit Graph

5262 Commits

Author SHA1 Message Date
Brian Anderson 6d3dd0e48c Try harder still to generate fewer landing pads
Scopes that don't have cleanups don't need their own landing pads

This takes the optimized rustc bin from 4.7MB to 4.4
2011-09-13 16:52:12 -07:00
Brian Anderson b8e31ac469 Try a little harder to avoid creating new landing pads
It's only when we add or revoke cleanups involving immediates that we need a
new landing pad for the scope.

Trims 5K off the optimized rustc bin
2011-09-13 16:52:12 -07:00
Brian Anderson 74c39469be Reuse landing pads when possible
Cuts the optimized rustc bin from 5.2 to 4.7MB
2011-09-13 16:52:12 -07:00
Graydon Hoare e45c91135a Add a compile-stage2-under-perf step to "make perf" target. 2011-09-13 16:05:53 -07:00
Graydon Hoare d5b2d62b20 Add build-system mechanisms for running benchmarks under 'perf'. 2011-09-13 15:06:41 -07:00
Michael Sullivan c84b8e90b8 Print something when we can't figure out a tag name. Mitigates #876. 2011-09-13 13:14:49 -04:00
Marijn Haverbeke b9267e8fbc Add missing cases for machine floats in shape.rs 2011-09-13 17:46:28 +02:00
Marijn Haverbeke 577d6dd602 Improve lexing of float literals
Closes #575
2011-09-13 17:43:01 +02:00
Marijn Haverbeke f72573cce8 Properly pretty-print 10.x
Closes #890
2011-09-13 17:08:59 +02:00
Marijn Haverbeke e64e9792ab Make pretty-printer wrap fail/ret/put in parens in call/index/field pos
Closes #764
Closes #891
2011-09-13 17:02:36 +02:00
Marijn Haverbeke bc62b17543 Ensure that the declared type and actual type of a constant agree
Closes #899
2011-09-13 16:29:23 +02:00
Marijn Haverbeke be5537e95f Be more strict about what constitutes a block expression
Blocks (or statements involving blocks) that end in a semicolon are no
longer considered the block-expression of their outer block. This used
to be an expression block, but now is a statement block:

    { if foo { ret 1; } else { ret 10; } }

This helps clear up some ambiguities in our grammar.
2011-09-13 15:50:03 +02:00
Marijn Haverbeke e945164879 Always warn when implicitly copying a generic type 2011-09-13 13:40:38 +02:00
Marijn Haverbeke 38e86d708b Properly alias-check bindings in for-each loops 2011-09-13 13:34:08 +02:00
Marijn Haverbeke 45bdff01b2 Clean up copy bookkeeping in alias.rs 2011-09-13 13:23:32 +02:00
Marijn Haverbeke 2f402343c9 Make for loop alias-safe 2011-09-13 13:05:59 +02:00
Marijn Haverbeke 3e92f90952 Apply implicit copying for unsafe references to alt patterns 2011-09-13 12:23:36 +02:00
Graydon Hoare 7f94957721 Kill trailing whitespace. 2011-09-12 16:33:43 -07:00
Graydon Hoare a4815b6742 Factor imports mindlessly. 2011-09-12 16:13:28 -07:00
Graydon Hoare 71297a5e17 Remove redundant line. 2011-09-12 14:17:32 -07:00
Brian Anderson 393deeb06f Merge branch 'unwind'
Conflicts:
	src/comp/middle/trans.rs
	src/comp/middle/trans_build.rs
	src/lib/run_program.rs
	src/test/compiletest/runtest.rs
2011-09-12 09:36:51 -07:00
Marijn Haverbeke edde2e0c45 Undo some pretty-printer damage in ty.rs 2011-09-12 14:43:41 +02:00
Marijn Haverbeke 982a1a4783 Rename alias to reference in docs and error messages
Update docs to reflect new approach to aliases
2011-09-12 14:24:46 +02:00
Marijn Haverbeke bcf60c6600 Warn when inserting an implicit copy that may be expensive 2011-09-12 13:54:02 +02:00
Marijn Haverbeke 8dd46d4384 Properly implement copy expressions
(And use them in some places that were doing {expr} before.)
2011-09-12 13:13:20 +02:00
Marijn Haverbeke f4b6264f8c Remove backwards-compatibility with old arg-mode syntax 2011-09-12 12:49:00 +02:00
Marijn Haverbeke ca1df2b111 Pretty-print for new arg-mode syntax 2011-09-12 12:49:00 +02:00
Marijn Haverbeke 5bc424e4ea Register second snapshot for argument-mode transition 2011-09-12 12:49:00 +02:00
Marijn Haverbeke bfa021de0d Switch pretty-printer to new arg-mode syntax 2011-09-12 12:48:59 +02:00
Marijn Haverbeke 3667137a41 Accept {|| ... } for argument-less block syntax
Closes #880
2011-09-12 12:04:41 +02:00
Marijn Haverbeke fc6b7c8b38 Reformat for new mode syntax, step 1
Long lines were fixed in a very crude way, as I'll be following up
with another reformat in a bit.
2011-09-12 12:04:14 +02:00
Marijn Haverbeke 64a6376da5 Register new snapshot 2011-09-12 11:25:19 +02:00
Marijn Haverbeke 8b7909afd7 Fix tests for new argument-passing convention 2011-09-12 11:07:20 +02:00
Marijn Haverbeke 0e6e56ca60 Make the names of the arg mode tag reflect their (revised) meaning 2011-09-12 11:07:17 +02:00
Marijn Haverbeke 4be7e1e5cd Pass all arguments by reference, make immut alias mode equiv to value
Arguments that can't be safely referenced will be implicitly copied.

(Warnings for expensive copies will be forthcoming.)

This will allow us to get rid of most of the ampersands in function
signatures. See [1].

[1] https://mail.mozilla.org/pipermail/rust-dev/2011-September/000759.html
2011-09-12 11:06:54 +02:00
Brian Anderson 6ffcfba6b9 XFAIL bench/shootout-nbody
This is the only file in the whole codebase that depends on the (broken) llvm
native ABI.
2011-09-11 23:19:05 -07:00
Brian Anderson cb50e4329a Add an XFAILed test for native "llvm" modules
This functionality is completely broken
2011-09-11 23:14:42 -07:00
Brian Anderson fda196769a Actually fail the process when compiletest has a test failure
We previously failed by coincidence because of memory leaks.
2011-09-11 21:13:59 -07:00
Brian Anderson 69d6e0d208 Add some more unwind tests
They worked without modifications, but I wrote them so we're keeping them.

Issue #236
2011-09-11 17:31:41 -07:00
Brian Anderson e193c9c1d6 Don't check-fast xfail-win32 tests 2011-09-11 17:31:41 -07:00
Brian Anderson 7940382070 XFAIL run-pass/task-comm-15 on win32 again
Maybe it works with check-fast, but it stills fails for me
2011-09-11 17:31:41 -07:00
Brian Anderson be9fe24220 XFAIL some run-pass unwinding tests on win32
Curiously, because of some unfortunate interaction between win32 hacks, all the
run-fail unwind tests actually pass (that wouldn't be the case if we were
valgrinding though).
2011-09-11 17:31:40 -07:00
Brian Anderson d00be1d962 Add the ability to xfail tests by platform
We'll use this to xfail some unwinding tests on windows
2011-09-11 17:31:40 -07:00
Brian Anderson 22001d1dce Remove hack_allow_leaks
Happy to close the loop on this one.

Issue #236
2011-09-11 17:31:40 -07:00
Brian Anderson d267e7486e Zero locals when the initializer might call a function
The function might fail, leaving the local uninitialized

Issue #236
2011-09-11 17:31:40 -07:00
Brian Anderson 0ea55ffdc8 Use a unique exit status when the runtime fails normally
Check for it in run-fail tests
2011-09-11 17:31:40 -07:00
Brian Anderson 6f6f36172b Remove unused task_exit function
Issue #236
2011-09-11 17:31:40 -07:00
Brian Anderson 118194381c Invoke put functions
Issue #236
2011-09-11 17:31:40 -07:00
Brian Anderson 5b7145a9f4 Add an XFAILed test for failing destructors
Issue #236
2011-09-11 17:31:39 -07:00
Brian Anderson 53f7d6119a Add some FIXMEs about unwinding implementation
Issue #236
2011-09-11 17:31:39 -07:00