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