Commit Graph

1106 Commits

Author SHA1 Message Date
Patrick Walton
0b84707da7 rustc: Add tag support to ty_of_item in typeck 2010-12-10 16:44:12 -08:00
Patrick Walton
2c472c0de8 rustc: Add LLVM typedefs for rust_crate and rust_task for good measure 2010-12-10 16:29:41 -08:00
Patrick Walton
cf8ad5f56d rustc: Declare LLVM typedefs appropriately 2010-12-10 16:24:47 -08:00
Patrick Walton
e37c032eb0 rustc: Move refcount incrementing out of line too 2010-12-10 16:14:06 -08:00
Graydon Hoare
865c06c1f9 Preliminary translation of expr_index. 2010-12-10 16:10:35 -08:00
Patrick Walton
270b93bd71 rustc: Move refcount decrement-and-free (drop) logic out-of-line 2010-12-10 15:37:17 -08:00
Patrick Walton
10d5d32537 rustc: Change lazy "and" and "or" to use scope contexts rather than sub-block contexts, to run cleanups properly 2010-12-10 15:27:55 -08:00
Graydon Hoare
0565350b5f Typecheck vec and index exprs. 2010-12-10 15:05:19 -08:00
Patrick Walton
eaa76bd83f rustc: Decouple new_fn_ctxt() from AST function arguments, so that it can be used to generate glue 2010-12-09 17:38:57 -08:00
Graydon Hoare
4e1046a508 Fix another bug in expr_index parse rule. 2010-12-09 17:34:44 -08:00
Graydon Hoare
d5ed5e7044 Fix bug in parse rule for expr_index. 2010-12-09 17:12:08 -08:00
Graydon Hoare
e04c24769e Add 'unexpected' fn to parser. 2010-12-09 17:11:52 -08:00
Graydon Hoare
8383b1c435 Fix token span tracking in lexer. 2010-12-09 17:11:05 -08:00
Graydon Hoare
3fa37eec9d Un-XFAIL lazy-and-or.rs and operator-associativity.rs. 2010-12-09 16:35:22 -08:00
Graydon Hoare
9ee3475e09 Rewrite second pass of collect_item_types to use fold, therefore process all items in crate. Add testcase to check. 2010-12-09 16:06:40 -08:00
Patrick Walton
1c9dc2ca52 rustc: Decouple new_fn_ctxt from AST items so that we can use it to generate glue too 2010-12-09 15:26:16 -08:00
Graydon Hoare
d213f9be95 Simplify second pass of collect_item_types so I can understand it better. 2010-12-09 15:19:38 -08:00
Graydon Hoare
b7e344622c Add a type abbreviation and redo first pass of collect_item_types to collect across the whole crate, not just top level. 2010-12-09 15:03:19 -08:00
Graydon Hoare
876282791e First sketch of support for const items, not including most of trans. 2010-12-09 14:37:50 -08:00
Graydon Hoare
9da8d11a52 Actually un-XFAIL drop-on-ret.rs. 2010-12-09 14:37:08 -08:00
Patrick Walton
5a6cc341ad rustc: Add gross eq_ty() and hash_ty() functions 2010-12-09 14:03:43 -08:00
Patrick Walton
e5bbe93646 rustc: Mark constant strings as constants 2010-12-09 13:49:26 -08:00
Patrick Walton
e652e58bfc rustc: Fix indirection problem with tag constructors 2010-12-09 13:39:33 -08:00
Graydon Hoare
66b5dfabee Remove redundant trans_drop_str, fix buggy branch in trans_if. Un-XFAIL drop-on-ret.rs. 2010-12-09 12:32:16 -08:00
Graydon Hoare
440e637edf Fix boxed returns harder. Un-XFAIL output-slot-variants.rs. 2010-12-08 16:43:59 -08:00
Graydon Hoare
652ae9f50e Fix structure returns harder. 2010-12-08 16:34:16 -08:00
Graydon Hoare
e3a3a03572 Fix boxed returns. 2010-12-08 16:20:04 -08:00
Graydon Hoare
264de9c7fc Fix structure-returns. 2010-12-08 15:52:01 -08:00
Graydon Hoare
2b36a8eab4 Fix log upcall translation bug. Un-XFAIL rec-auto.rs. 2010-12-08 15:29:09 -08:00
Graydon Hoare
6ccfba34f3 Add missing case to parse_ty, un-XFAIL cast.rs. 2010-12-08 15:04:57 -08:00
Graydon Hoare
68af077e81 Implement binop= forms. Un-XFAIL bitwise.rs. 2010-12-08 14:50:47 -08:00
Graydon Hoare
b971d6312e Fix missing case in resolve, un-XFAIL rec-tup.rs. 2010-12-08 11:52:34 -08:00
Patrick Walton
47f0729d38 rustc: Un-XFAIL test/run-pass/writealias.rs too 2010-12-07 12:40:57 -08:00
Patrick Walton
b5679c844e rustc: Un-XFAIL readalias.rs 2010-12-07 12:38:51 -08:00
Patrick Walton
e558ff907f rustc: Allow callees to use alias args 2010-12-07 12:34:10 -08:00
Patrick Walton
7f85945b05 rustc: Translate function calls with alias parameters (though the callee can't use them yet) 2010-12-07 11:57:19 -08:00
Patrick Walton
15a614acb4 rustc: Implement is_lval 2010-12-07 10:38:42 -08:00
Graydon Hoare
fdb3a4e471 Un-XFAIL deref.rs and large-records.rs. 2010-12-06 18:53:16 -08:00
Graydon Hoare
a059b4720c Null slots on missing init, null-check box ptrs on drop. Works around missing typestate pass. Un-XFAIL box-in-tup.rs. 2010-12-06 17:46:44 -08:00
Patrick Walton
3f9d5dab5b rustc: Run the verifier over LLVM modules before writing them out 2010-12-06 17:17:49 -08:00
Patrick Walton
a1c7d19836 rustc: Translate tag constructors. Can't call them at the moment due to lack of alias args, though. 2010-12-06 16:50:24 -08:00
Patrick Walton
fb05d9184b rustc: Make copy_args_to_allocas not insist on a function type so it's easier to make it work with tag constructors 2010-12-06 11:22:08 -08:00
Graydon Hoare
9f6a630519 Drop rec and tup alloca temporariles on block exit. 2010-12-03 18:43:40 -08:00
Patrick Walton
b4d9754347 rustc: Make new_fn_ctxt and copy_args_to_allocas receive a list of args rather than an AST fn, so we can use it for tag constructors 2010-12-03 18:20:41 -08:00
Patrick Walton
2e119698b7 rustc: Add def ids to variant arguments so we can turn them into function arguments later 2010-12-03 18:13:15 -08:00
Graydon Hoare
0c19c8e18f Parse layer and effect annotations. 2010-12-03 18:04:18 -08:00
Patrick Walton
afd3af9bb5 rustc: Remove LLVM unions and represent tags as (discriminant, byte blob) pairs 2010-12-03 16:55:59 -08:00
Patrick Walton
f371dc613a rustc: Set data layout and target triple 2010-12-03 13:52:54 -08:00
Graydon Hoare
aeef8cee29 Add load_non_structural and use it. 2010-12-03 13:03:07 -08:00
Patrick Walton
5347cac92d rustc: Handle n-ary tag constructors in iter_structural_ty (which lets us process their refcounts correctly) 2010-12-03 12:35:49 -08:00