Commit graph

743 commits

Author SHA1 Message Date
Rafael Ávila de Espíndola
e65e1716a7 Revert 6fdb81fa17, it is causing failures in
the bots.
2011-03-16 11:46:51 -04:00
Rafael Ávila de Espíndola
8dc5059058 Update comment to reflect the decision to avoid cycles. 2011-03-16 11:29:41 -04:00
Patrick Walton
1d8b0e8f8a rustc: Remove the memory-managed interface to LLVM memory buffers; passing them around transfers ownership 2011-03-15 18:08:30 -07:00
Patrick Walton
6fdb81fa17 rustc: Open "use"d crates with the LLVM object file reader 2011-03-15 18:05:29 -07:00
Patrick Walton
71b6e602c5 rustc: Add an annotation for the crate definition to view_item_use 2011-03-15 17:33:05 -07:00
Patrick Walton
341d128ad3 Revert "Change the numbering of upcall functions. upcall_0 now calls a function" due to tinderbox failure on win32
This reverts commit bd9dd5ed1a.
2011-03-15 17:20:00 -07:00
Patrick Walton
7d32f3d052 rustc: Add a stub crate reader module for "use" directives 2011-03-15 16:30:43 -07:00
Patrick Walton
bb081d6611 rustc: Typo: "unput" -> "input" 2011-03-15 15:07:41 -07:00
Patrick Walton
736969f9fe rustc: Add support for LLVM memory buffer creation via a wrapper function 2011-03-15 14:58:11 -07:00
Rafael Ávila de Espíndola
bd9dd5ed1a Change the numbering of upcall functions. upcall_0 now calls a function
with no arguments. This is still preparation for calling functions that
don't take a rust task argument.
2011-03-15 16:24:03 -04:00
Graydon Hoare
73f4728182 Append 'svn' to version in dll name, hopefully to bring win32 up again. 2011-03-15 12:55:23 -07:00
Patrick Walton
b07634f212 rustc: Add Rust bindings to the LLVM object file library 2011-03-15 12:27:48 -07:00
Graydon Hoare
316158df8e Bump LLVM version strings to 3.0svn, we're effectively tied to it now anyways. 2011-03-14 17:33:06 -07:00
Graydon Hoare
7f5bffc3ea Merge remote branch 'brson/recursive-elseif' 2011-03-14 16:59:04 -07:00
Brian Anderson
8b5574ac09 Rename check_assignment_like to check_assignment since it turned out not to be useful for send/recv 2011-03-14 16:41:46 -07:00
Brian Anderson
b83a4af93c Fix the typechecking for expr_send and expr_recv 2011-03-14 16:41:46 -07:00
Brian Anderson
4ce4d8857f Add ty_port and ty_chan to expr_ty function 2011-03-14 16:41:46 -07:00
Brian Anderson
83f758cf0d Typecheck expr_send and expr_recv 2011-03-14 16:41:46 -07:00
Brian Anderson
a309f74a94 Reorganize evaluation of expr_send/recv to put them closer to expr_assign, to which they are similar 2011-03-14 16:41:46 -07:00
Brian Anderson
f0842030f3 Fix typo in expr_recv parsing 2011-03-14 16:41:46 -07:00
Brian Anderson
644d8b95da Factor out expression checking for forms that look like assignment 2011-03-14 16:41:46 -07:00
Brian Anderson
7464237256 Add folding and type checking for ports and chans 2011-03-14 16:41:46 -07:00
Brian Anderson
a3cca65f6d Fold ty_chan and ty_port 2011-03-14 16:41:46 -07:00
Brian Anderson
292dac644f Parse receive expressions 2011-03-14 16:41:46 -07:00
Brian Anderson
80e0ebaa86 Parse port and chan types, constructors, send statements 2011-03-14 16:41:46 -07:00
Marijn Haverbeke
77f4c52c3e Make pretty-printer print 'with' clause in rec literals 2011-03-14 14:57:13 -07:00
Marijn Haverbeke
441697ab35 Extend stream functionality
Writer and reader streams now come with methods to write and read
little-endian numbers. Whether that is the right place for such
methods is debatable, but for now, that's where they live.
2011-03-14 14:57:13 -07:00
Marijn Haverbeke
c731d625fe Add basic file-system functionality
std.fs.list_dir will list the files in a directory, std.fs.file_is_dir
will, given a pathname, determine whether it is a directory or not.
2011-03-14 14:57:13 -07:00
Rafael Ávila de Espíndola
3436979b17 Split trans' collection in two passes. This allows us to handle tags
that are defined after use in a block.

