Commit Graph

7755 Commits

Author SHA1 Message Date
Graydon Hoare
c00a7b08eb Register new snapshots. 2012-02-24 18:43:22 -08:00
Brian Anderson
16d290d10c rustdoc: Reexport native functions 2012-02-24 15:59:34 -08:00
Brian Anderson
396540f19d rustdoc: Don't prune reexports 2012-02-24 15:43:57 -08:00
Brian Anderson
9b009ea23d rustdoc: Fix some remaining bugs around native mods 2012-02-24 15:22:57 -08:00
Brian Anderson
6e31983179 rustdoc: Sort native mods 2012-02-24 15:15:27 -08:00
Brian Anderson
5a86313387 rustdoc: Write markdown for native mods and fns 2012-02-24 15:07:08 -08:00
Brian Anderson
16010058a6 rustdoc: Add types for native functions 2012-02-24 15:06:58 -08:00
Brian Anderson
2576a3c2c9 rustdoc: Extract attribute docs from native stuffs 2012-02-24 14:22:13 -08:00
Brian Anderson
f053f06973 rustdoc: Record paths to native functions 2012-02-24 14:08:47 -08:00
Brian Anderson
681e5beac4 rustdoc: Remove a pointer that's no longer needed 2012-02-24 13:53:28 -08:00
Brian Anderson
fdea1c414c rustdoc: Extract doc nodes for native mods 2012-02-24 13:50:40 -08:00
Brian Anderson
ba173d8409 rustdoc: Add doc node for native mods 2012-02-24 13:34:35 -08:00
Brian Anderson
155a67eae7 Revert "rt: Cut the red zone to 10K on mac"
This reverts commit cb7022cfc2.
2012-02-24 12:26:06 -08:00
Brian Anderson
9982a2a841 rustc: Don't add duplicate entries to exp_map 2012-02-23 21:52:41 -08:00
Brian Anderson
cb7022cfc2 rt: Cut the red zone to 10K on mac 2012-02-23 19:42:59 -08:00
Graydon Hoare
b44be95e45 Support basic, unsophisticated, somewhat wrong export-globs. 2012-02-23 18:39:14 -08:00
Graydon Hoare
5f4dcb0fa4 Fix comment, add test that export glob works as import glob in scope. 2012-02-23 18:39:13 -08:00
Graydon Hoare
1f4a6bb3ad Treat export-globs as import-globs for sake of linking. 2012-02-23 18:39:12 -08:00
Graydon Hoare
893bbea576 Minor renaming to help my comprehension. 2012-02-23 18:39:11 -08:00
Brian Anderson
050b8bfdf8 Revert "etc: Add helgrind suppression for lock_held_by_current_thread"
This reverts commit d44ca0923a.
2012-02-23 18:27:40 -08:00
Brian Anderson
710258cc76 rustdoc: Make reexports work in the crate module 2012-02-23 18:06:43 -08:00
Brian Anderson
d44ca0923a etc: Add helgrind suppression for lock_held_by_current_thread
I have some confidence that this function is correct now, but helgrind still
doesn't like it because it's not lock-protected.
2012-02-23 17:29:06 -08:00
Marijn Haverbeke
8733386bcc Make sure fold_ty preserves associated def_ids
Closes #1884
2012-02-23 17:44:03 +01:00
Marijn Haverbeke
0f00d9a797 Adjust fuzzer and cargo to changes in core::str API 2012-02-23 17:11:21 +01:00
Marijn Haverbeke
780f8277f4 Finish cleanup of core::str
Closes #1849
2012-02-23 17:00:19 +01:00
Marijn Haverbeke
1d2b4b97ed Optimize str::replace 2012-02-23 17:00:19 +01:00
Marijn Haverbeke
d802c1fbd2 Various cleanups and optimizations in core::str 2012-02-23 17:00:19 +01:00
Marijn Haverbeke
35e9192762 Make str::pop_char and str::unsafe::pop_byte efficient
O(1) rather than O(string len)
2012-02-23 17:00:19 +01:00
Kevin Cantu
c2984b46b4 (core::str) comments 2012-02-23 17:00:19 +01:00
Kevin Cantu
961b6446b6 (core::str) rename ++ 2012-02-23 17:00:19 +01:00
Kevin Cantu
c3318f29fe (core::str) rename substr_len_bytes to substr_len, and delete unused byte_index[_from] 2012-02-23 17:00:19 +01:00
Kevin Cantu
7782f5d692 (core::str) remove len_bytes alias 2012-02-23 17:00:19 +01:00
Kevin Cantu
1b957c0942 (core::str) replace uses of unsafe::slice_bytes; replace find[_from]_bytes with find[_from] 2012-02-23 17:00:19 +01:00
Kevin Cantu
cec053487c (core::str) stop using index_chars 2012-02-23 17:00:19 +01:00
Kevin Cantu
6ea3d7935e (core::str) replace byte_index[_from] with index[_from] 2012-02-23 17:00:19 +01:00
Kevin Cantu
280633a728 (core::str) do some replacements 2012-02-23 17:00:19 +01:00
Kevin Cantu
2756a61e34 (core::str) add index, index_from, rindex which return byte positions of chars; rename find to find_chars; add fixmes to delete byte_index, byte_index_from 2012-02-23 17:00:19 +01:00
Kevin Cantu
e1d04e0062 (core::str) add a safe byte slice and maybe_slice ++ 2012-02-23 17:00:19 +01:00
Kevin Cantu
7c78b7dfed (core::str) add a safe byte slice and maybe_slice 2012-02-23 17:00:19 +01:00
Kevin Cantu
454b53a7c2 (core::char) rename slice -> slice_chars 2012-02-23 17:00:19 +01:00
Kevin Cantu
1cd5a0945a (core::str) rename rindex -> rindex_chars 2012-02-23 17:00:19 +01:00
Kevin Cantu
969fdf419c (core::str) rename index -> index_chars 2012-02-23 17:00:19 +01:00
Kevin Cantu
8ea96169ff (core::str) make len an alias for len_bytes ++ 2012-02-23 17:00:19 +01:00
Kevin Cantu
669ff690fd (core::str) make len an alias for len_bytes 2012-02-23 17:00:19 +01:00
Kevin Cantu
98447f5236 (core::str) mostly rename len -> len_chars 2012-02-23 17:00:19 +01:00
Brian Anderson
7a6498668f rt: Cut the red zone to 2K on linux 2012-02-23 00:23:22 -08:00
Brian Anderson
cd381333b9 rt: Cut the red zone to 4K on linux 2012-02-22 23:50:47 -08:00
Brian Anderson
b5c7997ef5 rt: Switch to the C stack in reset_stack_limit 2012-02-22 23:50:47 -08:00
Brian Anderson
c16bfbe0c3 rt: Stop logging on the Rust stack. Closes #1478 2012-02-22 22:30:21 -08:00
Brian Anderson
27ab663845 rustc: Don't ignore attributes inside empty mods. Closes #1655 2012-02-22 21:47:23 -08:00
Brian Anderson
ffa77dd610 test: Add a test for #1696 2012-02-22 21:17:19 -08:00
Brian Anderson
ae23ee28e2 test: Add a test for #1697 2012-02-22 21:14:27 -08:00
Brian Anderson
99a48660d1 rustc: Allow any integral types on rhs of shift ops 2012-02-22 17:26:08 -08:00
Tim Chevalier
4acfcd8c2f Improve error message for use of a non-pure-fn in a pred
Closes #1883
2012-02-22 10:59:52 -08:00
Marijn Haverbeke
cb2f43cbf4 Stop normalizing patterns
The check for whether a pat_ident is a variant or a binding
is simple and fast. Normalizing patterns again and again is
slow and error-prone (several places were forgetting to do it).
2012-02-22 16:57:23 +01:00
Marijn Haverbeke
a3b655f8e3 Fix uint/u64 confusion
Causes a failure on 32-bit platforms
2012-02-22 13:44:55 +01:00
Marijn Haverbeke
1e5266260a Take move captures in account in mutability checker
Closes #1461
2012-02-22 13:35:17 +01:00
Marijn Haverbeke
8015e6d52b Return a new type var instead of nil when failing to typecheck a field
The previous solution was usually causing a second spurious error
message.
2012-02-22 13:34:43 +01:00
Marijn Haverbeke
ffd50b9cdf Make the various from_str functions return options
So that they can be used with user input without causing task
failures.

