Brian Anderson
7bd0437b08
Convert rustc main to ivecs
2011-08-17 09:55:55 -07:00
Patrick Walton
d8c5bd6195
rt: Implement obstacks, untested as of yet
2011-08-16 19:49:25 -07:00
Graydon Hoare
5a209c8350
Fix some comments.
2011-08-16 17:39:25 -07:00
Graydon Hoare
ce276211f5
Remove dead send/recv operator tokens.
2011-08-16 17:39:25 -07:00
Eric Holk
fc616af820
Updating to new type parameter syntax.
2011-08-16 16:52:52 -07:00
Eric Holk
8686645aad
New channel-based task status notifications.
2011-08-16 16:47:40 -07:00
Michael Sullivan
07225e2169
Make a call with the wrong number of arguments non-fatal. Closes #784 .
2011-08-16 16:41:29 -07:00
Michael Sullivan
837342242c
Make fewer typechecker errors immediately fatal.
2011-08-16 16:39:49 -07:00
Erick Tryzelaar
70b009178c
Remove support for expr[T] syntax.
2011-08-16 15:05:57 -07:00
Erick Tryzelaar
c92f5b34d5
Remove support for foo[T] declaration syntax.
2011-08-16 15:05:57 -07:00
Erick Tryzelaar
adb9cde399
Remove type parameter and vec/port/chan foo[T] syntax.
2011-08-16 15:05:57 -07:00
Erick Tryzelaar
b3eba15271
Port the tests to the expr foo::<T> syntax.
2011-08-16 15:05:57 -07:00
Erick Tryzelaar
af21a27002
Port the compiler to the expr foo::<T> syntax.
2011-08-16 15:05:56 -07:00
Erick Tryzelaar
d9327a61bb
Port the stdlib to the expr foo::<T> syntax.
2011-08-16 15:05:56 -07:00
Erick Tryzelaar
3520499544
Port the tests to the decl foo<T> syntax.
2011-08-16 15:05:56 -07:00
Erick Tryzelaar
4abc471390
Port the compiler to foo<T> decl syntax.
2011-08-16 15:05:56 -07:00
Erick Tryzelaar
4c9049c50c
Port the stdlib to the decl foo<T> syntax.
2011-08-16 15:05:56 -07:00
Erick Tryzelaar
21f46a1655
Port the tests to the typaram foo<T> syntax.
2011-08-16 15:05:56 -07:00
Erick Tryzelaar
e4a0f997fb
Port the compiler to the typaram foo<T> syntax.
2011-08-16 15:05:56 -07:00
Erick Tryzelaar
f764f9a8cf
Port the stdlib to the typaram foo<T> syntax.
2011-08-16 15:05:56 -07:00
Graydon Hoare
8043788e3a
Register new snapshots.
2011-08-16 14:59:52 -07:00
Erick Tryzelaar
014c6922e1
Change expr foo[T] syntax to foo::<T>.
...
This preserves the old syntax for now.
2011-08-16 14:16:14 -07:00
Erick Tryzelaar
9304b7ee59
Change declaration type parameter syntax to foo<T>.
2011-08-16 14:16:14 -07:00
Erick Tryzelaar
0107d6a81d
Change type parameter syntax to foo<T>.
...
This preserves the old syntax for now.
2011-08-16 14:16:14 -07:00
Patrick Walton
6e06893819
fuzzer: Remove send and recv
2011-08-16 12:46:43 -07:00
Patrick Walton
03174b4379
rustc: Implement unique pointer allocation and deallocation
2011-08-16 12:41:53 -07:00
Marijn Haverbeke
27169387fe
Remove partial DPS back-end
...
It won't be finished on the short term, and it's already bit-rotting
fast. We can fetch this from git's autumn annals if we need it.
2011-08-16 21:35:50 +02:00
Eric Holk
3db300b06e
Removing port, chan and task shapes.
2011-08-16 12:30:32 -07:00
Michael Sullivan
a9c46e29bc
Don't put the target in the bind closure if it is statically known. Closes #177 .
2011-08-16 12:13:21 -07:00
Brian Anderson
2f61848b24
Add pp test for interleaving comments through vectors. Closes #679
2011-08-16 11:39:04 -07:00
Eric Holk
89df915a13
Removing task, chan and port upcalls.
2011-08-16 11:22:24 -07:00
Eric Holk
862bc521a1
Removing tasks, ports and chans from the compiler.
2011-08-16 10:59:49 -07:00
Brian Anderson
f05a91a0dc
Rename std::ivec to std::vec
2011-08-16 10:36:19 -07:00
Brian Anderson
38c2363c45
Replace std::ufind with std::ufindivec. Remove std::ufindivec
2011-08-16 10:29:09 -07:00
Brian Anderson
df402a5029
Rename bitv::to_ivec to to_vec
2011-08-16 10:29:09 -07:00
Brian Anderson
bab29af449
Continue migrating the std #fmt interface to ivecs
...
Only thing left is to remove some duplicate interfaces in std::extfmt::rt
after the next snapshot
2011-08-16 10:29:09 -07:00
Brian Anderson
46658c4a9c
Revert "Revert "Make [] and ~[] both construct ivecs""
...
This reverts commit 28bf190219
.
Should work now that tests are all using ivecs
2011-08-16 10:29:09 -07:00
Brian Anderson
f32079f7c0
Convert most main functions to the ivec signature
...
Converting rustc will still take a snapshot
2011-08-16 10:29:08 -07:00
Brian Anderson
184eac90ab
Add and use an ivec interface to std::test
2011-08-16 10:29:08 -07:00
Brian Anderson
053b8bff5a
Accept main(args: [str]) as main signature
2011-08-16 10:29:08 -07:00
Eric Holk
76aab80e39
Disabling TRACK_ALLOCATIONS
2011-08-16 10:28:09 -07:00
Eric Holk
88a47020cf
Updating sio tests.
2011-08-16 09:45:55 -07:00
Eric Holk
cf2def46c1
Removed trans_comm.rs from the compiler. Updating aio/sio to work with the new chan and port system, started on a networking module for the standard library.
2011-08-16 09:36:29 -07:00
Marijn Haverbeke
e33af7e0b5
Make let bindings' scope start at their definition
...
Also, allow let bindings in a block to shadow each other.
2011-08-16 13:45:41 +02:00
Marijn Haverbeke
92719e438c
Clean up zip and unzip in std::ivec
2011-08-16 13:45:41 +02:00
Marijn Haverbeke
dfcf997801
Register new snapshot
2011-08-16 13:45:41 +02:00
Lindsey Kuper
f91351aaf6
The wonky for...in... whitespace was bothering me. Sorry!
2011-08-15 22:19:50 -07:00
Brian Anderson
cb239cc028
XFAIL task-comm-15
...
Fails consistently on windows
2011-08-15 19:28:38 -07:00
Brian Anderson
977d8ba0e9
Abort abruptly on failure on windows
...
Trying to shutdown cleanly results in wierd failures
2011-08-15 19:25:47 -07:00
Patrick Walton
e3d5b8a8d5
rustc: Add a few type-related methods to unique pointers; add typestate support
2011-08-15 18:12:31 -07:00
Michael Sullivan
42034f5e34
Remove a FIXME that I just made obsolete...
2011-08-15 17:40:08 -07:00
Michael Sullivan
14d85ca87a
Make bind glue do an llvm tail call to the target. Closes #2 .
...
Now, llvm probably won't actually *emit* a tail call with the compiler
options and configuration we have, but this should punt it over to the
more general "do tail calls" bug.
2011-08-15 17:36:28 -07:00
Lindsey Kuper
d55048ec5c
Test case for issue #115 .
2011-08-15 17:10:13 -07:00
Lindsey Kuper
4ff6b6fc27
Test cases for issue #822 .
2011-08-15 16:29:42 -07:00
Michael Sullivan
f1cec5793f
Make GEPi use InBoundsGEP.
2011-08-15 16:19:47 -07:00
Lindsey Kuper
93d425e7a5
Simple example of anonymous objects from nothing. Closes #812 .
2011-08-15 16:13:29 -07:00
Michael Sullivan
886c2ee93e
Tests for type inferred lambda-blocks.
2011-08-15 15:48:11 -07:00
Michael Sullivan
9e084469af
Pretty print lambda-blocks.
2011-08-15 15:48:11 -07:00
Michael Sullivan
9eb798e965
Change arg typechecking procedure to make blocks more useful.
2011-08-15 15:48:10 -07:00
Michael Sullivan
d68f1a80dc
Implement type inference for type-inferred blocks.
2011-08-15 15:48:10 -07:00
Michael Sullivan
9b50011aae
Parse type inferred lambda-block expressions.
2011-08-15 15:48:10 -07:00
Graydon Hoare
814bf41d89
Add operator 'copy', translates as fall-through.
2011-08-15 15:44:41 -07:00
Brian Anderson
9ca8df93b3
XFAIL run-pass/task-killjoin
...
Seems to be failing with some consistency
2011-08-15 15:41:33 -07:00
Paul Stansifer
ac0e5ea0ef
Implement an untyped version of the AST, with a coversion back to the typed AST..
2011-08-15 15:35:28 -07:00
Paul Stansifer
ebb16e6a25
Use span stacks to track macro expansion for less troublesome error messages.
2011-08-15 15:35:28 -07:00
Paul Stansifer
c48036c0b7
Make spans into stacks (to store expansion backtraces).
2011-08-15 15:35:27 -07:00
Paul Stansifer
87b56b5565
Allow [a, b, ..., c]
transcription patterns in MBE.
2011-08-15 15:35:27 -07:00
Paul Stansifer
d2f9b15052
Rename a field (so that macros can mention it).
2011-08-15 15:35:27 -07:00
Paul Stansifer
b803326063
Change node_id
s when expanding, to avoid duplicates.
2011-08-15 15:35:27 -07:00
Paul Stansifer
f50a582126
Add a syntax extension to log syntax, for debugging macros.
2011-08-15 15:35:27 -07:00
Paul Stansifer
e7139e28f4
Add a layer of boxing as a hack; this code can segfault otherwise.
2011-08-15 15:35:27 -07:00
Paul Stansifer
6d39be465f
Add backtraces for syntax problems.
2011-08-15 15:35:27 -07:00
Paul Stansifer
5428d4ee6d
Check for nonconsistent macro names.
2011-08-15 15:35:27 -07:00
Michael Sullivan
e39d835390
Fix compilation of paths containing ".". Closes #821 .
2011-08-15 15:15:34 -07:00
Patrick Walton
af61daf294
rustc: Parse and typecheck unique pointers
2011-08-15 14:38:48 -07:00
Eric Holk
5c6790519b
Reducing the chances for race conditions in join.
2011-08-15 12:39:55 -07:00
Patrick Walton
55c9842e7d
rustc: Unbreak "3 as uint < 5u"
2011-08-15 12:06:10 -07:00
Patrick Walton
91d83f5547
rustc: Accept <T> for type parameters in type and item declarations
2011-08-15 11:01:31 -07:00
Eric Holk
3fd3f35699
Fixing win32 build.
2011-08-15 10:48:04 -07:00
Eric Holk
871013b942
Syntax updates.
2011-08-15 09:52:18 -07:00
Eric Holk
d63f8340a5
Properly ref counting to fix valgrind issues on linux.
2011-08-15 09:26:52 -07:00
Eric Holk
aa0a51a7f5
Converted over benchmarks.
2011-08-15 09:26:52 -07:00
Eric Holk
be7325073a
Removed spawn and task from the parser. Updated all the tests except for the benchmarks.
2011-08-15 09:26:52 -07:00
Eric Holk
c3535f5842
Porting a bunch of tests over.
2011-08-15 09:26:52 -07:00
Eric Holk
cc353aa17a
Removed old object-based chans.
2011-08-15 09:26:51 -07:00
Eric Holk
7ad13392bd
Converted two more spawn tests.
2011-08-15 09:26:51 -07:00
Eric Holk
b9f1f77622
Fixed memory accounting and task stack creation bugs.
2011-08-15 09:26:51 -07:00
Eric Holk
2f23405a60
Working on more spawn test cases.
2011-08-15 09:26:51 -07:00
Eric Holk
a332043561
Updating to build on Linux and Mac, and hopefully Windows too.
2011-08-15 09:26:51 -07:00
Eric Holk
b2dad8af31
Added a library version of spawn. Before long, we can remove the old version.
2011-08-15 09:26:51 -07:00
Eric Holk
871d1317e5
Move mode for lib comm, converted a few tests.
2011-08-15 09:26:51 -07:00
Eric Holk
39b16077bb
Port ID-based channels.
2011-08-15 09:26:51 -07:00
Eric Holk
04af99ecb0
First step towards port handles.
2011-08-15 09:26:51 -07:00
Marijn Haverbeke
a21ebb2f5e
Fix bad argument type of pprust::print_type
...
AST types are boxed, there's no need for every caller to do the unboxing
2011-08-15 13:45:04 +02:00
Marijn Haverbeke
1570949ef1
Re-add some deleted tuple tests
2011-08-15 13:39:45 +02:00
Marijn Haverbeke
3f127e397f
Add tuple patterns
2011-08-15 13:20:16 +02:00
Marijn Haverbeke
1ee24d31e1
Make tuples constructable
2011-08-15 12:18:27 +02:00
Marijn Haverbeke
29ea87542f
Tuple fields are immutable
2011-08-15 12:08:05 +02:00
Marijn Haverbeke
9538b00363
Tuple types back, not constructable yet
2011-08-15 11:40:38 +02:00
Brian Anderson
25b85df370
Register new snapshots
...
Use main.o from the snapshot
2011-08-14 14:38:08 -07:00
Brian Anderson
83128f441b
Fix typo in snapshot.py
2011-08-14 13:40:22 -07:00
Brian Anderson
28bf190219
Revert "Make [] and ~[] both construct ivecs"
...
This reverts commit 60e1cead9b
.
The check-fast driver can't work with this commit. Need to wait until main
taks ivecs
2011-08-14 12:54:18 -07:00
Brian Anderson
1dbf0965a1
Add lib/main.o to snapshot
...
Snapshotting main.o is going to make it easier (I think) to convert main to
use ivecs
2011-08-14 12:14:58 -07:00
Michael Sullivan
0340f32748
Eliminate autoderef on binops and unary negation.
...
Autoderef on binops is basically unused, kind of silly, and
complicates typechecking. There were only three instances of it in the
compiler and the test drivers, two of which were of the form "*foo =
foo + 1", which should be written as "*foo += 1" anyways.
2011-08-12 18:28:03 -07:00
Michael Sullivan
e527140548
Change some tests that used binop autoderef.
2011-08-12 18:28:03 -07:00
Tim Chevalier
1ba9af92bf
Remove typestate workaround that's no longer necessary
2011-08-12 18:26:23 -07:00
Michael Sullivan
8e92be3b94
Small whitespace cleanups.
2011-08-12 16:36:50 -07:00
Tim Chevalier
c01e487485
Un-XFAIL do-while-body-fails
...
Made it work both with optimization enabled, and with optimization
disabled. Huzzah!
2011-08-12 16:26:10 -07:00
Brian Anderson
60e1cead9b
Make [] and ~[] both construct ivecs
...
It's no longer possible to create an exterior vec
2011-08-12 16:23:33 -07:00
Brian Anderson
34abbde694
Remove std::ivec::to_vec
...
Nobody needs to create vecs now
2011-08-12 16:13:14 -07:00
Brian Anderson
ee7d03f7d7
Convert most working tests to ivecs
...
I tried to pay attention to what was actually being tested so, e.g. when I
test was just using a vec as a boxed thing, I converted to boxed ints, etc.
Haven't converted the macro tests yet. Not sure what to do there.
2011-08-12 16:13:13 -07:00
Brian Anderson
594c7fb0c6
Remove the last remaining vec expressions in rustc
2011-08-12 16:13:13 -07:00
Brian Anderson
12b03dd3d4
Add an ivec interface to the #fmt library functions
...
It will take a snapshot to finish the ivec conversion for #fmt
2011-08-12 16:13:13 -07:00
Michael Sullivan
2421312dea
Don't rely on binop autoderef in the compiler.
2011-08-12 15:16:01 -07:00
Brian Anderson
4e62c0d6cb
Remove std::vec
2011-08-12 12:14:07 -07:00
Brian Anderson
4fc0848a49
Rename rust_list_files_ivec to rust_list_files
2011-08-12 12:14:07 -07:00
Brian Anderson
8561f7654c
Remove rust_list_files from std and rt
2011-08-12 12:14:07 -07:00
Brian Anderson
d1b3ed8c3f
Remove runtime vector builtins
2011-08-12 12:14:07 -07:00
Brian Anderson
533becef2f
Don't export anything from std::vec
2011-08-12 12:14:07 -07:00
Brian Anderson
3d1634db15
Remove all usages of std::vec::vbuf
2011-08-12 12:14:07 -07:00
Brian Anderson
f9db0390f9
Remove last use of vec:buf
2011-08-12 12:14:07 -07:00
Brian Anderson
f9623f0056
Remove vecs from std::sha1
2011-08-12 12:14:07 -07:00
Brian Anderson
235109f8d2
XFAIL run-pass/vec-self-append
...
Broken under the ivec regime
2011-08-12 12:14:07 -07:00
Brian Anderson
12cd11ecda
Remove last uses of vec::len
2011-08-12 12:14:07 -07:00
Brian Anderson
544bdf05c5
Convert uint::parse_buf to ivecs
2011-08-12 12:14:07 -07:00
Brian Anderson
5f71a204d3
Remove vecs from std::getopts
2011-08-12 12:14:07 -07:00
Brian Anderson
8840fab822
Remove unused functions from std::vec
2011-08-12 12:14:07 -07:00
Brian Anderson
784884cc07
Remove more exports from std::vec
2011-08-12 12:14:06 -07:00
Brian Anderson
f323aeed17
Remove more vectors from std
2011-08-12 12:14:06 -07:00
Brian Anderson
0fed53921f
Remove ebmlivec module
2011-08-12 12:14:06 -07:00
Brian Anderson
674fb0911c
Rename std::termivec to std::term
2011-08-12 12:14:06 -07:00
Brian Anderson
495b0bf65e
Remove std::term
2011-08-12 12:14:06 -07:00
Brian Anderson
7625ed52ee
Remove vecs from std::sort
2011-08-12 12:14:06 -07:00
Brian Anderson
abf41e15ea
Remove usages of vec:print_debug_info
2011-08-12 12:11:12 -07:00
Brian Anderson
13439dc870
Convert std::run to ivecs
2011-08-12 12:11:12 -07:00
Brian Anderson
5c042a02cd
Remove vecs from std::bitv
2011-08-12 12:11:12 -07:00
Brian Anderson
72773e6d4d
Hide even more exports from std::vec
2011-08-12 12:11:12 -07:00
Brian Anderson
28437a1890
Convert compile-fail/alias-mismatch to ivecs
2011-08-12 12:11:12 -07:00
Brian Anderson
b762ba0890
Convert benchmarks to ivecs
2011-08-12 12:11:12 -07:00
Brian Anderson
5ed5ae8918
Remove a bunch of exports from std::vec
2011-08-12 12:11:12 -07:00
Brian Anderson
48ad07b5d6
Convert run-pass/import-glob-crate to ivecs
2011-08-12 12:11:12 -07:00
Brian Anderson
cb59e28679
Convert run-pass/mod-view-items to ivecs
2011-08-12 12:11:12 -07:00
Brian Anderson
a76165f670
Move the ivec::reverse tests to stdtest
2011-08-12 12:11:11 -07:00
Brian Anderson
4dec0f6d96
Add reverse and reversed to std::ivec
...
Modify tests to use the ivec version
2011-08-12 12:11:11 -07:00
Brian Anderson
97dc75da16
Remove stdtest::vec
2011-08-12 12:11:11 -07:00
Brian Anderson
ae4c17e267
Add some of stdtest::vec into stdtest::ivec
...
Add missing functions to std::ivec as needed
2011-08-12 12:10:25 -07:00
Brian Anderson
9638f522bd
Don't export vec::alloc, vec::refcount
2011-08-12 12:08:28 -07:00
Brian Anderson
3814d8d4b0
Convert run-pass/vec-append to ivecs
2011-08-12 12:08:28 -07:00
Brian Anderson
c06d95f178
Remove references to std::vec from compile-fail/cross-crate-glob-collision.rs
2011-08-12 12:08:28 -07:00
Brian Anderson
e790f1e6c5
Remove run-pass/vec-alloc-append.rs
...
There is no ivec::append and this is the only remaining user of vec::append
2011-08-12 12:08:28 -07:00