This is really inefficient, but for now it lets us compile the included test.
2011-03-14 16:56:03 -04:00
Brian Anderson
bbb6836da0 Merge branch 'master' into recursive-elseif
Conflicts:

	src/comp/middle/typeck.rs
2011-03-13 19:40:25 -04:00
Brian Anderson
2a662944a4 Remove extra blocks from the translation of expr_block
Doesn't seem to break anything and allows trans_if to be streamlined
2011-03-13 19:29:40 -04:00
Graydon Hoare
ec7e84ae0d Preserve crate directives in the parsed crate. 2011-03-11 15:49:56 -08:00
Patrick Walton
9b3db0ed44 rustc: Add some stub metadata to each crate 2011-03-11 15:35:50 -08:00
Rafael Ávila de Espíndola
74d891517b reindex the block index. 2011-03-11 17:35:33 -05:00
Patrick Walton
6392bd1681 rustc: Load structural loop variables in iterators. Un-XFAIL foreach-put-structured.rs. 2011-03-11 14:29:45 -08:00
Rafael Ávila de Espíndola
28d51e3fd2 Add support for indexing tags in blocks. 2011-03-11 17:12:25 -05:00
Patrick Walton
37007a4d01 rustc: Populate the upvar environment when calling iterator bodies. Un-XFAIL test/run-pass/iter-range.rs. 2011-03-11 12:02:51 -08:00
Patrick Walton
336f22db61 rustc: Resolve upvars as necessary 2011-03-11 10:39:36 -08:00
Rafael Ávila de Espíndola
0117cf2fc2 Handle resolving to native modules. 2011-03-10 21:33:53 -05:00
Graydon Hoare
3aac5059ee Move the glue code to a .o file. This reduces how much asm we print
in each "translation unit".

Part of it is not repetitive and should probably be moved to a .ll file, but
for now we autogen all of it.

(Modified somewhat by graydon while integrating).
2011-03-10 17:30:08 -08:00
Patrick Walton
7454b53411 rustc: Build up a list of upvars inside foreach bodies 2011-03-10 16:49:00 -08:00
Patrick Walton
60f86354ad rustc: Use the generic info from the item in bind thunks just as calls do. Un-XFAIL drop-parametric-closure-with-bound-box.rs. 2011-03-10 15:14:45 -08:00
Patrick Walton
185bcc6218 rustc: Increment the counter in trans_bind_thunk() 2011-03-10 15:09:41 -08:00
Patrick Walton
41d5094a8e rustc: Fix off-by-one error and logic error regarding type parameters in the translation of bind expressions. Un-XFAIL bind-obj-ctor.rs. 2011-03-10 14:38:06 -08:00
Rafael Ávila de Espíndola
4ca0259b20 Update the current id when we create sub parsers. 2011-03-10 17:36:41 -05:00
Patrick Walton
36b81abf61 rustc: Perform a cast in vector initialization due to changing layers of indirection. Keep test/run-pass/size-and-align.rs XFAIL'd due to a leak in rustboot. 2011-03-10 12:15:07 -08:00
Patrick Walton
7505c1fa23 rustc: Run cleanups on while expressions' condition blocks. Un-XFAIL while-prelude-drop.rs. 2011-03-10 11:46:37 -08:00
Graydon Hoare
0d3cec71a3 Fix eval typo (caught by Martin Hock). 2011-03-10 10:17:10 -08:00
Graydon Hoare
8e8c336f93 Implement deep structural comparison through boxes and sequences. 2011-03-09 20:14:19 -08:00
Patrick Walton
874e8e3505 rustc: Have tag patterns use the type parameter information from the typechecker instead of trying to deduce it in trans. Un-XFAIL test/run-pass/generic-tag-values.rs. 2011-03-09 17:50:46 -08:00