Brian Anderson
afb8f01741
rt: Fix calculation of stack args location in x86_64/morestack.S
2011-11-29 13:47:54 -08:00
Brian Anderson
9675343dc9
rt: Fix i386/morestack.S for static linking
2011-11-29 13:47:54 -08:00
Niko Matsakis
4f92204765
make check-fast work
2011-11-29 12:51:11 -08:00
Niko Matsakis
6e55426c8c
tweak to get windows test-running correct
2011-11-29 12:51:10 -08:00
Niko Matsakis
89a4f8c751
fix to new model where triple is explicit
2011-11-29 12:51:10 -08:00
Niko Matsakis
44ccc36d93
update snapshot scripts
2011-11-29 12:51:10 -08:00
Niko Matsakis
4b13fdbf27
when type checking still pass in the rustc args from cmd line
...
otherwise we use the wrong target and things start to fail
2011-11-29 12:51:10 -08:00
Niko Matsakis
21ffc55e57
update io test to use tmp directory, and update configure to create it
2011-11-29 12:51:09 -08:00
Niko Matsakis
092fc0ab22
extra whitespace
2011-11-29 12:51:09 -08:00
Niko Matsakis
152bb314f5
fix bug in shape concerning size of tag variant
2011-11-29 12:51:08 -08:00
Niko Matsakis
9c12c7c7f5
basic builds function
2011-11-29 12:51:07 -08:00
Brian Anderson
579399f92f
Add --stack-growth to the morestack test compile flags
2011-11-29 12:14:34 -08:00
Brian Anderson
a9967423f8
rt: Make 64-bit __morestack grow and shrink properly
2011-11-28 21:57:52 -08:00
Brian Anderson
5461c61af2
rt: Remove a FIXME frome x86_64/morestack.S
2011-11-28 20:14:12 -08:00
Brian Anderson
ef20afc36c
rt: Get 64-bit Linux __morestack allocating new stacks
2011-11-28 18:39:18 -08:00
Brian Anderson
4dcb0ee0ce
rustc: Link in libmorestack.a when --stack-growth
2011-11-28 18:15:54 -08:00
Brian Anderson
3a80d7b0e3
rt: Set hidden visibility on __morestack
...
Each crate will have its own copy of this function, which should not be
exported.
2011-11-28 18:01:39 -08:00
Brian Anderson
28745aa07f
rt: Rename L$bail to .L$bail in i386/morestack.S
2011-11-28 17:10:00 -08:00
Brian Anderson
e075412a92
build: Stop linking morestack.S to rt
...
__morestack has to be linked statically. The odd calling convention on x86_64
results in the arguments to __morestack (r10 & r11) being clobbered by the
dynamic linker. gcc links all the __morestack functions statically.
2011-11-28 16:37:29 -08:00
Brian Anderson
cd75c9ce11
rt: Implement part of the 64-bit __morestack
2011-11-28 16:29:52 -08:00
Brian Anderson
92f1e9f1ab
Ignore some should_fail tests on win32
2011-11-28 13:28:03 -08:00
Joshua Wise
90d27af42a
c_vec: add tests
2011-11-28 10:41:45 -08:00
Joshua Wise
45dc5356df
c_vec: Remove the mutable cast be forcing the pointer to be mutable throughout (discussion in #1217 ).
2011-11-28 10:41:45 -08:00
Joshua Wise
c2eb084b4c
Add c_vec library to std.
2011-11-28 10:41:45 -08:00
Joshua Wise
9aa6e5750e
ptr: Add mut_offset, to be able to calculate an offset on mutable pointers.
2011-11-28 10:41:45 -08:00
Brian Anderson
020d8f12a0
rt: Implement record_sp for 64-bit linux
2011-11-27 19:00:26 -08:00
Brian Anderson
f3a8e228c2
Register snapshots
2011-11-25 23:49:33 -08:00
Brian Anderson
9a188b2e94
rustc: Fall back to intrinsics.ll if we can't parse the bc
...
This will allow us to transition to the new bitcode format.
2011-11-25 22:54:10 -08:00
Brian Anderson
0365001864
Comment-out some math tests that produce different results on win32
2011-11-24 17:03:22 -08:00
Stefan Plantikow
891528fb73
std: math: renaming and documentation fixes
2011-11-24 16:21:14 -08:00
Stefan Plantikow
97fc39b214
std: factored f32 and f64 out from math
2011-11-24 16:21:14 -08:00
Stefan Plantikow
a611496ddf
std: added missing calls to math; covers C95 completely now, includes tests
2011-11-24 16:21:13 -08:00
Stefan Plantikow
bd405fb457
std: math now declares libm dependencies as pure
2011-11-24 16:21:13 -08:00
Stefan Plantikow
9c9be62b02
std: rewrote math to support most C95 libmath calls on f32, f64 and float
2011-11-24 16:21:13 -08:00
Brian Anderson
75ce03dd77
Use new mod syntax in check-fast driver
2011-11-24 16:18:26 -08:00
Brian Anderson
7aee9f7b56
rustc: Fix a bug in cdir attribute parsing
...
The first attribute of the first mod was being applied to every mod.
2011-11-24 16:18:26 -08:00
Haitao Li
3e303af86b
rustc: Add a path attribute for crate directives
...
The path information was an optional "filename" component of crate
directive AST. It is now replaced by an attribute with metadata named
"path".
With this commit, a directive
mod foo = "foo.rs";
should be written as:
#[path = "foo.rs"]
mod foo;
Closes issue #906 .
2011-11-24 15:31:18 -08:00
Brian Anderson
547ec241bd
Register snapshots
2011-11-24 15:30:04 -08:00
Haitao Li
05b2cb8ecc
rustc: Accepts path
attributes for crate directives
...
Temporarily allow path specified in either as attribute or in AST, like:
#[path = "mymod.rs"]
mod mymod = "mymod.rs";
This is a transitional commit to avoid creating a stage1 snapshot.
2011-11-24 14:55:53 -08:00
Haitao Li
2253ed5d1c
rustc: Fix position of diagnostic highlight lines
...
Diagnostic highlight lines are incorrect placed when the related line
number is 10, 100, etc.
The root cause is line number are treated as 0 based (should be 1 based)
when calculating offset of line number digits.
2011-11-24 08:10:11 +01:00
Marijn Haverbeke
8746ebe2e6
Add some changes that *should* have been in e98286b594
...
Forgot to amend the commit after fixing the failure.
2011-11-23 21:22:56 +01:00
Haitao Li
2ac63801d2
doc: Build keywords multitable automatically
...
Keywords are now listed in a plain text file. They're sorted in
column-major order and rendered as a texinfo multitable in rust.texi.
Fixes issue #1216 .
2011-11-23 21:11:18 +01:00
Marijn Haverbeke
e98286b594
Allow import directives in any block
...
Closes #49
2011-11-23 20:57:34 +01:00
Marijn Haverbeke
03f6060e80
Make type_kind properly recognize ty_ptr as sendable
2011-11-23 13:27:04 +01:00
Marijn Haverbeke
9fb3719ded
Rollback return-by-reference
...
It's proving too inflexible, so I'm ripping out the extra complexity
in the hope that regions will, at some point, provide something
similar.
Closes #918
2011-11-23 11:02:27 +01:00
Marijn Haverbeke
acbc4aa9f8
Remove deep scope traversal in revoke_clean
...
It is not needed anymore.
2011-11-23 11:02:27 +01:00
Marijn Haverbeke
a8dd52ed36
Remove last traces of auth keyword
...
The reference now has an empty hole where the auth keyword used to be.
Changing the keyword table seems to require manually sorting the
keywords and putting them back into some kind of arcane interleaved
order. I'll open an issue to actually fix this.
Closes #1211
2011-11-23 11:02:27 +01:00
Brian Anderson
93e8783496
rt: Make __morestack build on win32
2011-11-22 18:02:13 -08:00
Brian Anderson
0580d4e77a
rt: Add x86_64 record_sp stub
2011-11-22 18:02:12 -08:00
Brian Anderson
6bdf347418
rt: Make __morestack (without unwinding) work on 32-bit linux
2011-11-22 18:02:10 -08:00
Brian Anderson
a69c5617f0
stdlib: Use c_ints instead of ints for natives
2011-11-22 17:16:20 -08:00
Brian Anderson
bb7750b8d0
stdlib: Fix some busted macos libc decls
2011-11-22 15:34:53 -08:00
Brian Anderson
d0a2f00611
stdlib: win32 fixes for dir handling
2011-11-22 15:14:34 -08:00
Elly Jones
9dd4789d80
Add fs::rmdir() and tempfile/gen_str() tests.
2011-11-22 14:43:18 -08:00
Elly Jones
d468af59ed
once more with feeling...
2011-11-22 14:43:18 -08:00
Elly Jones
864672bb84
Use type inference!
2011-11-22 14:43:18 -08:00
Elly Jones
91e04f7dd2
Fix long lines
2011-11-22 14:43:18 -08:00
Elly Jones
c11c44abc0
std: add fs::mkdir(), rng.gen_str(), tempfile::mkdtemp()
...
Signed-off-by: Elly Jones <elly@leptoquark.net>
2011-11-22 14:43:18 -08:00
Haitao Li
a936f78d98
rustc: Allow trailing comma in record fields
2011-11-22 13:41:17 -08:00
Brian Anderson
901b9adb69
Register snapshots
2011-11-22 13:02:10 -08:00
Stefan Plantikow
148a6c1a38
comp: allowed the declaration of pure fn's in native mods
...
This is especially useful for the native calls in std::math
This commit does NOT yet point to new snapshots
2011-11-22 20:01:25 +01:00
Marijn Haverbeke
fedb775fbb
Add hacks to extract and compile tutorial code
...
Not included in the build by default, since it's fragile and kludgy. Do
something like this to run it:
cd doc/tutorial
RUSTC=../../build/stage2/bin/rustc bash test.sh
Closes #1143
2011-11-22 16:12:23 +01:00
Marijn Haverbeke
1b8b0b8584
Properly check for copies when constructing a record using with
...
Closes #989
2011-11-22 13:27:40 +01:00
Marijn Haverbeke
1ce3a84a8f
Make type_needs_drop accurate, get rid of type_has_pointers
...
Closes #1209
2011-11-22 13:16:23 +01:00
Marijn Haverbeke
bd16aac903
Fix inconsistency in ordering of patterns during alt compilation
...
Closes #1153
2011-11-22 12:44:59 +01:00
Marijn Haverbeke
5d6a74f020
Only warn about unreachable range patterns when appropriate
...
Also simplifies the literal-munging, and moves it into ast_util
Closes #1170
2011-11-22 11:49:29 +01:00
Marijn Haverbeke
8cc852af8c
Make ast::visit only descend into types when necessary
...
If visit_ty is not overridden, it uses a stub function which does not
descend into types.
Closes #1204
2011-11-22 10:57:47 +01:00
Stefan Plantikow
1a13504796
Fixed documentation comment glitches in the logic ADTs
2011-11-21 11:15:19 -08:00
Stefan Plantikow
1c9f97b669
stdlib: added (2,3,4)-valued logic ADTs
...
This is useful for writing caches and perhaps in typestate predicates.
It also adds a companion module for bool with from_str, to_str, ... fns.
2011-11-21 11:15:19 -08:00
Haitao Li
beced3612e
runtest.rs: Fix typo in error message
2011-11-22 00:19:17 +08:00
Haitao Li
5ca83553bc
rustc: Remove abi from ast::native_mod
2011-11-21 13:49:52 +01:00
Marijn Haverbeke
7a7f0604f4
Ignore test_log_functions test for now
...
It fails under valgrind
2011-11-21 13:49:28 +01:00
Stefan Plantikow
2524636dbd
std: declared fns in math to be pure; requires calling libc via unsafe
2011-11-21 13:00:00 +01:00
Stefan Plantikow
68839c3dda
Added logarithm functions for floats to std::math
...
Thanks to marijn for helping with #[link_name]
2011-11-21 12:59:59 +01:00
Marijn Haverbeke
a6b2a2cdb1
Separate vec::map and vec::map_mut
...
The safe-reference checker requires a copy of each mapped-over element
only when the vector is mutable. Let's not pay that cost for immutable
vectors.
2011-11-21 12:07:41 +01:00
Marijn Haverbeke
02574a5bdb
Close hole in safe-reference analysis
2011-11-21 12:07:40 +01:00
Marijn Haverbeke
b4217b383b
Add a pass that checks that blocks are only used in safe ways
...
Closes #1188
2011-11-21 11:01:15 +01:00
Marijn Haverbeke
86c1f16a10
Fix bad interaction between last-use finding and references
...
The last-use pass now takes input from the alias pass to not mark things
as last uses that are still accessed through a reference.
Issue #925
2011-11-21 09:25:42 +01:00
Stefan Plantikow
ff04cb1eb0
Added a little sudoku solver to test/bench for everone's puzzle solving needs
2011-11-20 01:53:12 +01:00
Niko Matsakis
b6af844f3a
re-enable tests for #1058 and #1059
2011-11-18 16:32:19 -08:00
Niko Matsakis
12a67af81d
add test for issue #1174
2011-11-18 16:32:19 -08:00
Niko Matsakis
9fa44a41e6
get pure wrappers approach running
2011-11-18 16:32:19 -08:00
Niko Matsakis
6072ddad33
sketch out design
2011-11-18 16:32:19 -08:00
Brian Anderson
d6ab8ebb07
rt: Add more comments to rust_task_sleep
2011-11-18 16:02:48 -08:00
Brian Anderson
9aa67052e1
rt: Remove some stack-wasting macros from rust_task::yield
2011-11-18 15:59:10 -08:00
Brian Anderson
71bcba6815
intrinsics: Remove declaration of port_recv
2011-11-18 15:37:14 -08:00
Brian Anderson
1e58049da2
rt: Remove fail calls from rust_task::yield
2011-11-18 15:36:48 -08:00
Brian Anderson
792068d871
rt: Remove unblock call from rust_task::yield
2011-11-18 14:45:48 -08:00
Brian Anderson
0f339b481a
rt: Remove a lock from task_start_wrapper that does nothing
2011-11-18 13:38:20 -08:00
Brian Anderson
3cfcdb4bb2
rt: Replace two uses of yield with ctx->swap
...
These uses aren't really doing a full yield. They are just giving up control
to the scheduler and will never return.
2011-11-18 13:38:18 -08:00
Brian Anderson
57b43b53f9
rt: Add comments to rust_task::yield
2011-11-18 13:28:12 -08:00
Brian Anderson
d1ef29ab37
rt: rust_task::conclude_failure doesn't need to call unblock
2011-11-18 13:23:27 -08:00
Brian Anderson
3a6320f71b
intrinsics: Eliminate recv intrinsic
...
This intrinsic existed just to get ahold of the return pointer. I replaced it
with a call_with_retptr intrinsic that grabs the return pointer and passes it
to another Rust function, thereby eliminating the need to call C functions on
the Rust stack.
2011-11-18 12:48:54 -08:00
Brian Anderson
93931311ff
rt: Add FIXMEs about races in rust_task
2011-11-18 10:32:27 -08:00
Brian Anderson
0dfa1410d3
rt: Remove task::on_wakeup. Unused
2011-11-18 10:32:27 -08:00
Brian Anderson
63d40b8ab6
rt: Remove some unnecessary setting of rust_task::killed
...
The value of this variable doesn't matter after the task fails.
2011-11-18 10:32:27 -08:00
Brian Anderson
d52888f0ba
rt: Remove rust_task::yield. Unused
2011-11-18 10:32:27 -08:00
Brian Anderson
5e9f9e8c48
rt: Add some comments about methods that run on the Rust stack
2011-11-18 10:32:27 -08:00
Brian Anderson
21865ddce6
intrinsics: Remove the call to get_task from task_sleep
2011-11-18 10:32:27 -08:00
Brian Anderson
eecbc815ac
intrinsics: Add some comments
2011-11-18 10:32:27 -08:00