Commit graph

1392 commits

Author SHA1 Message Date
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
Brian Anderson
f17a3421e0 Cleanup for 'be' statement and comments about future typestate 2011-02-10 12:12:10 -08:00
Brian Anderson
6461cf30de Add compile-fail tests for tail calls 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
Brian Anderson
c0f997be21 Revert EI_OSABI ELF header field back to 0 for Linux 2011-02-10 12:00:45 -08:00
Rafael Avila de Espindola
580d527aa2 Add missing fold of native functions. 2011-02-10 14:36:38 -05:00
Graydon Hoare
3d63aa14e0 Handle instantiations where some type parameters remain parameters (eg. derived typedefs). 2011-02-10 11:30:29 -08:00
Graydon Hoare
c4a56f7368 Commit the trap-failure hack to the runtime, since I keep using it in my workspace anyways. 2011-02-10 11:29:47 -08:00
Graydon Hoare
b7dfbc9db0 Fix bug in test and un-XFAIL 4 tests now passing on rustc. 2011-02-09 13:19:20 -08:00
Graydon Hoare
71e3ac873a Re-indent a bit of elf. 2011-02-09 11:37:56 -08:00
Graydon Hoare
eb854ffb44 Add several 1-word .bss fragments for FreeBSD. 2011-02-09 11:37:56 -08:00
Graydon Hoare
60635999f3 Add .bss fragment support to elf. 2011-02-09 11:37:55 -08:00
Rob Arnold
a1cc5ac63c Adapt elf.ml to handle differences between Linux and FreeBSD. 2011-02-09 11:37:20 -08:00
Rob Arnold
6466795a70 Add FreeBSD_x86_elf target to rustboot 2011-02-09 11:37:10 -08:00
Rob Arnold
6e39102299 Add FreeBSD support in the Makefile 2011-02-09 10:43:46 -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
467a628ffa Add the single instruction required in activate glue to fix burning darwin tinderbox. And transplant 100 lines of comments from the ML code. 2011-02-08 18:09:50 -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
Graydon Hoare
9d576993f3 Add a fixme for last commit. 2011-02-07 14:16:40 -08:00
Graydon Hoare
d7f118135b Iterate type unification to drive the types a bit further down into the leaves of results with residual vars. Cheap but kinda works. 2011-02-07 14:11:43 -08:00
Rafael Avila de Espindola
3e613c1648 Add native modules to resolve. With this hello world gets to typecheck. 2011-02-07 15:07:27 -05:00
Rafael Avila de Espindola
ff6864aa5c Fix expressions with paths with more than one element. 2011-02-07 14:57:34 -05:00
Rafael Avila de Espindola
8122e0c542 Add support for
native mod foo = "bar" ...
2011-02-07 12:50:04 -05:00
Rafael Ávila de Espíndola
57bb9d809b Parse function declarations. 2011-02-04 11:10:04 -05:00
Rafael Ávila de Espíndola
302cafa81d Factor the parsing of "type foo" into parse_type_decl. 2011-02-04 09:46:10 -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
Rafael Ávila de Espíndola
dd3ed6139a Add most of the plumbing for native items and add support for parsing native type declarations. 2011-02-02 10:43:57 -05: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
Rafael Ávila de Espíndola
4b06dc574b Add very minimal support for native modules. For now they must be empty. 2011-02-01 16:57:33 -08:00
Graydon Hoare
b3689e7c20 Pick up case for expr_block from brson's other branch. 2011-02-01 16:26:49 -08:00
Graydon Hoare
70bf54bcac Implement 'else if' 2011-02-01 16:23:48 -08:00
Graydon Hoare
eb16942c1d Use dynamic GEP and silly offset-encoding on tydescs. Successful call into a derived tydesc. 2011-02-01 14:57:03 -08:00
Graydon Hoare
8ef22972db Add ty_type. 2011-02-01 14:56:21 -08:00
Graydon Hoare
ef50d0e668 More work on derived tydescs. Can compile simple tests with generic objects. 2011-01-31 18:06:35 -08:00
Graydon Hoare
784b2decf2 Majority of the remaining work for derived tydescs. Not quite working yet. 2011-01-31 15:03:05 -08:00
Graydon Hoare
21418230cd Re-XFAIL those tests enabled by commit a2789363e1.
WinNT tinderbox doesn't like them.
2011-01-31 12:47:17 -08:00
Graydon Hoare
f9b37c7348 Run cleanups in reverse order. Not presently observable, no dtors. 2011-01-31 12:06:27 -08:00
Brian Anderson
7ab8a5904d Un-XFAIL some compile-fail tests 2011-01-31 11:19:15 -08:00
Brian Anderson
a2789363e1 Reenable xfailed tests for rustboot that pass with trivial or no modifications 2011-01-30 15:55:27 -05:00
Graydon Hoare
bf9cebfc06 Fix a bug in linearize and get the captured tydescs type right. 2011-01-28 15:45:13 -08:00
Graydon Hoare
caa5b92985 Pass linearized typarams to make_generic_glue. Steps toward derived tydescs. 2011-01-28 15:28:20 -08:00
Graydon Hoare
ea42911561 Pass tydesc array into type glue fns as first arg. Required for derived tydescs to work. 2011-01-28 14:34:25 -08:00
Graydon Hoare
65f0f8e64d Pass --error-exitcode=1 to valgrind in Makefile; XFAIL test that was memcheck-failing. 2011-01-28 13:12:31 -08:00
Brian Anderson
6b7cab3602 Teach rustc to fail 2011-01-28 11:12:57 -08:00
Rafael Ávila de Espíndola
3cac20dae3 Correctly handle "import foo = bar.zed;". 2011-01-28 11:54:59 -05:00
Graydon Hoare
13b7a356f8 Add helper function for derived type descriptors. 2011-01-27 17:07:52 -08:00
Graydon Hoare
8640f19917 Merge branch 'master' of github.com:graydon/rust 2011-01-27 15:45:04 -08:00
Graydon Hoare
99106e4029 Fix bug in box-unbox.rs test. 2011-01-27 13:52:02 -08:00
Graydon Hoare
1086a2b7d1 Un-XFAIL 3 tests that started working recently. 2011-01-27 13:52:02 -08:00
Rafael Ávila de Espíndola
a2081deb2d Simplify and fix the resolution of expr_path. With this we now get to codegen
in
-------------------
type foo = rec(int a);
mod m1 {
  mod m2 {
    const foo bar = rec(a = 4);
  }
}
fn main(vec[str] args) {
  log m1.m2.bar.a;
}
-------------------
2011-01-27 16:51:41 -05:00
Rafael Ávila de Espíndola
c170e7edfd Resolve type paths. 2011-01-27 16:39:31 -05:00
Rafael Ávila de Espíndola
21208f2343 Handle paths correctly. This lets us handle one more test :-) 2011-01-27 15:56:10 -05:00
Rafael Ávila de Espíndola
5066937f10 First step for supporting "case (foo.bar(?zed))": Change the ast of
pat_tag to hold a path.
2011-01-27 15:27:56 -05:00
Rafael Ávila de Espíndola
56441e19d1 Correctly split a.b.c into its path and field access components. 2011-01-27 11:19:02 -08:00
Graydon Hoare
ce31b02113 Note issue in comments. 2011-01-27 11:18:40 -08:00
Graydon Hoare
0499d4ac29 Update various README files in the tree. 2011-01-26 16:00:19 -08:00
Graydon Hoare
5b857da15f Change rustc warning to be a little less dismissive. 2011-01-26 13:51:29 -08:00
Graydon Hoare
da32bc1332 Slight makefile refactoring. 2011-01-26 12:45:51 -08:00
Graydon Hoare
11da656402 Fix bug in generic-obj.rs testcase. 2011-01-26 11:39:48 -08:00
Graydon Hoare
596a97cf70 Teach typeck to handle obj item names when used as type names, not just constructor calls. 2011-01-26 11:35:30 -08:00
Rafael Ávila de Espíndola
70c129f79b Fix test now that we look at the full error-pattern. Also enable it for rustc. 2011-01-26 12:06:19 -05:00
Rafael Ávila de Espíndola
5b3e7e599d Fix issue 207 by considering everything after the first : in the error-pattern
line.
2011-01-26 11:24:49 -05:00
Rafael Ávila de Espíndola
1b82060c5e Print an error if we try to refer to a module in an expr_path. 2011-01-25 18:16:52 -05:00
Rafael Ávila de Espíndola
9e2324ad1e Small first step in expr_path. Call find_final_def just to detect
unresolved names. find_final_def is going to be extended to return the
final expr.
2011-01-25 17:54:38 -05:00
Graydon Hoare
18947f83cc Un-XFAIL a couple more rustc tests that have started working recently. 2011-01-24 18:03:50 -08:00
Graydon Hoare
a32d206d27 Implement autoderef in rustc. Un-XFAIL autoderef-full-lval.rs. 2011-01-24 18:03:31 -08:00
Graydon Hoare
0e1e3a9e1e Do better at parsing expr_paths with type arguments. 2011-01-24 15:49:39 -08:00