340 Commits

Author SHA1 Message Date
Brian Anderson
07771ec25b Fix run-fail/spawnfail
Catch the case where a parent is killed immediately before it terminates
normally.
2011-11-11 14:20:00 -08:00
Marijn Haverbeke
5945667b99 Update some more tests for 1a68a9882 2011-11-03 11:14:48 +01:00
Marijn Haverbeke
3397fa4701 Move to short kind kinds words in test suite
Issue #1076
2011-10-28 14:57:49 +02:00
Marijn Haverbeke
013107a25c Properly take mutable object fields into account during alias analysis
Closes #1055
2011-10-25 17:57:26 +02:00
Marijn Haverbeke
cfdf193c46 Update our code to new type parameter kind syntax
Closes #1067
2011-10-25 15:56:55 +02:00
Marijn Haverbeke
3b5b93221e Remove some semicolons after block calls
The remaining ones can be removed after the next snapshot. (Or
we can let the next pretty-print pass take care of them.)
2011-10-21 14:24:42 +02:00
Marijn Haverbeke
050170d2af Remove remaining uses of iter and for-each
Issue #1056
2011-10-21 13:34:35 +02:00
Brian Anderson
ebc61e39d7 Remove temporary fn# syntax 2011-10-20 20:34:04 -07:00
Brian Anderson
686d6a485f Drop the 2 from the spawn*2 functions
Issue #1022
2011-10-20 18:23:47 -07:00
Brian Anderson
ac671c3172 Convert tests to use bare-fn spawn
Issue #1022
2011-10-20 18:23:47 -07:00
Marijn Haverbeke
33167f7dec Adjust function signatures to allow for vecs being immediate
Some code was relying on vectors being implicitly by-reference (as
non-immediate value). This adds the necessary &&-sigils.

Closes #1021
2011-10-10 16:01:51 +02:00
Brian Anderson
b5bb42acfb XFAIL run-fail/linked-failure4. Deadlocks on mac 2011-10-03 14:46:52 -07:00
Brian Anderson
98db2febd3 Handle ~fail. Closes #968 2011-09-24 23:52:22 -07:00
Brian Anderson
68512f2d9d Actually use unique boxes in run-fail/unwind-unique 2011-09-23 15:23:44 -07:00
Brian Anderson
18b01d5cfe Create a bunch of test cases for unique boxes by copying box tests
XFAIL the ones that don't work

Issue #409
2011-09-23 15:15:30 -07:00
Brian Anderson
5ab0840353 XFAIL spawnfail and task-comm-15 2011-09-22 11:06:26 -07:00
Brian Anderson
92af552956 Add an unwind test for failure during unique box construction 2011-09-21 14:45:08 -07:00
Brian Anderson
956bc69330 Add more unwind tests for failure during construction of allocated things 2011-09-21 14:14:17 -07:00
Jesse Ruderman
f7b67944cd Add another testcase for #910 2011-09-20 20:00:34 -07:00
Brian Anderson
a609da7c15 Rehabilitate run-fail/trivial-message2 2011-09-20 11:59:51 -07:00
Brian Anderson
12d7363469 Remove a bogus comment from run-fail/spawnfail 2011-09-20 11:51:15 -07:00
Brian Anderson
c6d460d4e3 Rehabilitate task-comm-14 2011-09-20 11:47:22 -07:00
Brian Anderson
564bdacece Add an assert to run-fail/unwind-alt
Jesse reported not being able to reproduce this without the assert. May have
to do with optimtizations.
2011-09-20 11:26:01 -07:00
Brian Anderson
870117f44e Zero locals that are inited via alt expressions. Closes #945 2011-09-20 10:28:16 -07:00
Brian Anderson
91d8e69621 Un-xfail various tests 2011-09-19 18:55:26 -07:00
Brian Anderson
7c6630a367 Build tuples in two phases to avoid cleaning up partial tuples 2011-09-19 17:59:53 -07:00
Brian Anderson
9626e2f71f Register tuple cleanups after the tuple is built
Issue #936
2011-09-19 17:59:47 -07:00
Brian Anderson
dd1cf63515 Build records in two phases to avoid cleanups on partial records 2011-09-19 14:28:04 -07:00
Brian Anderson
432e931a2a Don't register record cleanups until the record is built 2011-09-19 14:28:04 -07:00
Brian Anderson
1002623201 Make move-mode arguments unwind correctly. Closes #939 2011-09-16 14:38:04 -07:00
Marijn Haverbeke
7298b8f4ba Insert omitted semicolons for statements 2011-09-15 09:49:00 +02:00
Brian Anderson
a0ad9a42cd Unsupervise tasks before the scheduler kills them. Unblock before yield->fail 2011-09-14 17:05:35 -07:00
Brian Anderson
103197bc42 Make failure propagation to dead parents work
The failure will basically go 'through' the dead parent and continue
propagating the failure (as if the child was reparented).
2011-09-14 15:48:14 -07:00
Brian Anderson
9505d70513 Make linked task failure work again 2011-09-14 14:20:41 -07:00
Brian Anderson
ad2bdbee08 Add another XFAILed test for failing destructors 2011-09-14 10:59:17 -07:00
Brian Anderson
ca0d3cae5c Add another unwind test
This makes sure that cleanups added after the first invoke in a scope are
actually run on unwind
2011-09-14 09:21:28 -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
ca1df2b111 Pretty-print for new arg-mode syntax 2011-09-12 12:49:00 +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
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
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
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
e8a16353ea Remove the no-valgrind test directive now that unwinding is more worky
Issue #236
2011-09-11 17:31:39 -07:00
Brian Anderson
a7c9f817bb XFAIL run-fail/linked-failure
This test is hitting a bug in the runtime that makes it fail incorrectly and
not valgrind-clean
2011-09-11 17:31:39 -07:00
Brian Anderson
f28bbb2f95 Begin valgrinding some run-fail tests that unwind correctly
Issue #236
2011-09-11 17:31:39 -07:00
Brian Anderson
f99cf2d62f Add a number of unwinding tests
Issue #236
2011-09-11 17:31:39 -07:00
Brian Anderson
4fba02c7e9 Invoke upcall_fail
This allows landing pads to be generated around fail statements

Issue #236
2011-09-11 17:31:38 -07:00
Brian Anderson
4c9eee8aa4 Run cleanups during unwinding
Issue #236
2011-09-11 17:31:38 -07:00
Brian Anderson
c337fd5467 Child tasks take a ref to their parents
This is so that when a child dies after the parent, it still holds a valid
pointer and can call supervisor->kill() safely.
2011-09-07 10:32:58 -07:00