Commit graph

1612 commits

Author SHA1 Message Date
Graydon Hoare
d7f7634c95 Drop for-loop temporary at end of scope, fixes memory leak. 2011-02-22 18:07:47 -08:00
Graydon Hoare
af4d6ae76b Add ABI tagging to crates, adjust rustc output and runtime stack-frame setup so access to argv works. 2011-02-22 16:37:27 -08:00
Patrick Walton
01c2761769 Rework typechecking of bind expressions 2011-02-22 15:50:07 -08:00
Rafael Ávila de Espíndola
b389611ce7 Finish the type of native functions. We now get
declare i32 @write(i32, i8*, i32)
2011-02-22 17:37:11 -05:00
Graydon Hoare
aaa6965794 Fix typo in rust_task::start. Should be copying 1 fewer initial arg. 2011-02-21 18:55:08 -08:00
Graydon Hoare
60f97aa9cc Find main functions buried within modules. Un-XFAIL import.rs. 2011-02-21 17:42:23 -08:00
Brian Anderson
cbe8d222a8 Implement sha-1 in standard library. Closes #228 2011-02-21 01:00:43 -05:00
Graydon Hoare
b0c7439d77 Implement expr_put. Un-XFAIL foreach-simple.rs; iters w/o env access work. 2011-02-18 18:52:31 -08:00
Patrick Walton
5508c28ff0 Factor out the call typechecking logic so that bind can use it 2011-02-18 18:19:27 -08:00
Graydon Hoare
80c67268fc Pass correct lliterbody; can compile and run no-put iters. 2011-02-18 18:04:37 -08:00
Graydon Hoare
34c60b6edb Make a tag for iterness / fnness, teach many places about it. 2011-02-18 17:30:57 -08:00
Patrick Walton
3aba50ff33 Implement Robinson's algorithm for type unification. Closes #227. 2011-02-18 14:52:33 -08:00
Graydon Hoare
0ddb832a4e Teach trans and llvm to cooperate on producing tidier diagnostic names in trans.ty_str. 2011-02-17 18:16:51 -08:00
Patrick Walton
10befcd9a4 Add type parameters to tag types 2011-02-17 16:23:31 -08:00
Graydon Hoare
79d3ceaac0 Steps toward implementing iterators. 2011-02-17 12:20:55 -08:00
Graydon Hoare
e867d8ea99 Un-XFAIL mutable-vec-drop.rs. 2011-02-16 14:34:10 -08:00
Rafael Avila de Espindola
07c7888037 Don't add the rust arguments to native functions. We now produce the
correct arguments for native functions.
2011-02-16 16:16:11 -05:00
Rafael Avila de Espindola
a63696dfe2 Add a more specialized decl_native_fn_and_pair. Native functions now have
the right name.
2011-02-16 15:34:59 -05:00
Rafael Avila de Espindola
293637139f Add missing case to ty_to_str.
Disable test that now fails because we produce undefined references to the
native functions.
2011-02-16 15:00:40 -05:00
Graydon Hoare
f50caa75c2 Wrap long line in last commit. 2011-02-16 11:33:14 -08:00
Rafael Avila de Espindola
012fa69ea5 More typechecking for native types and the needed plumbing in codegen. 2011-02-16 14:02:02 -05:00
Graydon Hoare
d4bf67dde6 Translate record extension. 2011-02-15 18:16:13 -08:00
Graydon Hoare
370c1ad00e Handle record update in typeck. 2011-02-15 15:07:55 -08:00
Graydon Hoare
7a02798d1b Change another typestate check to an expr check. 2011-02-15 12:30:09 -08:00
Graydon Hoare
9ae89bd404 Add _mutable unop. 2011-02-15 12:20:30 -08:00
Graydon Hoare
2bba49a9fe Fix missing path in expr_ext. 2011-02-15 12:20:13 -08:00
Graydon Hoare
4a72a23171 Add basic front-end support for 'for each' loops. 2011-02-14 18:17:31 -08:00
Graydon Hoare
15a01f5c36 Add basic front-end support for expr_put. 2011-02-14 17:58:32 -08:00
Graydon Hoare
f1f33abdeb Move all non-decl/non-expr stmts to exprs. 2011-02-14 17:46:28 -08:00
Graydon Hoare
88cb966363 Adjust commented-out diagnostic log statement in parser.rs. 2011-02-14 16:35:08 -08:00
Graydon Hoare
c7e3f951e6 Disable TRACK_ALLOCATIONS by default, it's a bit heavy-handed. 2011-02-14 16:34:12 -08:00
Graydon Hoare
84dd64b6cf Switch ast.is_call_expr check in trans to non-typestate form. 2011-02-14 16:33:51 -08:00
Graydon Hoare
890d027b65 Add parse support for expr_ext. 2011-02-14 16:33:25 -08:00
Graydon Hoare
59bce06a96 Expand expr_rec to take its optional trailing 'with' parameter. 2011-02-14 15:52:38 -08:00
Graydon Hoare
6393a34e6e Teach typeck about generic tags. 2011-02-14 14:14:28 -08:00
Graydon Hoare
0043f99f83 Teach resolve about ty params on tags. 2011-02-14 13:36:20 -08:00
Brian Anderson
0ebfb8227c Add support for unsigned binops. Closes #57 2011-02-14 08:31:52 -08:00
Rafael Avila de Espindola
bd56dd9f2a Add missing case to unify. This gets hello world to codegen. 2011-02-14 11:22:10 -05:00
Graydon Hoare
7446af747d Translate pat_lit, un-XFAIL alt-pattern-lit.rs for rustc. 2011-02-10 19:40:02 -08:00
Graydon Hoare
c9956a65b4 Teach ty and typeck about pat_lit. 2011-02-10 19:22:30 -08:00
Graydon Hoare
f951b52e91 Add support to pat_lit to fold. 2011-02-10 19:13:47 -08:00
Graydon Hoare
277334890d Add alt-pattern-lit.rs test. 2011-02-10 19:13:39 -08:00
Graydon Hoare
c89460bb65 Support indexing pat_lit. 2011-02-10 19:04:37 -08:00
Graydon Hoare
a396652766 Add pat_lit to ast, and support parsing it. 2011-02-10 18:59:23 -08:00
Graydon Hoare
b59d98ccb9 Parse effects and layers in a couple contexts; drop on floor as we have nowhere to put them yet. 2011-02-10 18:58:58 -08:00
Graydon Hoare
7c25fb5628 Fix bug in trans_field, un-XFAIL two more tests. 2011-02-10 17:33:08 -08:00
Rafael Avila de Espindola
0d27eb1341 Add type checking for native types. 2011-02-10 16:22:08 -08:00
Graydon Hoare
2b669008a8 Un-XFAIL generic-derived-type.rs. 2011-02-10 15:04:11 -08:00
Graydon Hoare
c958eebf5d Change more of trans to rely on tydescs when dealing with generics. 2011-02-10 15:00:16 -08:00
Graydon Hoare
140d6fd964 Switch "." to "_" in name mangling, makes gdb happier. Also factor out into sep() helper. 2011-02-10 14:59:20 -08:00