1259 Commits

Author SHA1 Message Date
Patrick Walton
9c928fcf8c rustc: Make iter_structural_ty() not use the "variants" field in the tag info 2011-02-25 17:14:48 -08:00
Patrick Walton
b5081a6a82 Add a tag_variant_count() function to trans that doesn't go through the soon-to-be-deprecated tag info table 2011-02-25 16:45:43 -08:00
Patrick Walton
2cd7fbbdf1 rustc: Move all of the logic in type_of() to type_of_inner() 2011-02-25 16:24:19 -08:00
Rafael Ávila de Espíndola
081c3aa76d Pass the abi of native functions all the way to codegen. 2011-02-25 15:58:08 -05:00
Rafael Ávila de Espíndola
f8f6f078c5 There are no native iterators (or at least they are not going to be supported
soon.).
2011-02-25 12:08:21 -05:00
Patrick Walton
19b2850388 rustc: Perform type parameter substitutions when emitting glue for generic tags. Un-XFAIL generic-tag.rs. 2011-02-24 19:25:05 -08:00
Patrick Walton
dcd65fac19 Cast more aggressively to the callee type when calling generic functions. Add a test-case for this, and XFAIL it in rustboot. 2011-02-24 14:24:32 -08:00
Patrick Walton
5332250d3b Revert "Cast more aggressively to the callee type when calling generic functions. Add a test-case for this, and XFAIL it in rustboot." due to test failures
This reverts commit 0a65283c5eeae0b98fff7d213dbaad59889e677e.
2011-02-24 13:51:18 -08:00
Patrick Walton
0a65283c5e Cast more aggressively to the callee type when calling generic functions. Add a test-case for this, and XFAIL it in rustboot. 2011-02-24 12:33:08 -08:00
Patrick Walton
b4d6589e73 Implement type descriptor binding. Un-XFAIL test/run-pass/generic-bind.rs. 2011-02-23 17:08:02 -08:00
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
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
60f97aa9cc Find main functions buried within modules. Un-XFAIL import.rs. 2011-02-21 17:42:23 -08: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
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
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
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
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
9ae89bd404 Add _mutable unop. 2011-02-15 12:20:30 -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
84dd64b6cf Switch ast.is_call_expr check in trans to non-typestate form. 2011-02-14 16:33:51 -08:00
Graydon Hoare
59bce06a96 Expand expr_rec to take its optional trailing 'with' parameter. 2011-02-14 15:52:38 -08:00
Brian Anderson
0ebfb8227c Add support for unsigned binops. Closes #57 2011-02-14 08:31:52 -08: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
7c25fb5628 Fix bug in trans_field, un-XFAIL two more tests. 2011-02-10 17:33:08 -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
Brian Anderson
f17a3421e0 Cleanup for 'be' statement and comments about future typestate 2011-02-10 12:12:10 -08:00
Brian Anderson
378c0087ca Parse 'be' statement. Pass tailcall tests. No actual tailcalls yet. 2011-02-10 12:12:10 -08:00
Graydon Hoare
8c0d35066b Elide passed-typarams when tydescs are captured. Un-XFAIL generic-obj.rs. 2011-02-09 09:54:58 -08:00
Graydon Hoare
2f25d9c983 Handle subtle view-shift on outptr in generic calls. Can construct generic objs now. 2011-02-08 17:05:53 -08:00
Graydon Hoare
74f71d387e Overhaul ABI. All retptrs, all the time. 2011-02-08 11:47:53 -08:00
Rafael Ávila de Espíndola
57bb9d809b Parse function declarations. 2011-02-04 11:10:04 -05:00
Graydon Hoare
be97a77be8 Capture typarams into obj, independent of body tydesc. 2011-02-03 14:40:57 -08:00
Graydon Hoare
ce17fe2a90 Attempt to put out burning tinderbox. 2011-02-02 17:49:15 -08:00
Graydon Hoare
c863427b64 Hack to work around apparent LLVM bug? 2011-02-02 16:22:11 -08:00
Graydon Hoare
b37995664b Store tydesc for whole body, not just fields, in objs and closures. Handles unusual field alignment. 2011-02-02 15:28:11 -08:00
Graydon Hoare
c61ff98985 Handle missing case in linearize_ty_params. 2011-02-02 15:26:16 -08:00
Graydon Hoare
c42a2d2bfb Change decl_upcall to decl_upcall_glue, more correct name. 2011-02-02 15:25:53 -08:00
Graydon Hoare
8e963f63a8 Add trace and trap helpers to trans for low level diagnostics. 2011-02-02 15:23:49 -08:00
Graydon Hoare
f22dc4d581 Fix buggy argument assembly for upcall_get_type_desc. Can now complete calls to glue of derived tydescs. 2011-02-01 18:02:57 -08:00