Closes #1335
2012-02-22 13:18:15 +01:00
Marijn Haverbeke
72373438d2 Add core::to_str module
Provides a central iface for the various stringification
functions.
2012-02-22 13:06:38 +01:00
Marijn Haverbeke
ad03761a97 Remove preconditions from libraries
Closes #1805
2012-02-22 11:47:47 +01:00
Marijn Haverbeke
e57b6775c3 Clean up small things in syntax submodules 2012-02-22 11:16:25 +01:00
Brian Anderson
40cd1a7c45 rustdoc: Turn off parallel folding until I figure out what's wrong on OS X 2012-02-21 16:15:14 -08:00
Brian Anderson
8b071ebe4c rustdoc: Make it easy to switch between parallel and sequential folds 2012-02-21 16:14:02 -08:00
Brian Anderson
1ee139ae1f rustdoc: Convert most passes to parallel folds 2012-02-21 16:14:02 -08:00
Brian Anderson
d4f57620ae rustdoc: Implement a parallel fold 2012-02-21 16:14:02 -08:00
Brian Anderson
7599d2dd51 rustdoc: Implement astsrv in a dedicated task
This allows the srv type to be sendable so we can parallelize
all the rustdoc passes
2012-02-21 16:14:02 -08:00
Brian Anderson
96e3031675 rustdoc: Convert the astsrv constructor to a higher order fn
This will allow it to manage the destruction of the astsrv after
I convert it to a task
2012-02-21 16:14:02 -08:00
Brian Anderson
d6095dc6b5 rustdoc: Rename mk_srv_from_str/file to just from_str/file 2012-02-21 16:14:02 -08:00
Brian Anderson
77a01054fa rustc: Generate crates with #ast 2012-02-21 15:34:26 -08:00
Brian Anderson
a896eb326e core: Fix unused variable warning 2012-02-21 14:25:51 -08:00
Brian Anderson
6527fc3925 core: Fix to_str_exact for floats with no decimal component 2012-02-21 14:25:31 -08:00
Brian Anderson
910a32c7c7 core: Add option::unwrap
This function uses some unsafe code to move the value out of an option.
2012-02-21 13:55:50 -08:00
Marijn Haverbeke
9d20ed7bf9 Clean up unification code 2012-02-21 17:08:14 +01:00
Marijn Haverbeke
ff927f18f5 Clean up some FIXMEs in middle:: modules
Rename all TODOs to FIXMEs
2012-02-21 17:08:14 +01:00
Marijn Haverbeke
92a45f5582 Move trans::type_of code into its own file
Slowly shrinking base.rs
2012-02-21 17:08:14 +01:00
Marijn Haverbeke
d85d4f55f7 Include @ in crate_ctxt and fn_ctxt type definitions
So that code using them doesn't have to spell it out constantly.
2012-02-21 17:08:14 +01:00
Marijn Haverbeke
b1d7f252a9 Remove unused tydesc argument to upcall_shared_malloc 2012-02-21 17:08:14 +01:00
Marijn Haverbeke
389aff333d Make the cleanup tag in resource types a u8
Closes #1184
2012-02-21 17:08:14 +01:00
Marijn Haverbeke
5458da0fd9 Remove some checks and associated FIXMEs from trans code
Such intentions are better tracked in the bug tracker, don't need
to litter the code with repetetive comments.
2012-02-21 17:08:14 +01:00
Marijn Haverbeke
789a1ae356 Clean up a number of TODOs in the trans modules
Rename the ones that I didn't handle to FIXME
2012-02-21 14:20:18 +01:00
Brian Anderson
9691ce18a2 core: Resolve a FIXME in str module 2012-02-21 01:03:13 -08:00
Brian Anderson
4601810747 core: Remove a useless test from option mod 2012-02-20 22:43:33 -08:00
Tim Chevalier
4cd3d4ab1e More work on typechecking classes
classes-simple doesn't fail until trans now!
2012-02-20 22:26:19 -08:00
Brian Anderson
4220dcf1e9 core: New task API 2012-02-20 18:58:04 -08:00
Tim Chevalier
fbc95ba018 Re-XFAIL test that I accidentally 2012-02-20 17:33:35 -08:00
Tim Chevalier
cd9579e079 fix whitespace again 2012-02-20 17:21:33 -08:00
Tim Chevalier
ac7aa73b3e Oops, my whitespace is showing 2012-02-20 17:19:09 -08:00
Tim Chevalier
2299d204e4 Further work on resolving and typechecking classes
Class tests aren't working yet, but they fail a little later :-)

