Commit Graph

12936 Commits

Author SHA1 Message Date
Graydon Hoare
88f0463c2b Support the awful alt-else form in rustboot's cexp grammar, at least transiently. Remove in the future. 2011-02-24 17:17:39 -08:00
Graydon Hoare
dbf53b4c37 Connect the crate and source parsers together. 2011-02-24 17:00:24 -08:00
Graydon Hoare
9acf4b9127 Handle the mutant 'let'-block directive in rustboot, temporarily. 2011-02-24 16:42:04 -08:00
Graydon Hoare
b2a09562a6 Factor crate expr evaluator out of parser, expand to simple scalars and ops, if, alt. 2011-02-24 15:55:10 -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 0a65283c5e.
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
Graydon Hoare
127139aecd Parse crate directive tree in one pass, then evaluate it in a second. 2011-02-24 12:14:05 -08:00
Brian Anderson
4ebd75a547 Restore working rustc run-pass tests 2011-02-24 00:14:41 -05:00
Patrick Walton
144a2a1d33 Invert test/run-pass/ for rustc 2011-02-23 17:36:33 -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
381684043f Add a type for crate directives, to support intermixing with exprs in crate files. 2011-02-23 14:37:39 -08:00
Graydon Hoare
c6bc5cce4b Parse auth clauses, drop them on the floor. Nothing exists to use them yet anyways. 2011-02-23 13:28:46 -08:00
Rafael Ávila de Espíndola
5f6110a4db Use the computed abi :-( 2011-02-23 14:10:02 -05:00
Rafael Ávila de Espíndola
ffcb461370 Parse the abi in native modules. 2011-02-23 14:06:37 -05:00
Rafael Ávila de Espíndola
6849abcf7d Handle the new ty_native_fn in type check. 2011-02-23 11:59:07 -05:00
Brian Anderson
3b7e9dc393 Rustify some comments lifted directly from the sha-1 reference implementation 2011-02-22 21:52:23 -05:00
Brian Anderson
eac75b7648 Teach rustc about reserved keywords 2011-02-22 21:52:23 -05:00
Brian Anderson
c4df39609c Rename std._io to std.io since 'io' is no longer a keyword 2011-02-22 21:52:23 -05:00
Patrick Walton
b6f1c832e3 rustc: Perform explicit type substitution as requested by the programmer 2011-02-22 18:33:07 -08:00
Graydon Hoare
3a7271a026 Un-XFAIL argv.rs and command-line-args.rs. 2011-02-22 18:20:40 -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
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