Commit Graph

464 Commits

Author SHA1 Message Date
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
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
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
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
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
Graydon Hoare
3b9286cb65 XFAIL use-import-export.rs on the LLVM backend. 2010-07-15 16:57:28 -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
5d10a264de Add another null byte preceding commandline args passed to the root task, in position of closure/obj pointer. 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
7c8c98a6d7 Adjust call args laid out by fake frame created in rust_task::start to reflect new position of closure-or-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
d0da083c5b Fix support for profiling the compiler. 2010-07-14 17:03:08 -07:00
Graydon Hoare
872f588ccb Sketch some not-quite-compiling code into comp/fe/lexer.rs. 2010-07-14 09:41:36 -07:00
Graydon Hoare
0fdad302b8 Fix ret/put mis-identification in typechecker. Closes #87. 2010-07-14 09:41:08 -07:00
Graydon Hoare
777002c565 Fix LLVM-detection logic to notice when we have, or don't have, the ocaml bindings. Also XFAIL missed new case. Closes #102. 2010-07-13 16:23:52 -07:00
Graydon Hoare
405cd282a3 Typo fixes to docs, from Ralph Giles. 2010-07-13 16:04:31 -07:00
Graydon Hoare
2eba370aa2 Fix the next typo in mlist-cycle.rs; still doesn't work. 2010-07-13 14:27:23 -07:00
Graydon Hoare
1d1a7985a8 Add some (non-functional) input-readingn to rustc.rs. 2010-07-13 14:26:59 -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
15ef6c12d9 Modify _io's fd_buf_reader to do something slightly more useful: produce multiple buffers on demand. 2010-07-13 14:24:47 -07:00
Graydon Hoare
40d6aacb82 Add differently-typed refcount synonyms to _str and _vec. 2010-07-13 14:23:49 -07:00
Graydon Hoare
5063f0db96 Accept effect-qualified local item declarations. 2010-07-13 14:23:00 -07:00
Graydon Hoare
c3945da2e4 Add another pile of LLVM bindings. 2010-07-12 23:48:44 -07:00
Graydon Hoare
8e6c1aad82 Delete some dead code in x86. 2010-07-12 23:48:14 -07:00
Graydon Hoare
cd0c9dd4fb Start bringing in LLVM bindings. 2010-07-12 17:47:40 -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
7c837b8c9b Correct doubly-linked list management logic; bug exposed during conversation on issue #106. 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
Chris Double
2fcd99c3e6 Fix for compile error when using gcc 4.5.0 2010-07-11 11:10:56 +08:00
Graydon Hoare
5e0757f0ba Disable llvm-config logic due to optimistic assumption of "having the ocaml bindings". Also add NO_LLVM override make-var, for good measure. 2010-07-10 19:58:02 -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
fc4338e584 Add rule for building shootout tests. 2010-07-08 21:56:09 -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
3f354b24dc Clean out rustc so it doesn't give the false impression of doing anything yet. 2010-07-08 10:45:34 -07: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
115e14a32c Some more typestate tests. 2010-07-08 07:33:25 -07: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
Graydon Hoare
d4975a198b Add init(arg) to STMT_call precondition for each arg. 2010-07-06 13:52:41 -07:00
Graydon Hoare
a3f2609630 Add native-clean target. 2010-07-06 13:51:39 -07:00
Graydon Hoare
b1eeb9b825 Change from 'spawner' to 'supervisor' in rust_task, and add an unsupervise call. 2010-07-05 14:43:40 -07:00
Graydon Hoare
3175c83ff0 Un-XFAIL mutable-alias-vec.rs. Was only failing due to a typo, but a more thorough test revealed more bugs. 2010-07-05 14:43:02 -07:00
Graydon Hoare
f360d222c8 Uint-ify various bits of _str and _vec, enrich _vec a bit. 2010-07-05 14:42:12 -07:00
Graydon Hoare
fdf2eaac91 Divide vec fill by element size when reporting vec len. 2010-07-05 14:40:01 -07:00
Graydon Hoare
0fe1508a8a Use typed slot rather than AST slot in trans_for_loop. 2010-07-05 14:39:08 -07:00
Graydon Hoare
b0aba6510a Teach the dwarf readers to handle udata, so we can link with util.option; add util.rs to std.rc. 2010-07-05 14:38:02 -07:00
Graydon Hoare
ad61f02d36 Rename some stuff in lib/util.rs. 2010-07-05 14:36:39 -07:00
Graydon Hoare
6014384a5d Log completion on the many.rs test. 2010-07-04 22:41:57 -07:00
Graydon Hoare
75f0c36931 Perform valgrind-specific timing tweaks in a platform-sensitive manner. 2010-07-04 22:41:42 -07:00
Graydon Hoare
24afa7532f XFAIL native-mod when running MINGW_CROSS. 2010-07-04 22:41:04 -07:00
Graydon Hoare
c21e12bc8b Move NO_VALGRIND check below MINGW_CROSS. 2010-07-04 22:40:19 -07:00
Graydon Hoare
2a413070c6 Preempt works on non-windows, just needed a little valgrind love to complete in a reasonable time. 2010-07-04 21:18:47 -07:00
Graydon Hoare
f2861448ab Fix bug in win32 command-line arg processing. 2010-07-04 20:06:18 -07:00
Graydon Hoare
7f01af9555 XFAIL the remainder as until pwalton has a go at the typechecker. Branch is otherwise done, enough to merge anyway. 2010-07-04 17:01:22 -07:00
Graydon Hoare
1833fa1df2 Fix generic-derived-type.rs and generic-obj-with-derived-type.rs. 2010-07-04 16:42:58 -07:00
Graydon Hoare
8217ce6228 Improve type.ml logging. 2010-07-04 16:42:11 -07:00
Graydon Hoare
ff6278f51a Fix rec-extend.rs test. 2010-07-04 16:11:56 -07:00
Graydon Hoare
cae60cbaba Fix compile-fail/log-type-error.rs. 2010-07-04 16:02:12 -07:00
Graydon Hoare
1fa468460d Fix typo in upcall_recv log message. 2010-07-04 02:15:11 -07:00
Graydon Hoare
1ac6a5038d Comment-out glue interrupt-flag test; unclear why it breaks, but glue call-tree is always finite anyways so not a big deal for now. 2010-07-04 02:14:46 -07:00
Graydon Hoare
5db3f6ef6a Spill immediates with proper IL type (was making valgrind dislike obj-with-vec.rs). 2010-07-04 01:06:29 -07:00
Graydon Hoare
bd514114cf Fix bug crashing valgrind in obj-recursion.rs. 2010-07-04 00:45:56 -07:00
Graydon Hoare
51c38d5903 Improve logging in drop paths. 2010-07-04 00:45:35 -07:00
Graydon Hoare
5b2cc21e4f More corrections to drop/free path to accommodate TY_box. 2010-07-03 23:55:21 -07:00
Graydon Hoare
df0fa603d0 Add version-stamp machinery (and put "Draft + datestamp" into doc footer). 2010-07-03 00:27:33 -07:00
Graydon Hoare
cf19c5132a Hey, what's a coding sprint without an uncovered register allocation bug? No fun, I say. 2010-07-02 22:44:21 -07:00
Patrick Walton
667d46bef9 Add an arr_iter2 function to common.ml 2010-07-02 18:02:46 -07:00
Graydon Hoare
50e75e049b Deja vu all over again. Something makes me think this is a usability hazard. 2010-07-02 17:14:46 -07:00
Graydon Hoare
233be40e25 Terminology mop-up. 2010-07-02 17:13:02 -07:00
Graydon Hoare
46ebf12f40 You may get the feeling that all these changes look eerily the same. You would be correct. 2010-07-02 17:04:16 -07:00
Graydon Hoare
3070725cce Simplify type before deciding how to free it. Hint: calling free() on a running task is usually a bad idea. 2010-07-02 16:42:42 -07:00
Graydon Hoare
8660ce50a1 Merge branch 'master' of git@github.com:graydon/rust into exterior_and_mutable_types 2010-07-02 16:27:39 -07:00
Graydon Hoare
026cdf9747 Fix bug in clone logic; was ignoring the mutability-strip step in later rule. 2010-07-02 16:16:57 -07:00
Graydon Hoare
0be19e8a95 Teach severing logic to handle obj and fn types. 2010-07-02 16:12:58 -07:00
Graydon Hoare
ec0de963e0 Wrap long line. 2010-07-02 16:12:34 -07:00
Graydon Hoare
63f9bd7b63 Trace mark and sever steps in GC. 2010-07-02 16:12:10 -07:00
Graydon Hoare
b1d3e9697a Return LLVM to at least being able to run hello world. 2010-07-02 15:11:44 -07:00
Graydon Hoare
6d58987538 Walk (mut/constr stripped) TY_iso edges when boxed. Fault on non-boxed edges; they should not have made it past resolve. 2010-07-02 14:58:55 -07:00
Graydon Hoare
1578715d12 Compensate for .tmp in run-fail tests. 2010-07-02 13:35:29 -07:00
Graydon Hoare
4d00333b1e New test of explicit deref operator. 2010-07-02 12:55:12 -07:00
Graydon Hoare
4ea41512fc Change make rules around running tests to not produce an .out file if test-run fails. 2010-07-02 12:54:01 -07:00
Graydon Hoare
f522605f6b Permit mutables as comparable in all contexts. 2010-07-02 12:52:58 -07:00
Graydon Hoare
f955d06ca9 Don't unify the *input* to init-box with a box constraint, nurr. 2010-07-02 12:33:51 -07:00
Graydon Hoare
0efce5ebe2 Improve logging in type. 2010-07-02 12:32:49 -07:00
Graydon Hoare
74775eff7e Box the args entering the vec-drop test. 2010-07-02 12:32:28 -07:00
Graydon Hoare
41fa7a404e Merge branch 'exterior_and_mutable_types' of git@github.com:graydon/rust into exterior_and_mutable_types 2010-07-02 12:03:46 -07:00
Graydon Hoare
285a4735b9 Parse effect-qualified type definitions. 2010-07-02 12:02:56 -07:00
Patrick Walton
a343133511 Allow formatting individual decl_params 2010-07-02 11:57:04 -07:00
Roy Frostig
49656f68b8 Gut the box[m][o] family from util. 2010-07-02 11:03:33 -07:00
Graydon Hoare
a7665b2ae1 Correct drop-ty path; many tests now run. 2010-07-02 09:46:27 -07:00
Graydon Hoare
d9037af22d Improve drop-path logging and simplify box_rc_cell. 2010-07-02 09:45:24 -07:00
Graydon Hoare
b2692ef2ec Actually link GC allocations onto the gc_alloc_chain, der. 2010-07-02 08:17:41 -07:00
Graydon Hoare
c7ef0ded81 Improve logging on upcall_malloc. 2010-07-02 08:17:09 -07:00
Graydon Hoare
c33a522097 Handle DW_FORM_blcok4 in runtime dwarf reader, which we started emitting a while ago. 2010-07-02 08:16:34 -07:00
Graydon Hoare
113c31a26d Trap missing attr forms during dwarf-scan and shut down dwarf reader, don't crash. 2010-07-02 08:16:04 -07:00
Graydon Hoare
99be02a28d Indent/outdent when logging dwarf at runtime. 2010-07-02 08:15:27 -07:00
Graydon Hoare
8370b947a4 Wrap long lines. 2010-07-01 23:53:32 -07:00
Graydon Hoare
60c6ae3ad5 Box arguments that are supposed to be boxed. 2010-07-01 23:50:58 -07:00
Graydon Hoare
f0faeaed25 Yeah. Not even a semantic mix-up: just a damn typo. 2010-07-01 23:45:16 -07:00
Graydon Hoare
27d69a88b1 Teach clone_ty to tolerate cloning a mutable (though not state) type. 2010-07-01 23:20:28 -07:00
Graydon Hoare
a2e4d45600 Improve mangling. 2010-07-01 23:15:42 -07:00
Graydon Hoare
f3de4ee2a7 Teach the associative_binary_op_ty_fold about box, mutable and tys. 2010-07-01 23:12:34 -07:00
Graydon Hoare
01cfcfab13 Strip outer 'mutable' off slot when deciding if pred can apply. 2010-07-01 21:20:30 -07:00
Graydon Hoare
2d40bc669c Retire defunct copy_ty in favour of trans_copy_ty, which invokes the same logic at the bottom. 2010-07-01 21:02:49 -07:00
Graydon Hoare
d0a1b6e914 Reinstate disgusting, filthy workarounds for deriving missing type information. It existed before, we will survive if it exists now. 2010-07-01 20:24:23 -07:00
Graydon Hoare
4273986623 Remove similar over-application of auto-deref from type. 2010-07-01 19:30:35 -07:00
Graydon Hoare
65a87a55a1 Remove too-optimistic (and not harmless) over application of auto-deref in trans. 2010-07-01 19:29:51 -07:00
Graydon Hoare
314af0a44b Split out and improve trans_init_box. 2010-07-01 19:29:03 -07:00
Graydon Hoare
7df949af40 Add logging to trans_init_slot_from_atom. 2010-07-01 19:28:11 -07:00
Graydon Hoare
6c9832d3ec Catch ast pretty-printer up with init-tup syntax. 2010-07-01 19:27:20 -07:00
Graydon Hoare
bb018b24f5 Fox the clauses that actually satisfy box and mutable constraints; in all the confusion I had got those wrong. 2010-07-01 18:39:58 -07:00
Graydon Hoare
c27879a1aa Of course, the LHS constraint on an init-box statement is mutable @. 2010-07-01 18:39:08 -07:00
Graydon Hoare
fdafec39de Clarify in type logging when we have a constraint vs. a resolved type. 2010-07-01 18:38:28 -07:00
Graydon Hoare
fb7e37842b Add compile-check target for just attempting to compile, not run, the tests. 2010-07-01 18:37:53 -07:00
Graydon Hoare
f72774db7a Correct existing reliance on auto-box / unbox behavior in tests. 2010-07-01 18:37:30 -07:00
Graydon Hoare
792d96474e Box the integer passed to the handle in obj-drop.rs. No more implicit arg-boxing. 2010-07-01 18:04:21 -07:00
Graydon Hoare
2120599387 Establish the box constraint on the dst in STMT_init_box before propagating it to the rval. 2010-07-01 18:03:37 -07:00
Graydon Hoare
c30353d4f9 Remove TYSPEC_loggable. Everything's loggable (or will be, eventually; the backend can catch unimplemented cases until then). 2010-07-01 17:56:20 -07:00