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
Brian Anderson
cddd8094da
Remove a todo from trans_chan that doesn't appear necessary
2011-03-22 08:04:49 -07:00
Brian Anderson
c02cdc32a8
Generalize send/recv to work for more types
2011-03-22 08:04:45 -07:00
Brian Anderson
39c01c97ba
Fix trans_recv
2011-03-22 08:04:41 -07:00
Brian Anderson
b2ee569c23
Implement trans_send and a broken trans_recv
2011-03-22 08:04:39 -07:00
Brian Anderson
261d1e4c61
Add codegen for ports and chans
2011-03-22 08:04:38 -07:00
Tim Chevalier
1e1ff638a3
Make floating-point operations work (neg, add, sub, mul, div, rem,
...
and comparison ops.)
2011-03-21 18:10:34 -07:00
Tim Chevalier
caa22c9341
Started adding support for floating-point type, floating-point literals, and logging of floats. Other operations on float probably don't work yet.
2011-03-21 18:10:34 -07:00
Rafael Ávila de Espíndola
933c01bd15
Every upcall needs a task pointer to find the C stack. It is just that when
...
handling cdecl call they should skip it when calling the final function.
There is some cleanup to be done on the generated IL, but this gets us
running Hello World for real.
2011-03-21 17:53:11 -04:00