Patrick Walton
b0f77088fa
Strip off TY_mutables and TY_constraineds when unboxing values during autoderef
2010-07-19 19:14:41 -07:00
Roy Frostig
ae515c017c
ctxt_auto_deref_lval decides whether to autoderef the entire lval, not its base.
2010-07-19 19:06:55 -07:00
Roy Frostig
fde9ca0937
Autoderef objects when passing them as implicit (indirect) arg upon vtbl-dispatch. Add testcase and XFAIL it on LLVM. Closes #112 .
2010-07-19 18:25:26 -07:00
Patrick Walton
0863114a05
Include the statements on the LHS of a binop when desugaring. Closes #117 .
2010-07-19 17:52:31 -07:00
Jeffrey Yasskin
e6fa75a124
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-19 17:52:31 -07:00
Jeffrey Yasskin
dff6955bb0
Work around auto-dereference crash in rustboot.
2010-07-19 17:52:31 -07:00
Michael Bebenita
c80483d582
Fixed circular buffer resizing bug.
2010-07-19 17:33:50 -07:00
Michael Bebenita
00d1465d13
Added a message passing system based on lock free queues for inter-thread communication. Channels now buffer on the sending side, and no longer require blocking when sending. Lots of other refactoring and bug fixes.
2010-07-19 14:05:18 -07:00
Graydon Hoare
1f0656d908
Add a test for an obvious-seeming (but not actually legal) kind of cast attempted in issue #115 , downgrade bug to an err in type.ml so you get a better message.
2010-07-19 13:25:04 -07:00
Graydon Hoare
f1db420317
Fix over-optimistic resolution of self-methods within obj scopes. There is no such feature in the language at present. Add test to prevent regression. Closes #114 .
2010-07-19 12:03:58 -07:00
Graydon Hoare
bacb8e6b79
Missing semicolon in type.ml, plus test to catch regression. Closes #113 .
2010-07-19 11:50:41 -07:00
Roy Frostig
2141154c85
Change the body-fetching GEP in mark_ty to be dynamic. Our box may be parametric.
2010-07-19 11:47:46 -07:00
Jeffrey Yasskin
2a2ec67e6e
Fix opeq.rs for LLVM by implementing simple augmented-assignment operators.
2010-07-20 02:08:01 +08:00
Jeffrey Yasskin
9d0d350d2c
Make the LLVM compiler crash when it hits a source construct it doesn't know
...
what to do with, rather than silently omitting it from the output.
2010-07-20 02:08:00 +08:00
Jeffrey Yasskin
fe78e33a2a
Un-XFAIL a bunch of LLVM tests that already pass.
2010-07-20 01:23:46 +08:00
Jeffrey Yasskin
395819c621
Sort the XFAILed tests to make it easier to track changes.
2010-07-20 01:23:46 +08:00
Jeffrey Yasskin
a96c5f208f
Make the build system run dsymutil so we can debug llvm-produced binaries on OSX.
2010-07-20 01:23:45 +08:00
Jeffrey Yasskin
ca95da8bea
Teach the LLVM backend to emit line number information.
...
This isn't complete: it misses line numbers in certain kinds of block. It's
also still tricky to use it on Darwin, where we need to call dsymutil while the
.o file is still around in order for gdb to find the debugging symbols.
2010-07-20 01:23:45 +08:00
Jeffrey Yasskin
d974aade93
Improve the LLVM-using experience.
...
llvm-config may be installed somewhere that's not on the path or in ocaml's
default lib directory, so allow users to override $CFG_LLVM_CONFIG with an
environment variable and look up lib and binary paths through calls to
llvm-config.
2010-07-20 01:23:45 +08:00
Brian Anderson
0633c7ae6e
Fix syntax of tag variants in the list example
2010-07-18 14:25:50 +08:00
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
Jeffrey Yasskin
8ebf72ed29
Fix the LLVM ocamlopt build.
2010-07-18 14:25:19 +08:00
Jeffrey Yasskin
bd56de745b
Explain that rust methods can't call other methods on the same object, either
...
implicitly or explicitly.
2010-07-18 14:25:18 +08:00
Jeffrey Yasskin
c3c425e9f1
Work around auto-dereference crash in rustboot.
2010-07-18 14:25:18 +08:00
Roy Frostig
fb68286700
Add incomplete hashmap implementation to stdlib.
2010-07-16 18:14:52 -07: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
Graydon Hoare
4d413af822
Un-XFAIL a couple tests fixed by pcwalton's new typechecker. Closes #50 . Closes #51 .
2010-07-16 15:22:40 -07:00
Patrick Walton
35e73b0627
Un-XFAIL generic-fn-twice.rs, issue 93
2010-07-16 15:07:40 -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
Patrick Walton
aa37b8c047
XFAIL foreach-nested.rs and foreach-nested-2.rs under LLVM
2010-07-16 14:46:54 -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
Graydon Hoare
5d8430afa7
Fix a couple fails with wrong arg count (new arg from last gc change); expand vec_grow logging a bit.
2010-07-15 18:59:31 -07:00
Graydon Hoare
f300ca4ed7
XFAIL the new destructor tests; collided with new typechecker; add test for issue #109 .
2010-07-15 18:57:21 -07:00
Patrick Walton
c96f0bf738
Implement the "simple typechecker", which avoids HM inference
2010-07-15 18:27:09 -07:00
Patrick Walton
91b4cae8da
Remove log-type-error; everything is loggable.
2010-07-15 18:18:58 -07:00
Graydon Hoare
e1b8863e45
Update AUTHORS.txt.
2010-07-15 17:28:35 -07:00
Graydon Hoare
60044bbcef
XFAIL jyasskin's new tests under LLVM backend.
2010-07-15 17:22:30 -07:00
Jeffrey Yasskin
b3ca7522bb
More destruction ordering tests.
2010-07-16 08:13:08 +08:00
Jeffrey Yasskin
7dd464fdb5
Initial test that the compiler runs destructors in the right order.
2010-07-16 08:13:08 +08:00
Jeffrey Yasskin
765a2b3ecf
Add a _vec.slice function that'll hold us over until .(a,b) syntax is
...
implemented. This could actually replace .(a,b) syntax if the language grows
optional function parameters.
2010-07-16 08:13:08 +08:00
Jeffrey Yasskin
c866672a99
Add a test for std._vec.init_elt, and an XFAILed test for std._vec.init_fn.
2010-07-16 08:13:08 +08: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