Also, make the parser correctly set a constructor's result type to
its enclosing class type.
2012-02-20 17:16:52 -08:00
Brian Anderson
5837e1e809 rustdoc: Remove stray log 2012-02-20 16:57:29 -08:00
Brian Anderson
86e1d4ecbd rustdoc: astsrv::exec should return sendable types
In order to make it parallelizable someday.
2012-02-20 16:56:59 -08:00
Brian Anderson
57be673025 rustdoc: Document reexports 2012-02-20 16:39:35 -08:00
Tycho Sci
b06cb0df5a cargo: Install blobs to $sysroot/(bin|lib) on system-mode
Issue #1795
2012-02-20 17:55:36 +09:00
Tycho Sci
ff0ab6b7ee cargo: Use system-mode by default except "install"
I think it is confused that you need to "cargo init"
and "cargo sync" every time to setup local-level .cargo
2012-02-20 17:55:35 +09:00
Tycho Sci
2e63bc5d82 cargo: Use $sysroot/$libdir/cargo as work dir
On win32  environment, it's "$sysroot/bin/cargo".
On unix-y environment, it's "$sysroot/lib/cargo".
2012-02-20 17:55:35 +09:00
Brian Anderson
657ef8ef60 Merge pull request #1869 from cpeterso/master
rt: lock_and_signal fixes
2012-02-19 23:42:38 -08:00
Chris Peterson
fed81c2cfc rt: Add some lock_and_signal assertions
Assert that locks are not reentered on the same thread, unlocked by a
different thread, or deleted while locked.
2012-02-19 23:15:35 -08:00
Chris Peterson
9f49293232 rt: Initialize Windows CRITICAL_SECTION with non-zero spin count
If a CRITICAL_SECTION is not initialized with a spin count, it will
default to 0, even on multi-processor systems. MSDN suggests using
4000. On single-processor systems, the spin count parameter is ignored
and the critical section's spin count defaults to 0.

