Brian Anderson
f1e348ce6a
Change the exit status used for valgrind errors and check for it in tests
2011-09-11 17:31:37 -07:00
Brian Anderson
a1131748c2
Add a waitpid wrapper to std::run that interprets the exit status on unix
...
This makes the result of running a program a little more uniform between unix
and windows
2011-09-11 17:31:34 -07:00
Jesse Ruderman
476bbca87a
Fuzzer: move tys around in addition to exprs
2011-09-10 18:55:09 -07:00
Jesse Ruderman
8df7c2b0d4
Fuzzer: first steps of making steal_exprs more generic
2011-09-10 14:51:33 -07:00
Jesse Ruderman
cdf30c2b29
ivec_fuzz: use vec::reversed
2011-09-10 12:12:44 -07:00
Jesse Ruderman
9245228f94
ivec_fuzz: remove obsolete comments
2011-09-10 12:03:13 -07:00
Jesse Ruderman
fe4227df04
ivec_fuzz: require shared types, because that's what vec::slide requires
2011-09-10 12:02:24 -07:00
Jesse Ruderman
5ef27245b1
Fuzzer: Refactor check_whole_compiler so it doesn't halt the fuzzer when it finds a bug.
2011-09-10 00:51:07 -07:00
Jesse Ruderman
8e1902f30f
Fuzzer: update lists of known bugs
2011-09-09 22:31:26 -07:00
Jesse Ruderman
7182054416
Add missing arm, so pretty-printing the statement 'copy 1;' does not die.
2011-09-09 21:27:07 -07:00
Jesse Ruderman
8e00161819
Make the pretty printer disambiguatae blocks followed by vec expressions.
...
Semicolons are needed here now that postfix [] is used for vec indexing (the syntax change made in rev 518dc52f85
).
2011-09-09 19:47:40 -07:00
Jesse Ruderman
ce432d4cf9
Fuzzer: remove exclusions for some issues that have been fixed
2011-09-09 17:31:08 -07:00
Marijn Haverbeke
db15591d89
Revert "Make for loops alias the vec elements, rather than copy them"
...
This reverts commit 985ef59efd
.
2011-09-09 16:53:45 +02:00
Marijn Haverbeke
3ac59b0ee0
Get rid of vp2i in object field access
...
Closes #557
2011-09-09 15:53:10 +02:00
Marijn Haverbeke
985ef59efd
Make for loops alias the vec elements, rather than copy them
...
The alias analysis was already assuming that it worked like this.
2011-09-09 15:34:13 +02:00
Marijn Haverbeke
0eb56e60d2
Get rid of trans::iter_sequence, use tvec::iter_vec instead
2011-09-09 15:06:06 +02:00
Marijn Haverbeke
9fb3ec95e0
Use a Phi node in trans_vec::iter_vec_raw
...
Rather than incrementing a spilled pointer
2011-09-09 14:20:15 +02:00
Marijn Haverbeke
139b1d1b31
Get rid of some unused upcalls
...
I guess these became obsolete when the communication stuff moved into
the stdlib.
2011-09-09 14:02:07 +02:00
Marijn Haverbeke
bd2ec03771
Remove unused logging upcalls from runtime
2011-09-09 13:55:43 +02:00
Marijn Haverbeke
e57435f68b
Don't put 0-length array in the lltype of an arg-less variant
...
This seems to confuse LLVM in some very specific situations.
Closes #883
2011-09-09 13:51:15 +02:00
Marijn Haverbeke
b6e6f8b810
Fix scope issue in resolution of alt-arm patterns
...
Closes #885
2011-09-09 12:13:18 +02:00
Patrick Walton
87c6416d0c
rt: Don't double-print commas when logging e.g. a vec of boxes
2011-09-08 13:24:21 -07:00
Graydon Hoare
a10a6daba3
Merge pull request #867 from paulstansifer/master
...
update docs to reflect the current state of syntax extension and macros
2011-09-08 10:53:49 -07:00
Patrick Walton
fb9ab95a15
rustc: When revoking a cleanup of a unique pointer, zero it out so that the GC won't try to visit it
2011-09-08 10:24:25 +02:00
Patrick Walton
7a0c9759fe
rustc: Make unique pointers no longer immediates.
2011-09-08 10:24:14 +02:00
Brian Anderson
9946e467ff
Export tag discriminants even for single-variant tags
...
I don't know exactly what's going on but this optimization is giving
me problems with the check-fast runner. I also don't see how it is
correct for external tags.
2011-09-07 10:32:58 -07:00
Brian Anderson
c047cfb710
Unwind the stack on task failure
...
When a task fails, we will throw an exception, then catch it at the bottom of
the stack.
On Windows we don't do this yet because the exception doesn't propagate
correctly.
No cleanups yet.
Issue #236
2011-09-07 10:32:58 -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
Brian Anderson
25ae3d655c
Rewrite spawn yet again
...
The motivation here is that the bottom of each stack needs to contain a C++
try/catch block so that we can unwind. This is already the case for main, but
not spawned tasks.
Issue #236
2011-09-07 10:32:58 -07:00
Brian Anderson
1bd627039e
Begin compiling with exceptions enabled
...
Issue #236
2011-09-07 10:32:58 -07:00
Brian Anderson
bb08ffbaf4
Refactor task failure a bit
...
Issue #236
2011-09-07 10:32:58 -07:00
Marijn Haverbeke
1339d05434
Work around destructuring bug
2011-09-07 17:01:46 +02:00
Marijn Haverbeke
f3edf8dd5e
Make it possible to take the value of (and bind) native fns
...
Closes #820
2011-09-07 12:12:20 +02:00
Tim Chevalier
8ab02f7b21
Forbid blocks from deinitializing upvars
...
Move expressions where the RHS is an upvar are now forbidden within
block expressions.
2011-09-06 15:27:48 -07:00
Tim Chevalier
efed843b1a
Merge remote-tracking branch 'graydon/master'
2011-09-06 15:27:45 -07:00
Patrick Walton
d3e8887d3c
rt: Implement poison-on-free, for debugging memory issues
2011-09-06 14:15:01 -07:00
Tim Chevalier
5f061591ac
Merge remote-tracking branch 'graydon/master'
2011-09-06 12:19:51 -07:00
Brian Anderson
23210a3293
Remove unused runtime functions. Issue #855
2011-09-03 00:50:57 -07:00
Brian Anderson
470eb3a58b
Register new snapshots
2011-09-03 00:47:11 -07:00
Brian Anderson
1b67d211b4
Add a rust_str typedef to the runtime. Issue #855
2011-09-02 22:11:46 -07:00
Brian Anderson
01b254b411
Rename istr-stuff to str in the runtime. Issue #855
2011-09-02 22:11:46 -07:00
Brian Anderson
a1d71995ec
Rename istr-stuff to str in rustc. Issue #855
2011-09-02 22:11:46 -07:00
Brian Anderson
f1555e2ca8
Rename ty_istr to ty_str. Issue #855
2011-09-02 22:11:46 -07:00
Brian Anderson
6217ce958e
Print the type of istrs as 'str' in error messages. Issue #855
2011-09-02 22:11:46 -07:00
Brian Anderson
b16457627c
Stop parsing transitional istr forms. Issue #855
2011-09-02 22:11:46 -07:00
Brian Anderson
c8fba11bd3
Remove transitional code from combine-tests.py. Issue #855
2011-09-02 22:11:46 -07:00
Brian Anderson
5c49e4f4e9
Reformat. Issue #855
2011-09-02 22:11:42 -07:00
Tim Chevalier
c7bd3f695b
Merge remote-tracking branch 'graydon/master'
2011-09-02 19:44:18 -07:00
Tim Chevalier
b5f9053423
Add a constraint to trans::type_of
...
trans::type_of now has a constraint saying that its type argument
is statically sized. This eliminates the "impossible happened" case
in type_of. Yay!
I note that this change decreased translation time for stage2/rustc
from 16.1 s to 14.0 s. I also think many of the remaining checks
could be eliminated with some mildly clever use of constrained types
and further preconditions. Future work!
2011-09-02 19:35:17 -07:00
Patrick Walton
07691e725a
rustc: Zero out unique pointers after we drop them
2011-09-02 19:33:52 -07:00