Commit Graph

1664 Commits

Author SHA1 Message Date
Patrick Walton
71f853b3fd rustc: Add logic for generic tags to dynamic_size_of(). 2011-03-01 16:37:17 -08:00
Patrick Walton
bdbaf0c789 rustc: Factor out the align-elements logic in dynamic_size_of() 2011-03-01 16:02:19 -08:00
Graydon Hoare
348c77c31b Populate default compilation environment as in rustboot. 2011-03-01 15:57:55 -08:00
Graydon Hoare
0761c5f462 Fix typo in comment. 2011-03-01 15:13:50 -08:00
Graydon Hoare
7f2398e557 Implement structured compare for rec, tup, tag. Un-XFAIL structured-compare.rs. 2011-03-01 13:00:58 -08:00
Patrick Walton
f239ecb5f2 rustc: Switch from storing nullary tags as constants to storing their discriminants 2011-03-01 12:41:41 -08:00
Patrick Walton
8d8b3d985a rustc: Mark tags that have subtypes with dynamic size as dynamic 2011-02-28 19:07:26 -08:00
Patrick Walton
687d328d7c rustc: Trivial cleanup: Remove unused "arity" tag 2011-02-28 18:27:50 -08:00
Graydon Hoare
d08f3a1c70 More complete sketch of structural compare. Still not quite working. 2011-02-28 17:49:26 -08:00
Graydon Hoare
1291cc2df9 Groundwork for structural comparison. Still lacking the actual loop that does it. 2011-02-28 16:36:14 -08:00
Patrick Walton
86309ed3ea rustc: Write tag variant discriminants into the crate as integer constants 2011-02-28 16:09:22 -08:00
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