For Windows >= Vista, extra debug info is allocated for
CRITICAL_SECTIONs but not released in a timely manner. Consider using
InitializeCriticalSectionEx(CRITICAL_SECTION_NO_DEBUG_INFO).
2012-02-19 23:13:31 -08:00
Chris Peterson
159dfd7c3b rt: Delete Windows CRITICAL_SECTION in dtor 2012-02-19 23:11:03 -08:00
Erick Tryzelaar
4a3d551b85 vim: fix indenting enums and macros
Now vim indenting goes from:

fn main() {
    enum t {
a: int,
   b: int
    }
#error("hello world");
}

to:

fn main() {
    enum t {
        a: int,
        b: int
    }
    #error("hello world");
}
2012-02-19 13:08:32 -08:00
Brian Anderson
6b280c61ce core: Export future mod 2012-02-18 23:03:26 -08:00
Brian Anderson
010f2abc70 core: When running tests sequentially, print the test name before running it
Useful for debugging hanging tests
2012-02-18 16:30:09 -08:00
Brian Anderson
23d36be1e9 core: Define futures in terms of local functions, of which port::recv is one possibility 2012-02-18 15:23:56 -08:00
Brian Anderson
d2294a2d99 rustc: Add missing space to error message 2012-02-18 14:04:24 -08:00
Brian Anderson
4370188055 Merge pull request #1860 from erickt/master
add str::find_from_bytes and str::index_from_bytes
2012-02-18 13:17:12 -08:00
Chris Peterson
3d202d7eae rt: rename nano_time() builtin to match time::precise_time_ns() 2012-02-18 01:39:42 -08:00
Chris Peterson
b73bc30858 std: Add tests for time module
Tested on OSX and Windows.
2012-02-18 01:32:52 -08:00
Chris Peterson
105b5f0be8 std: Expand doc comments for time module 2012-02-18 01:30:12 -08:00
Chris Peterson
123a920f59 std: Fix Windows system time conversion for get_time() 2012-02-18 01:21:26 -08:00
Graydon Hoare
ef6f628589 Refactor view_path to parse (but not yet process) export globs, unify code paths. 2012-02-17 23:05:20 -08:00
Graydon Hoare
6f70896854 Add new test for export globs, xfailed. 2012-02-17 23:02:27 -08:00
Brian Anderson
3411d19369 core: Make vec::push faster
This way makes it equivalent to the compiler's vec push, and is a lot
faster than calling vec::grow.
2012-02-17 18:15:52 -08:00
Brian Anderson
affd83ea0e rustdoc: Find the path to all item types 2012-02-17 17:48:37 -08:00
Brian Anderson
f8f28e29be rustdoc: Add a test that we can tolerate missing external crates 2012-02-17 17:34:44 -08:00
Brian Anderson
4e44437180 rustc: Make resolve more forgiving of missing external crates
Rustdoc needs to be able to resolve locals without resolving externals
2012-02-17 17:34:05 -08:00
Brian Anderson
cec1679cf6 rustdoc: Simplify attr pass 2012-02-17 16:52:27 -08:00
Brian Anderson
22de9292c6 rustdoc: Simplify desc pass 2012-02-17 16:00:39 -08:00
Brian Anderson
ba2c2afc98 rustdoc: Simplify desc_to_brief pass 2012-02-17 16:00:39 -08:00
Brian Anderson
37601684c9 rustdoc: Add an item fold 2012-02-17 16:00:39 -08:00
Brian Anderson
5e376b78cf rustdoc: Refactor itemdoc creation in extract pass 2012-02-17 16:00:39 -08:00
Brian Anderson
e7ccda98d1 rustdoc: Extract itemdoc creation 2012-02-17 16:00:39 -08:00
Brian Anderson
784e2b7298 rustdoc: Extract common item fields into itemdoc 2012-02-17 16:00:39 -08:00
Brian Anderson
d26fc348ef rustdoc: Add path field to all item docs 2012-02-17 16:00:39 -08:00
Brian Anderson
a5ede9d345 rustdoc: Resolve imports and reexports 2012-02-17 16:00:39 -08:00
Marijn Haverbeke
f7f73c79ec Move debuginfo into trans 2012-02-17 23:03:12 +01:00
Marijn Haverbeke
ff42964546 Clean up some of trans using block combinators
`with_scope` and `with_cond` can be used to wrap a piece of code in a
scope block, or conditionalize it on a value, without doing all the
context-creation and jumping by hand.

