Commit Graph

6445 Commits

Author SHA1 Message Date
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
532642f425 Clarify escaped newlines in tutorial
Closes #1117
2011-11-22 12:47:07 +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
Marijn Haverbeke
8e2b5de90e Fix typo in tutorial 2011-11-21 13:20:02 +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
12f6e868f7 Add explanation of kinds to tutorial 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
Brian Anderson
134f7b7611 .gitignore a bunch of artifacts of in-tree builds 2011-11-19 13:49:49 -08:00
Stefan Plantikow
25b44a8973 Added CFG_NOTIDY flag to the build
This should allow a small speedup for test builds; unset by default
2011-11-18 21:19:18 -08: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