296 Commits

Author SHA1 Message Date
Patrick Walton
1c1dc651a7 Stub an interface to the (as-yet-nonexistent) structural comparison glue in trans 2010-07-18 14:25:43 +08:00
Jeffrey Yasskin
22eca31d98 Fix argv.rs under the LLVM compiler.
The call to rust_start was assuming that all rust main() functions have the
same signature, but the compiler doesn't actually canonicalize them.  So
instead just match the C signature of rust_start, and cast.
2010-07-18 14:25:19 +08:00
Roy Frostig
c906759807 Fix IL translation of pattern-alt to allow a value of mutable/constrained type to be the subject of a pattern-alt. 2010-07-16 18:04:34 -07:00
Patrick Walton
1ac01e16cf Ensure that functions that should return a value do; issue 41 2010-07-16 15:34:25 -07:00
Patrick Walton
8b00ab1a48 Feed the correct return type to the typechecker when typechecking objects, and add a testcase. 2010-07-16 14:54:47 -07:00
Roy Frostig
700e522dff More renaming of GEP offsets in abi/trans. This should settle it. Also, fix some overenthusiastic renaming in previous commit. 2010-07-16 12:23:46 -07:00
Roy Frostig
348e434cee Clean up nomenclature in the Abi constants brigade. Purge magic GEP numbers in trans. Adjust obj_closure_rty (and its consumers) to be more explicit about the fact that it is a box. 2010-07-16 11:17:25 -07:00
Graydon Hoare
de8a7dc7dc Merge branch 'contrib' 2010-07-15 23:58:13 -07:00
Jason Orendorff
7671828d45 Support nested for-each loops. Closes #79. 2010-07-16 14:53:49 +08:00
Patrick Walton
c96f0bf738 Implement the "simple typechecker", which avoids HM inference 2010-07-15 18:27:09 -07:00
Jeffrey Yasskin
3e63343fbc Let the compiler find libraries that aren't in the current directory. 2010-07-16 08:13:07 +08:00
Jeffrey Yasskin
29d0458814 Remove the __PAGEZERO segment from shared MachO libraries. This avoids a
segfault in dlclose() and fixes the tests on OSX 10.5.8.
2010-07-16 08:13:07 +08:00
Jeffrey Yasskin
9c4bc7b872 In Mach-O shared libraries, avoid counting an extra load command. Closes #99. 2010-07-16 08:13:07 +08:00
Graydon Hoare
6cf1fe8dd5 Merge branch 'master' of git@github.com:graydon/rust 2010-07-15 17:00:36 -07:00
Roy Frostig
d2b845d29c Define (in Abi) and use named constants for indices of elements of an obj IL referent type. 2010-07-15 16:54:38 -07:00
Graydon Hoare
c218d06601 Merge branch 'contrib' 2010-07-15 16:49:02 -07:00
Adam Bozanich
7a13a61e02 use,import,export parse fixes
* use,import,export must come before all other items.
* disallow use,import in "native" declarations.
2010-07-16 07:23:16 +08:00
Adam Bozanich
b096b0e308 permit use before import. closes #48 2010-07-16 07:19:14 +08:00
Patrick Walton
0b675a021a Make mutability no longer a type constructor 2010-07-15 15:20:04 -07:00
Roy Frostig
f02f9cbf29 Correct the way we get typarams when dropping an obj type in drop_ty by using get_tydesc_params. 2010-07-15 12:30:46 -07:00
Roy Frostig
25a38ee4f7 Modify copy_fn_args not to bother with dynamic GEP to get the indirect args cell in a calltup. It's now possible to obtain it with just regular GEP. 2010-07-15 12:30:46 -07:00
Roy Frostig
373f904c92 Explicitly provide an optional closure/obj pointer to trans_call_glue so that it can push one in the right position when calling glue, instead of always pushing a null. As far as I can tell this only affects calls to obj drop glue, since only that makes use of an object binding passed as closure/obj, so pass the binding there as needed. 2010-07-15 12:30:46 -07:00
Roy Frostig
df75165cf4 Make the x86 backend push an extra word as closure/obj arg when emitting any code that amounts to a glue or native call. 2010-07-15 12:30:46 -07:00
Roy Frostig
dbb109853f Adjust trans_call_glue to push/pop an extra null word implicit arg, in position of closure/obj pointer. 2010-07-15 12:30:46 -07:00
Roy Frostig
e21865a440 Begin moving closure-or-obj pointer out to front of call args by changing the order within the call-arg tup referent type. This breaks the world quite a bit, since it remains to fix custom call paths: glue, upcalls, natives. 2010-07-15 12:30:46 -07:00
Roy Frostig
44d719d5fb Make the call args referent type always have a closure word (non-optional, null in case of no closure) in preparation for shifting it inward from its current position at end-of-call-tup. 2010-07-15 12:30:46 -07:00
Graydon Hoare
b0ee41064c Minimize pointless logging during walk. 2010-07-14 17:05:17 -07:00
Graydon Hoare
0fdad302b8 Fix ret/put mis-identification in typechecker. Closes #87. 2010-07-14 09:41:08 -07:00
Graydon Hoare
405cd282a3 Typo fixes to docs, from Ralph Giles. 2010-07-13 16:04:31 -07:00
Graydon Hoare
bb243b3aef Desugar the head stmts all the way out of STMT_for, rather than stashing them in the node. That's only necessary for STMT_while. 2010-07-13 14:26:38 -07:00
Graydon Hoare
5063f0db96 Accept effect-qualified local item declarations. 2010-07-13 14:23:00 -07:00
Graydon Hoare
8e6c1aad82 Delete some dead code in x86. 2010-07-12 23:48:14 -07:00
Graydon Hoare
5860a25548 Merge branch 'contrib' 2010-07-12 15:14:27 -07:00
Graydon Hoare
d5ba0c3410 Wrap long line. 2010-07-12 13:30:46 -07:00
Graydon Hoare
1843c99b66 Revert previous wrong-change on issue #106; was papering over wrongness in the runtime. Sad times. Closes #106 more correctly (and adds comment to explain). 2010-07-12 13:26:28 -07:00
Graydon Hoare
314b906679 Add more tracing code to trans for refcount events. 2010-07-12 13:26:28 -07:00
Jason Orendorff
1d9212ba85 Fix formatting trivia in Ast.fmt_stmt_body. 2010-07-13 02:59:36 +08:00
Patrick Walton
b172862d21 Add a ty_children function to enumerate the children of any type 2010-07-12 10:40:37 -07:00
Graydon Hoare
b3cf793bd9 Fix post-stmt drop calculations. Closes #106. 2010-07-11 22:31:56 -07:00
Graydon Hoare
30c4070e3d Add a boot/README file explaining rustboot's organization a bit. 2010-07-11 14:54:43 -07:00
Graydon Hoare
ab3921f27e Catch cyclic imports harder. Add 2 tests to confirm. 2010-07-09 11:59:00 -07:00
Graydon Hoare
fdaa723c4a Encode and decode DW_AT_rust_iterator on DW_TAG_subprogram DIEs. 2010-07-08 22:58:11 -07:00
Graydon Hoare
cbc31ea01e Add detection for cyclic imports. 2010-07-08 21:56:08 -07:00
Roy Frostig
063f388534 Err kindly instead of asserting on duplicate mod declarations in crates. 2010-07-08 15:13:25 -07:00
Matt Brubeck
d344f151f9 Fix typo in token.ml. 2010-07-09 05:28:10 +08:00
Graydon Hoare
48488b0dcf Build fix from jmuizelaar (on ocamlc versions that notice this bug; drat, not all do) 2010-07-08 08:25:12 -07:00
Matt Brubeck
244ea68082 Issue 66: Multi-line comments 2010-07-08 22:43:15 +08:00
Graydon Hoare
e813388df8 Numerous bug fixes to typestate algorithm. 2010-07-06 23:18:29 -07:00
Graydon Hoare
d3cfbdaddd Correct flow-graph wiring for STMT_if. 2010-07-06 18:07:52 -07:00
Graydon Hoare
6302e18056 Wrap long line. 2010-07-06 17:06:46 -07:00