Brian Anderson
a3affaa20f
Remove ast::spawn_dom
2011-08-22 10:42:29 -07:00
Marijn Haverbeke
7d08678b74
Implement pattern guards
...
The syntax is
alt x {
mypat where mycond { ... }
}
The condition may refer to any of the variables bound by the pattern.
When a guard fails, pattern-matching continues with the next pattern.
Closes #857
2011-08-22 17:49:31 +02:00
Marijn Haverbeke
a2466233b4
Fix bug introduced by 1a45a84e73
2011-08-22 17:49:31 +02:00
Marijn Haverbeke
1a45a84e73
Start using copy glue to copy bits that may contain ivecs
...
This is not currently necessary, but will be, when I land the new ivec
representation.
2011-08-22 14:17:27 +02:00
Marijn Haverbeke
3948f132d9
Write a type_structurally_contains, use it to rewrite has_dynamic_size
...
(I'll be using this for type-needs-copy-glue in the near future.)
2011-08-22 14:06:20 +02:00
Marijn Haverbeke
42864377a4
Remove silly restriction on passing type params by alias
...
Since they are now passed by pointer, this is no longer a problem
2011-08-22 14:06:20 +02:00
Marijn Haverbeke
10269dfaeb
Replace &ty::t with ty::t throughout the compiler
...
Type handles are uints, passing them by reference only causes
unnecessary spilling.
2011-08-22 14:06:17 +02:00
Marijn Haverbeke
081caf5bb8
Do not check for self-assign unless dest is initialized
...
Also, give copy_val and move_val a more sane return type.
2011-08-22 14:05:56 +02:00
Marijn Haverbeke
c930af74d5
Write call_copy_glue
2011-08-22 14:05:54 +02:00
Marijn Haverbeke
cd5e4c21ee
Add skeleton of copy glue that actually copies
2011-08-22 11:41:49 +02:00
Marijn Haverbeke
7588a89553
Rename copy_glue back to take_glue
2011-08-22 10:42:56 +02:00
Marijn Haverbeke
b24f978011
Drop arguments on the caller side, not the callee
...
This makes it easier for the caller to optimize the take/drop away for
temporary values, and opens up new possibilities for alias handling.
Breaks tail calls.
2011-08-22 10:16:09 +02:00
Marijn Haverbeke
35c962e9a1
Pass structural types by pointer, not by value
...
If we lose tail calls, this is possible. It simplifies things a lot.
Direct motivation: We want ivecs with pointers pointing into
themselves. When copying those, the pointers have to be adjusted. It
is impossible to this when copying them with Load/Store.
2011-08-22 10:16:09 +02:00
Brian Anderson
6ad5b71ad9
Conditionally define CDECL and FASTCALL on windows
...
These may already be defined by other includes. Hopefully puts out the windows
fire.
2011-08-20 16:31:38 -07:00
Brian Anderson
7dad31d11c
Fix comment typos
2011-08-20 16:30:27 -07:00
Brian Anderson
abdb6cd71b
Rewrite reap_dead_tasks to never grab the sched lock before a task lock
...
Doing so contradicts the locking order used everywhere else and causes
deadlocks.
Un-XFAIL task-perf-spawnalot
Closes #854
2011-08-20 16:21:27 -07:00
Patrick Walton
25416bfae1
rustc: Introduce ABI versioning so we can change value representations without breaking the compiler
2011-08-20 14:22:09 -07:00
Patrick Walton
2f650038ad
rt: Move the GetProcAddress/dlsym stuff out of rust_gc.cpp into rust_abi.h
2011-08-20 14:06:04 -07:00
Brian Anderson
15e456d547
Convert task-perf-spawnalot to spawn_joinable. XFAIL
2011-08-20 13:02:53 -07:00
Brian Anderson
bc1b6b594b
Stop parsing ~[] vector syntax
2011-08-20 11:04:00 -07:00
Brian Anderson
a7d837be74
Stop parsing .() indexes
2011-08-20 11:04:00 -07:00
Brian Anderson
518dc52f85
Reformat
...
This changes the indexing syntax from .() to [], the vector syntax from ~[] to
[] and the extension syntax from #fmt() to #fmt[]
2011-08-20 11:04:00 -07:00
Brian Anderson
4aa165553b
Move bump_dp, get_dp from rust_shape.cpp to rust_shape.h
...
Put out the darwin fire for real
2011-08-20 10:51:31 -07:00
Brian Anderson
6751d40c60
Revert "Add another 'using namespace shape' inside namespace shape"
...
This reverts commit 09f4cd90a8
.
2011-08-20 10:33:41 -07:00
Brian Anderson
09f4cd90a8
Add another 'using namespace shape' inside namespace shape
...
Try again to put out the darwin tinderbox
2011-08-20 10:28:30 -07:00
Brian Anderson
2c54b46408
Revert "Shuffle around definitions in rust_shape.h"
...
This reverts commit d09b421d55
.
2011-08-20 10:19:45 -07:00
Brian Anderson
d09b421d55
Shuffle around definitions in rust_shape.h
...
Try to put out darwin tinderbox fire
2011-08-20 09:48:00 -07:00
Patrick Walton
d0171913aa
rt: Remove rustboot's GC infrastructure
2011-08-19 19:17:05 -07:00
Patrick Walton
8fa86672ab
rt: Implement stack crawling
2011-08-19 18:52:36 -07:00
Patrick Walton
a3f4a1b6ad
rt: Split out shapes into rust_shape.cpp and rust_shape.h so that shape code can be written outside of rust_shape.cpp
2011-08-19 18:52:35 -07:00
Brian Anderson
e417e78e2b
Add missing struct keyword to rust_gc
2011-08-19 18:42:33 -07:00
Patrick Walton
d8d9f2adf2
rustc: Unconditionally zero out all GC-relevant types for now
2011-08-19 17:55:42 -07:00
Patrick Walton
907ab4a11b
rt: Find roots on the stack; stub mark and sweep routines
2011-08-19 17:42:58 -07:00
Michael Sullivan
84a6b888c0
Add an iter2 iterator to vec.
2011-08-19 16:14:38 -07:00
Brian Anderson
56c8d16326
Register new snapshots
2011-08-19 15:45:15 -07:00
Patrick Walton
d1836034e2
rt: Attempt to put out burning tinderbox by fully qualifying gc::gc().
2011-08-19 15:21:48 -07:00
Patrick Walton
cede5e53b3
rt: Call maybe_gc on mallocs
2011-08-19 14:30:01 -07:00
Brian Anderson
390dd38619
Pretty-print new index syntax
2011-08-19 12:50:05 -07:00
Brian Anderson
7053b6010a
Parse x[y] as indexes
2011-08-19 12:50:05 -07:00
Lindsey Kuper
325ea41a1e
Getting rid of superfluous log statement.
2011-08-19 12:01:55 -07:00
Michael Sullivan
a7e559ee2e
Fix polymorphic iterators. Closes #829 .
2011-08-19 11:54:46 -07:00
Brian Anderson
cc2ebbec92
Pretty-print constrained types correctly
2011-08-19 10:16:39 -07:00
Brian Anderson
09e21fe2b9
Pretty-print parens around more things that need disambiguation
...
Ridiculous stuff like (ret 0) == (log "error")
2011-08-19 10:16:38 -07:00
Brian Anderson
8327416411
Teach the pretty-printer to disambiguate 'if ret { }' et. al
2011-08-19 10:16:38 -07:00
Brian Anderson
664b0ad3fc
Add some tests for expression corner cases, mostly involving ret and fail
...
Some of these don't actually work.
2011-08-19 10:16:38 -07:00
Brian Anderson
d681f062c7
Clean up run-pass/fun-call-variants
...
Uncomment parts of the test that work correctly now, enable pretty testing
2011-08-19 10:16:38 -07:00
Brian Anderson
a0ca1ac1bc
Remove xfail-pretty directives from working tests
2011-08-19 10:16:38 -07:00
Brian Anderson
22c8eebc48
Add a comment about our single use of no-reformat
2011-08-19 10:16:38 -07:00
Brian Anderson
113be53df3
Do better at preserving blank lines during pretty-printing
2011-08-19 10:16:38 -07:00
Brian Anderson
8c3ed8640b
Don't pretty-print extra blank lines after anon object methods
2011-08-19 10:16:38 -07:00
Marijn Haverbeke
bc998c6140
Use move semantics when returning a local var
...
(Since the variable won't be used after return anyway.)
2011-08-19 10:19:21 +02:00
Marijn Haverbeke
f6ae60a432
Temporary work-around for issue #843
2011-08-19 10:19:21 +02:00
Tim Chevalier
0ba1037834
Revert "Disable warnings for unused function arguments. Temporary hack."
...
This reverts commit 1ec2211a98
.
2011-08-19 01:15:30 -07:00
Tim Chevalier
1ec2211a98
Disable warnings for unused function arguments. Temporary hack.
2011-08-19 01:10:55 -07:00
Brian Anderson
b02f1f46e5
Don't pretty-print trailing whitespace for blank lines inside block comments
2011-08-18 19:22:10 -07:00
Brian Anderson
84fb821e40
Try harder to disambig blocks followed by various exprs in pprust. Closes #840
...
As it turns out, it's not just unops we need to worry about. Also tuples and
anything that requires parens.
2011-08-18 18:53:36 -07:00
Patrick Walton
4d03b7b1fb
rt: Remove "TODO: Windows"
2011-08-18 18:52:11 -07:00
Patrick Walton
9c2abb8253
rt: Fix the calculation of the location of GC safe points
2011-08-18 18:51:49 -07:00
Patrick Walton
955bef3f4d
rustllvm: Emit frame map labels
2011-08-18 18:51:25 -07:00
Patrick Walton
396f6b4f59
rustc: Stub GC routines
2011-08-18 18:48:32 -07:00
Patrick Walton
0fedea39ce
rt: Remove rust_alarm dead code
2011-08-18 18:21:03 -07:00
Michael Sullivan
c11f8a468b
Shut up an uninitialized variable warning.
2011-08-18 18:16:45 -07:00
Michael Sullivan
30b5f851c5
Merge remote-tracking branch 'graydon/master'
2011-08-18 18:16:11 -07:00
Patrick Walton
031529e3fe
rustc: Only emit gc root intrinsic calls if the GC flag is on, to work around #836
2011-08-18 18:13:36 -07:00
Michael Sullivan
e7c8019dd9
Kind check tuples. Closes #841 .
2011-08-18 18:13:18 -07:00
Michael Sullivan
94c6160c73
Some cleanup in ty_to_str.
2011-08-18 18:13:18 -07:00
Michael Sullivan
f8ac788d66
Print tag names in type error messages. Closes #834 .
2011-08-18 18:13:18 -07:00
Patrick Walton
4a894dae8e
rustllvm: Emit a stack map for frames with only static type descriptors
2011-08-18 18:09:45 -07:00
Tim Chevalier
d81d86440f
Handle sequential let semantics properly in typestate
...
Closes #824
2011-08-18 17:21:55 -07:00
Tim Chevalier
3ddb26e993
Comments
2011-08-18 17:21:55 -07:00
Graydon Hoare
e8bcca2829
Kill another case of a spurious blank line. Closes #809 .
2011-08-18 17:02:23 -07:00
Michael Sullivan
6e5af8996d
Get rid of equal_type_structures. Closes #514 .
2011-08-18 16:31:23 -07:00
Michael Sullivan
ddc2076902
Make windows respect RUST_SEED. Closes #627 .
2011-08-18 16:24:36 -07:00
Michael Sullivan
0a00fab249
Fix task-comm-15 type errors and un-xfail.
2011-08-18 16:13:03 -07:00
Michael Sullivan
eb368d1b34
Remove rc_base. Closes #603 .
2011-08-18 15:49:58 -07:00
Brian Anderson
f5ce3bf15d
More misc ivec->vec renaming
2011-08-18 15:01:49 -07:00
Brian Anderson
223f6017c7
Remove rust_intrinsic_vec_len
...
I just edited the ll by hand since I don't have clang on hand
2011-08-18 14:51:07 -07:00
Brian Anderson
0467fa6a00
Rename rust_vec to rust_evec
2011-08-18 14:43:17 -07:00
Brian Anderson
1739200b02
Rename T_vec to T_evec
2011-08-18 14:36:22 -07:00
Brian Anderson
1aa1f8c4b7
Rename various things from ivec to vec
2011-08-18 14:32:25 -07:00
Brian Anderson
4fc3618233
Change ast::ty_ivec, ty::ty_ivec to ty_vec
2011-08-18 14:11:06 -07:00
Brian Anderson
504ec8b00d
Rename some vec upcalls and trans functions from vec* to evec*
2011-08-18 13:09:50 -07:00
Brian Anderson
7903daf86f
Remove upcall_new_vec
2011-08-18 13:09:50 -07:00
Brian Anderson
c2d2dad093
Remove ast::ty_vec
2011-08-18 13:09:50 -07:00
Brian Anderson
ec898244f7
Remove seq_kind from ast::expr_vec
2011-08-18 13:09:50 -07:00
Brian Anderson
250cc45c3b
Remove oldvecs from runtime command line processing
2011-08-18 13:09:49 -07:00
Brian Anderson
0a8bffceb3
Simplify the _rust_main/rust_start interface
...
rust_start will always call _rust_main with the command line args, and it is
_rust_main's responsibility to free the args ivec heap. _rust_main will be
generated slightly differently depending on whether main takes an ivec or not:
if so then it's just passed through to main, otherwise it frees the ivec
directly.
2011-08-18 13:09:49 -07:00
Brian Anderson
c2d8a4df35
Continue transition to an ivec-only main
...
Only generate a single main function. Rename rust_start_ivec to rust_start,
leaving a transitional rust_start_ivec in place.
2011-08-18 13:09:49 -07:00
Brian Anderson
53eb4a3025
Pretty-print ivecs as []
2011-08-18 13:09:00 -07:00
Marijn Haverbeke
079fae28e6
Fix long line
2011-08-18 10:23:24 +02:00
Marijn Haverbeke
cd440d338e
Remove or _-prefix all unused function arguments
...
This should make the compilation process a bit less noisy.
2011-08-18 10:02:13 +02:00
Marijn Haverbeke
2885c67d47
Don't warn about unused vars whose name starts with _
...
Closes #832
2011-08-18 10:02:02 +02:00
Patrick Walton
117d21d6c2
rustc: Stub stack map generation machinery
2011-08-17 19:18:44 -07:00
Patrick Walton
51af43f192
rustc: Use "rust" GC in Rust functions
2011-08-17 18:26:51 -07:00
Patrick Walton
f17edf9829
rustc: Use obstacks in lieu of dynamically-allocated frames only when the frame is actually dynamically-sized
2011-08-17 18:14:57 -07:00
Patrick Walton
0b7af40384
rustc: Use explicit return blocks
2011-08-17 17:49:54 -07:00
Patrick Walton
df51fe36f1
Revert "rt: Use obstacks in lieu of dynamically-sized frames"
...
This reverts commit cc5fcfce89
.
2011-08-17 17:27:31 -07:00
Patrick Walton
49397b5af6
rustc: Remove dead i2p function
2011-08-17 17:26:55 -07:00
Patrick Walton
cc5fcfce89
rt: Use obstacks in lieu of dynamically-sized frames
2011-08-17 17:24:57 -07:00
Eric Holk
3ab21e5ee0
Better type inference for chans and ports.
2011-08-17 17:16:23 -07:00
Tim Chevalier
f023f82090
Track arguments in typestate
...
Add the infrastructure for arguments -- as well as local vars --
to be deinitialized with move-mode calls. Address Issue #819
2011-08-17 17:15:46 -07:00
Brian Anderson
69d4838169
Stop parsing old-style vec types
2011-08-17 16:08:45 -07:00
Brian Anderson
df10df821b
Remove last mentions of vec<> type in Rust source
2011-08-17 16:08:17 -07:00
Graydon Hoare
5dd62b7d41
Trivial commit to test github AMQP hook
2011-08-17 16:06:33 -07:00
Graydon Hoare
b7bf1dd5b0
Trivial commit to test github AMQP hook
2011-08-17 15:59:26 -07:00
Brian Anderson
ad598ebea0
Use the new task join methods in the test runner. Closes #826
...
It should report failures properly again
2011-08-17 15:34:54 -07:00
Brian Anderson
15f9f1a1f1
Remove more hacks from the test runner
2011-08-17 15:12:38 -07:00
Brian Anderson
87a782c0b3
Simplify default_test_to_task
...
Doesn't appear to require an unsafe pointer now
2011-08-17 15:12:35 -07:00
Brian Anderson
deef212bf7
Move some test setup from runtest to compiletest
2011-08-17 15:11:17 -07:00
Eric Holk
9e020b8b8f
Convenience methods for spawning and joining tasks.
2011-08-17 15:07:19 -07:00
Eric Holk
ae89ea223d
Making more of the rust_task structure directly accessible from Rust.
2011-08-17 14:42:40 -07:00
Eric Holk
efac7c9a19
Yet another comm interface.
2011-08-17 14:42:40 -07:00
Patrick Walton
72b2f8207d
rustc: Add missing "bcx = "
2011-08-17 14:01:59 -07:00
Patrick Walton
702fe5cdac
rustc: Run obstack cleanups at the end of each function
2011-08-17 13:58:49 -07:00
Patrick Walton
3aab46b020
rustc: Mark an obstack fencepost when entering a dynamically-sized frame
2011-08-17 13:16:15 -07:00
Brian Anderson
62ac9d0b2e
Restore test task setup
...
This is needed in order for the test runner to continue on failure, and I
don't see that it causes any problems.
2011-08-17 12:08:43 -07:00
Eric Holk
94260fb91d
Using move-mode for spawn thunks to avoid race conditions.
2011-08-17 11:44:50 -07:00
Patrick Walton
1d7ca9c189
rustc: Add the dynastack upcalls to upcall.rs
2011-08-17 11:43:45 -07:00
Brian Anderson
0d83956e2b
Refactor resolve_import
...
Issue #817
2011-08-17 11:05:20 -07:00
Brian Anderson
206495b0a9
Refactor resolve_import
...
Issue #817
2011-08-17 11:05:15 -07:00
Brian Anderson
45706a63bf
Remove unused case in resolve
...
Issue #817
2011-08-17 11:05:11 -07:00
Brian Anderson
bfbe8870d7
Refactor import lookup in middle:resolve
...
Issue #817
2011-08-17 11:05:04 -07:00
Brian Anderson
cd54e77720
Allow multiple imports in a single statement
...
Like so: import foo::{bar, baz};
Issue #817
2011-08-17 11:04:56 -07:00
Brian Anderson
c4ce463f37
Add compile-fail tests for malformed glob imports
2011-08-17 11:04:05 -07:00
Brian Anderson
c6482c0083
Refactor ast::view_item to differentiate between [ident]s and paths
2011-08-17 11:04:05 -07:00
Brian Anderson
67cc5b9e34
Allow multiple exports in a single export statement. Issue #817
2011-08-17 11:04:05 -07:00
Brian Anderson
c95e3ab6a8
Remove transitional interfaces from std::extfmt
2011-08-17 09:55:55 -07:00
Brian Anderson
53df58a177
Purge vecs from the std::test interface
2011-08-17 09:55:55 -07:00
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