Commit Graph

646 Commits

Author SHA1 Message Date
Patrick Walton
7f3f66df7b rustc: Use the scaled index, not the raw index, if a vector has generic size. lib-vec.rs works now. 2011-03-31 10:10:21 -07:00
Brian Anderson
607fa14960 Rename incr_all_refcnts to take_ty, to match drop_ty 2011-03-31 14:52:30 +00:00
Brian Anderson
b0b72ab472 Restore scope block contexts to the translation of expr_block.
I removed this previously but that was wrong because it caused
block expressions to not create a new scope.
2011-03-31 14:52:29 +00:00
Marijn Haverbeke
39f0656b4f Improve line comment positioning
This involved making ast.variant spanned.
2011-03-31 14:41:40 +00:00
Marijn Haverbeke
f8393cc572 Add effect field to ast.ty_fn.
Still not used, except by the pretty-printer.
2011-03-31 14:41:40 +00:00
Patrick Walton
ae5ba62b24 rustc: Use the type cache to construct external item references 2011-03-30 18:15:29 -07:00
Patrick Walton
cc59cea8b0 rustc: Thread an item-to-type mapping throughout the typechecking and translation phases 2011-03-30 17:28:06 -07:00
Graydon Hoare
3e7b991d49 Ensure task stacks start out with a 16-byte aligned entry frame. Should make OSX behave a bit better. 2011-03-30 13:04:18 -07:00
Patrick Walton
301cfe1354 rustc: Add all items to the item table during translation. lib-vec now compiles, but asserts and then segfaults. 2011-03-29 18:16:53 -07:00
Patrick Walton
626bdaaa1f rustc: Parse parameter IDs in external crate metadata. Un-XFAIL lib-bitv.rs. 2011-03-29 17:25:55 -07:00
Patrick Walton
c67eb1a575 rustc: Partially resolve external module imports 2011-03-29 17:01:27 -07:00
Lindsey Kuper
55fbed3d8d Beginnings of support for magical self prefix; nothing profound happening yet. 2011-03-29 15:59:15 -07:00
Patrick Walton
94c061729b rustc: Resolve external modules and native modules to definition IDs as well 2011-03-29 14:46:42 -07:00
Graydon Hoare
77f85460e6 Rename trans_native to trans_native_call, for clarity. 2011-03-29 13:23:51 -07:00
Graydon Hoare
734abe593d Teach trans to emit undefined references to 'use'd symbols. Can compile and run a simple 'use std;' example now. 2011-03-29 13:23:51 -07:00
Brian Anderson
8f2a97a562 Add partial support for if expressions resulting in generic types 2011-03-28 21:14:08 -07:00
Brian Anderson
aced4ce145 Handle structural types as the result of if expressions 2011-03-28 21:14:04 -07:00
Brian Anderson
a5a319fa04 Teach rustc to use the result of if expressions 2011-03-28 21:14:03 -07:00
Brian Anderson
2b27d12ce1 Add expr_spawn, spawn parsing, folding, typechecking, ty_task 2011-03-28 21:13:53 -07:00
Graydon Hoare
540d29f641 Move all allocas to dedicated basic block at top of function, to keep frames finite. Un-comment next size in nbody.rs. 2011-03-28 18:07:29 -07:00
Patrick Walton
ace2c92a96 rustc: Populate the item types table with types of items from external crates; remove the redundant typeck.ty_and_params type on the way 2011-03-28 14:42:01 -07:00
Patrick Walton
621ab34410 rustc: Remove commented out "encode_tag_variant_info" call that sneaked in 2011-03-28 13:31:13 -07:00
Patrick Walton
cc221c472a rustc: Don't include a trailing null when writing out metadata; it corrupts the EBML 2011-03-28 13:15:03 -07:00
Graydon Hoare
8b5968165f Fix get_tydesc to alloca enough room for root; remove hack that was attempting to paper over it. Fix from espindola. 2011-03-28 11:11:03 -07:00
Patrick Walton
81695a19f8 rustc: Add support for calling LLVM intrinsics as native functions 2011-03-28 08:24:58 -07:00
Marijn Haverbeke
6ecdc04788 Add support for break and cont to rustc
Testing proper cleanup is hampered by
https://github.com/graydon/rust/issues/293
2011-03-27 14:11:23 +02:00
Graydon Hoare
f59e49c9a6 Twiddle visibility, start exposing only type-mangled names (64 bit truncated sha1 prefixes). 2011-03-26 19:14:07 -07:00
Graydon Hoare
dbc7289a4d Start refactoring name-mangling in trans. 2011-03-26 17:36:47 -07:00
Graydon Hoare
ac6e1131e9 Teach creader and metadata writer how to do ty.ty_type. 2011-03-26 17:35:51 -07:00
Graydon Hoare
ee686dacb8 Add get_extern_const, factor get_extern into get_extern_fn and get_simple_extern_fn. 2011-03-25 17:59:56 -07:00
Graydon Hoare
661f1c541e Trans nomenclature tidy-up: upcall vs. native vs. extern. 2011-03-25 15:48:00 -07:00
Graydon Hoare
b2427509e2 Another go at changing compile-command, this time using RBUILD env var. 2011-03-25 15:07:27 -07:00
Graydon Hoare
3712ee68ad Sketch of wiring typeck up to creader. 2011-03-25 14:34:32 -07:00
Graydon Hoare
91c2b82b09 Revert "Bulk-edit compile commands in emacs chatter to point to assumed build/ dir off src root."
This reverts commit 846f2e2ba9.
2011-03-25 14:05:38 -07:00
Graydon Hoare
846f2e2ba9 Bulk-edit compile commands in emacs chatter to point to assumed build/ dir off src root. 2011-03-25 13:48:37 -07:00
Patrick Walton
e2d6475308 rustc: Store cached crate metadata in the session 2011-03-25 11:11:21 -07:00
Brian Anderson
ebc4df3c7a Implement local declarations with receive. Un-XFAIL decl-with-recv.rs. 2011-03-25 11:01:52 -07:00
Brian Anderson
71f058499a Refactor ast.local to make room for initialization via recv 2011-03-25 11:01:52 -07:00
Patrick Walton
77a3373d53 rustc: Create a crate metadata cache 2011-03-25 10:44:24 -07:00
Graydon Hoare
4e49ca8abd Start hooking resolve into creater. 2011-03-24 17:37:32 -07:00
Patrick Walton
2c21195b21 rustc: Emit a better error message when a type is used where a value was expected 2011-03-24 10:29:15 -07:00
Graydon Hoare
08bea1d9a2 Revert "Change the type of the second argument of upcalls to be a %task*.", breaks win32 build.
This reverts commit dcf122ede0.
2011-03-23 16:31:30 -07:00
Lindsey Kuper
0b63512f4c Support for 'float' in type signatures. 2011-03-23 16:01:29 -07:00
Patrick Walton
c669f20231 rustc: Write out crate metadata 2011-03-23 15:44:17 -07:00
Tim Chevalier
23e23bd762 Further support for floating-point. Literals with exponents work
and literals with the 'f32' or 'f64' suffixes work as well. In
addition, logging things with the f32 or f64 type works. (float is
still assumed to be a synonym for f64).
2011-03-22 17:31:27 -07:00
Rafael Ávila de Espíndola
dcf122ede0 Change the type of the second argument of upcalls to be a %task*. 2011-03-22 17:50:18 -04:00
Lindsey Kuper
0ce0c4c41a Support for shorter error messages that are aware of objects' cnames. 2011-03-22 14:23:43 -07:00
Patrick Walton
bcf04e253f Revert "Remove usages of case(_) { fail; } since the compiler does this automatically". When we have exhaustiveness checking, "case(_) { fail; }" will be useful to silence warnings.
This reverts commit 92a716d862.
2011-03-22 14:02:52 -07:00
Brian Anderson
92a716d862 Remove usages of case(_) { fail; } since the compiler does this automatically 2011-03-22 08:11:34 -07:00
Brian Anderson
530fe1daea Add a cleanup to trans_send. Express further confusion about cleanups in trans_recv 2011-03-22 08:04:53 -07:00