Commit Graph

96 Commits

Author SHA1 Message Date
Jeffrey Yasskin
fdb842f9e6 Fix LLVM translation of modules. 2010-08-06 17:14:59 -07:00
Graydon Hoare
29987b56e1 Move 'as' precedence up to just above relational; support indexing str and vec by all integral types. Closes #94. 2010-08-05 10:04:11 -07:00
Graydon Hoare
cbe68d4ccb Add a CHECK_XFAILS target that inverts the sense of check: it tries to compile and run the tests marked as XFAILs. 2010-08-04 15:29:59 -07:00
Graydon Hoare
815424c2ec Fix pexp parser to do left-associativity, not right. Closes #130. 2010-08-04 13:44:22 -07:00
Graydon Hoare
ac4c5ae19b Bah. xfail arithmetic-interference for now; linux tinderbox is burning on it and it's late. 2010-08-04 00:37:25 -07:00
Roy Frostig
6277b462e9 More stdlib hashmap work. Add a simple test and XFAIL it due to a valgrind-spotted UMR. 2010-08-03 18:43:57 -07:00
Graydon Hoare
1fc4e9fcc6 Add tests and fix pexp bug. Closes #141. 2010-08-03 12:20:29 -07:00
Graydon Hoare
c7714b86ea XFAIL all task-related tests for now; yesterday's work on notification proxies broke inter-task shutdown. 2010-07-29 12:47:37 -07:00
Michael Bebenita
74a79fff3a Add a bunch of comm tests. 2010-07-28 20:30:30 -07:00
Michael Bebenita
e1264ac59c Add some missing headers to the Makefile's RUNTIME_HDR list. 2010-07-28 20:30:29 -07:00
Michael Bebenita
4246d567b7 Move ports out into their own file, add data_message and make communication system use it (and proxies) instead of existing token scheme. 2010-07-28 20:30:29 -07:00
Michael Bebenita
4ff8e15128 Move notification-messages out into their own file and unify into notify_message, make them use proxies, cache task proxies in dom. 2010-07-28 20:30:29 -07:00
Roy Frostig
3c22e79b77 Burn the mac and win trees less. Deque test is XFAILed, despite doing fine on Linux. 2010-07-28 17:50:07 -07:00
Roy Frostig
f282c5ccc0 Get slots in trans_tag using Semant tables. Closes #133. 2010-07-28 15:04:58 -07:00
Roy Frostig
596d19e2ea Test the deque a bit. Give it a get-by-index method. Fix two uncovered state-calculation bugs --- one decently, the other with an ugly hack. Bug on the latter coming right up. 2010-07-28 14:00:44 -07:00
Graydon Hoare
8030757624 Switch machine-type lexemes to use suffixes. Remove support for foo(bar) as a cast notation. Closes #129. 2010-07-27 19:21:51 -07:00
Graydon Hoare
6662aeb779 Calm some LLVM indigestion of last change. 2010-07-27 17:23:41 -07:00
Patrick Walton
4b97b4e79d Move the test suite to the "as" form for casts. XFAIL a few tests for LLVM. 2010-07-26 15:22:21 -07:00
Roy Frostig
5b6e714d05 Expose an RNG (the one used by our runtime) to Rust via std. 2010-07-25 21:45:09 -07:00
Graydon Hoare
fe82978980 Modify testcase to match new syntax and un-XFAIL mutable-vec-drop.rs. 2010-07-23 12:32:12 -07:00
Graydon Hoare
6668595ebf Include all lval-writing statements in stmt_is_init calculation, not just "copy-like". Un-XFAIL generic-tag-alt.rs 2010-07-23 12:21:06 -07:00
Roy Frostig
1730d2e037 Notify copy glue of dst-initialization and fix _vec.alloc issues in lib and runtime. Closes #109. 2010-07-22 17:47:32 -07:00
Graydon Hoare
ede42cf931 A certain incomplete quantity of wrestling with "INIT" statements that don't actually initialize. Should probably rename them to MAKE. Anyway, WIP, but two steps forward (and one back). More later. 2010-07-22 17:05:45 -07:00
Graydon Hoare
c6af9dda69 Un-XFAIL stuff that started working when pcwalton's new typechecker landed. 2010-07-22 15:40:04 -07:00
Graydon Hoare
a61be2d74a XFAIL task-comm-5, it's burning the tinderboxes. 2010-07-22 12:26:09 -07:00
Graydon Hoare
eaa35611dc Add XFAIL'ed test for return-in-iter, call unimpl when we find it. Closes #100. 2010-07-22 12:24:55 -07:00
Graydon Hoare
c96634af4b Fix mem op= mem bug in trans.ml (via not terribly good fix). Closes #111. 2010-07-22 12:11:39 -07:00
Jeffrey Yasskin
2c24f70cf4 Fix simple generic type parameters in LLVM. 2010-07-23 00:42:51 +08:00
Jeffrey Yasskin
09885b5b87 Implement tuple access for LLVM.
This involved adding an Ast.ty return to trans_lval.

I also included the code for record and box access, but their tests don't
completely pass yet.
2010-07-23 00:42:51 +08:00
Graydon Hoare
c070c11248 Nothing change, to tickle tinderboxes. 2010-07-21 15:10:16 -07:00
Graydon Hoare
5cebace3d8 XFAIL comm-2 for now; there's an assertion trappping in rust_task::wakeup. 2010-07-21 12:22:50 -07:00
Jeffrey Yasskin
215060b72b Teach the makefile to generate .ll files,
which are helpful in debugging the llvm backend.  Also tell git to ignore
LLVM's intermediate files.
2010-07-22 01:11:34 +08:00
Graydon Hoare
53f787e0b3 Fix more bad tabs in Makefile. 2010-07-20 15:15:36 -07:00
Graydon Hoare
01353b2a7f Extend compile-check for llvm case. 2010-07-20 14:00:03 -07:00
Graydon Hoare
0bd33ad4b0 Re-XFAIL stuff that is definitely still unsupported in LLVM-land (like, throws Not_implemented). 2010-07-20 12:16:34 -07:00
Graydon Hoare
27c3af0d91 Fix whitespace in Makefile. 2010-07-20 12:15:44 -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
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
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
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
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