Commit Graph

1703 Commits

Author SHA1 Message Date
Rafael Ávila de Espíndola
a172f5aef5 Declare wrappers to the native functions and use those to create
the fn/closure pairs.

Disable native2.rs for now as we are not yet defining the wrappers and it
fails to link.
2011-02-28 17:33:46 -05:00
Rafael Ávila de Espíndola
4ac4d03f0c Update the function declarations with rust abi. A cdecl
fn write(int fd, rustrt.vbuf buf, uint count) -> int;

compiles to

declare i32 @write(i32, i8*, i32)

and a rust

fn vec_buf[T](vec[T] v, uint offset) -> vbuf;

compiles to

declare i8* @vec_buf(%task*, %tydesc*, %"vec[<P0:2>]", i32)

which I think is the correct declaration for both :-)
2011-02-28 10:37:49 -05:00
Patrick Walton
0120571e90 rustc: Make the tag info table keyed by both tag ID and type parameter. Also fix a bug that was causing all tags to compare equal. 2011-02-25 19:42:26 -08:00
Patrick Walton
e37db13b02 rustc: Eliminate the "ty_params" field from the tag info 2011-02-25 18:24:58 -08:00
Patrick Walton
699eb69cc8 rustc: Eliminate the "variants" field from the tag info 2011-02-25 18:16:50 -08:00
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
Patrick Walton
6c24d0403b Revert "rustc: Push type parameters down through alt tag patterns; add a test" due to valgrind failures
This reverts commit 7a1d01effc.
2011-02-25 15:49:35 -08:00
Graydon Hoare
7a6ac1c000 Fix typo in crate directive evaluator. 2011-02-25 15:43:50 -08:00
Graydon Hoare
dabccadd32 Update manual to define identifiers using UAX 31 XID_Start / XID_Continue. 2011-02-25 15:43:50 -08:00
Patrick Walton
69464aae62 rustc: Remove FIXME obsoleted by the previous commit 2011-02-25 13:44:37 -08:00
Patrick Walton
7a1d01effc rustc: Push type parameters down through alt tag patterns; add a test 2011-02-25 13:44:08 -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
Rafael Ávila de Espíndola
3d04fa029e Disable test that is failing on valgrind. 2011-02-25 11:59:00 -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
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