Also renames @block_ctxt to block to reduce noise.
2012-02-17 23:03:12 +01:00
Marijn Haverbeke
1c1261bcb8 Simplify get_tydesc's API 2012-02-17 22:47:03 +01:00
Marijn Haverbeke
9f4206cdc4 Clean up block_ctxt representation 2012-02-17 22:47:03 +01:00
Brian Anderson
54d7bffbb8 rt: Make upcall_vec_push an intrinsic 2012-02-17 12:08:03 -08:00
Brian Anderson
db62154062 rt: Don't take the lock when reallocing in the kernel memory region 2012-02-17 11:37:17 -08:00
Brian Anderson
d23cd8f52f rt: Don't hit TLS on upcall_vec_push unless necessary 2012-02-17 11:37:17 -08:00
Brian Anderson
a3fdd8c93f rt: Don't log on entry to upcall_vec_push. Also slow 2012-02-17 11:37:17 -08:00
Brian Anderson
fca8e9e621 rt: Don't do the stack canary check in upcall_vec_push. Too slow 2012-02-17 11:37:17 -08:00
Brian Anderson
e0b2fd8417 rt: Simplify upcall_vec_push 2012-02-17 11:37:17 -08:00
Brian Anderson
853e2003b8 rt: Make the stack canary just a word on the stk_seg struct 2012-02-17 11:37:17 -08:00
Graydon Hoare
2796ab6de9 Add a win32-ignore attribute to a should-fail test. 2012-02-17 11:28:18 -08:00
Chris Peterson
94fe5011e2 std: Add some env() and getenv() tests 2012-02-17 08:47:45 +01:00
Chris Peterson
aec76d2515 std: Fix env() assert when an environment variable's value contains a '=' char 2012-02-17 08:47:44 +01:00
Erick Tryzelaar
23703c0661 core: add str::find_from. 2012-02-16 19:16:08 -08:00
Erick Tryzelaar
042a5222d1 core: rewrite str::byte_index to use vec functions 2012-02-16 18:35:45 -08:00
Erick Tryzelaar
d1c9b160ad core: slim down str.rs by importing some and none. 2012-02-16 17:30:56 -08:00
Brian Anderson
75503570c7 rt: Untabify rust_port_selector.cpp 2012-02-16 12:53:21 -08:00
Brian Anderson
96af6f05a1 rt: Randomize port selection 2012-02-16 12:53:21 -08:00
Brian Anderson
601f7144d8 core: Add comm::select2
Receives on two ports simultaneously
2012-02-16 12:53:18 -08:00
Brian Anderson
b2cfb7ef82 rt: Add rust_port_select function 2012-02-16 11:12:22 -08:00
Marijn Haverbeke
e62ddf4898 More rigorous reuse of cleanup sequences
In both landing pads and break/cont/ret unwinding.

Closes #300
2012-02-16 16:37:33 +01:00
Marijn Haverbeke
ea6bb5aafa Remove to_zero/to_revoke kludge
It is much simpler to just move by_move args into a temporary
alloca.
2012-02-16 13:55:17 +01:00
Niko Matsakis
bfff2a8d55 make mut a keyword synonymous with mutable
first step towards issue #1273
2012-02-15 13:26:11 -08:00
Niko Matsakis
dddd9908d5 move shape into trans 2012-02-15 13:26:10 -08:00
Brian Anderson
93b66ee587 test: Assert that the result is correct in run-pass/crust-stress 2012-02-15 12:45:04 -08:00