Commit Graph

107240 Commits

Author SHA1 Message Date
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 c99f0273e3 Make sure debug locations are propagated to every new block created by making
them an argument to new_block.  gdb should do a good job of single-stepping
LLVM-compiled rust programs by rust line number now.
2010-07-22 01:11:35 +08: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
Jeffrey Yasskin 068c71f11c Fix -Wnon-virtual-destructor, which apple's gcc-4.0 seems to turn on by default. 2010-07-22 01:11:34 +08:00
Graydon Hoare aca5082273 Back out "::ALL" default logbits. 2010-07-20 18:38:06 -07:00
Roy Frostig 9c81889ad2 Add a (coarse, first-pass) deque implementation to stdlib. 2010-07-20 18:03:09 -07:00
Graydon Hoare bf3528342a Be a little more careful before assuming we have crate debuginfo and abbrevs to read. 2010-07-20 17:42:49 -07:00
Patrick Walton 34016d323c Make bound functions have the right types 2010-07-20 17:29:36 -07:00
Michael Bebenita 66181ce2cc Fixed Windows build. 2010-07-20 15:44:21 -07:00
Graydon Hoare cb989a816d Pick off the last LLVM-crasher from mbx's change. 2010-07-20 15:29:13 -07:00
Graydon Hoare 05f34b0886 Adjust llasm, llabi to be aware of changes to rust_task structure. Still not working fully. 2010-07-20 15:17:08 -07:00
Graydon Hoare 9935a48e95 Fix message formatting in runtime library. 2010-07-20 15:16:09 -07: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 62522def74 Tidy up handling of unimplemented features. These are expected (if undesirable) sorts of error, we should handle better than "backtrace and exit 2". 2010-07-20 13:55:56 -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 c69ec53dc5 Remove explicit deref workaround in dtor-order test. No longer necessary. 2010-07-20 09:15:23 -07:00
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