Commit Graph

5762 Commits

Author SHA1 Message Date
Niko Matsakis
b30a76ed1b correct calling convention for x86_64 2011-11-08 21:14:09 -08:00
Niko Matsakis
0668eed81e fix alignment of xmm register storage 2011-11-08 21:11:47 -08:00
Niko Matsakis
e24d1dd6f5 rewrite so that memory allocations have 0 overhead by default 2011-11-08 21:11:47 -08:00
Niko Matsakis
75b98a9076 Correct the arithmetic on 64-bit builds. 2011-11-08 21:11:47 -08:00
Erick Tryzelaar
ab265586eb Re-add libuv as a submodule. 2011-11-08 19:01:47 -08:00
Erick Tryzelaar
1c87b9708c Removing the baked in libuv. 2011-11-08 19:01:47 -08:00
Brian Anderson
4f3f04643f Remove native "cdecl" ABI 2011-11-08 17:17:06 -08:00
Brian Anderson
d536bc2c10 Clean up std::task 2011-11-08 17:16:46 -08:00
Brian Anderson
061d2c2f77 Make task_sleep an intrinsic. 2011-11-08 15:58:08 -08:00
Brian Anderson
68f82de817 rt: Remove task_yield builtin
This is just a special case of task_sleep
2011-11-08 14:28:41 -08:00
Brian Anderson
2f8b695344 start_task can run on the C stack 2011-11-08 14:05:42 -08:00
Brian Anderson
0f1af17a60 Remove all uses of native cdecl except for those that yield 2011-11-08 11:29:10 -08:00
Erick Tryzelaar
a727bbaf70 Revert "Removing the baked in libuv."
This reverts commit df30663fdd.
2011-11-07 21:38:33 -08:00
Erick Tryzelaar
e8519b5b2f Revert "Reimporting libuv as a submodule."
This reverts commit cbae254d8a.
2011-11-07 21:38:18 -08:00
Erick Tryzelaar
cbae254d8a Reimporting libuv as a submodule.
Closes #1152.
2011-11-07 21:34:17 -08:00
Erick Tryzelaar
df30663fdd Removing the baked in libuv. 2011-11-07 21:34:17 -08:00
Haitao Li
253242390c Use ".ll" as default suffix of LLVM assembly file
This commit is a follow up of Issue #1147.

Althought there are some inconsistency about this naming convention in
LLVM. For example, `clang' write LLVM assembly to a file with ".s" suffix,
while both `llvm-dis' and `opt' write to files with ".ll" suffices. We
think ".ll" makes more sense.

Also rustc manual page is updated.
2011-11-07 21:12:48 -08:00
Brian Anderson
8857657640 Rename rust_uv.cpp to rust_aio.cpp 2011-11-07 19:35:39 -08:00
Brian Anderson
fdeb5ba304 Upgrade libuv to f1859eb841be2fe48512bc10e64556383f408b01 2011-11-07 19:24:25 -08:00
Brian Anderson
06d14f3a1c Fix long lines 2011-11-07 15:46:00 -08:00
Elly Jones
656a2af989 json: betterify for brson
Signed-off-by: Elly Jones <ellyjones@google.com>
2011-11-07 15:44:43 -08:00
Elly Jones
bd7262624c stdlib: add json.
Add a json serializer and deserializer.

Signed-off-by: Elly Jones <ellyjones@google.com>
2011-11-07 15:44:43 -08:00
Brian Anderson
fcd39b1191 Remove native "llvm" ABI 2011-11-07 15:29:05 -08:00
Brian Anderson
1103fe8ca0 Remove native "rust" ABI 2011-11-07 15:14:10 -08:00
Brian Anderson
b0c2416270 Clean up logging output. Closes #1088 2011-11-07 14:14:36 -08:00
Brian Anderson
9375204461 Add test for if without else cannot return result 2011-11-07 12:20:22 -08:00
Brian Anderson
413d97f8bd Add tests for blocks that must not have results 2011-11-07 12:19:50 -08:00
David Rajchenbach-Teller
16bdb85cb4 [Parser] parser.rs: Made two error messages less ambiguous 2011-11-07 12:04:16 -08:00
Haitao Li
852e789e78 rustc: Set LLVM module identifier as crate name 2011-11-07 22:59:21 +08:00
Haitao Li
b12de98814 rustc: Add support of generating LLVM assembly
rustc generates output files in LLVM bitcode format if "--emit-llvm"
option is given. When used with the "-S" option, rustc generates LLVM
intermediate language assembly files.

Fixes Issue #476
2011-11-07 21:44:40 +08:00
Marijn Haverbeke
f3468d03a2 Fix a long line 2011-11-07 10:10:27 +01:00
Joshua Wise
07bab92970 llvm::mk_object_file should really return an option, since the underlying LLVM function can fail. Fixes a crash on OS X when rust has bad dylibs within eyeshot. 2011-11-07 09:56:30 +01:00
David Rajchenbach-Teller
05c9c73756 [Stdlib] rope.rs: improved doc, code readability 2011-11-06 18:10:23 +01:00
David Rajchenbach-Teller
7bfe4dba80 [Test] rope.rs: testing concat 2011-11-06 18:10:23 +01:00
David Rajchenbach-Teller
bc1316aaf4 [Stdlib] rope.rs: concat, now attempts to preserve balance 2011-11-06 18:10:22 +01:00
David Rajchenbach-Teller
cefa97dc2e [Stdlib doc] char.rs: documented to_digit, cmp 2011-11-06 18:10:22 +01:00
David Rajchenbach-Teller
2dedcc8aa2 [stdlib optim] rope::node improved balancing strategy 2011-11-06 18:10:22 +01:00
Brian Anderson
7d741d69cb Add an LLVM git submodule 2011-11-05 13:23:10 -07:00
David Rajchenbach-Teller
1087f4b7b0 [Docfix] lib/str.rs: Applied review suggestions, took the opportunity to improve doc of my new functions. 2011-11-05 13:04:35 -07:00
David Rajchenbach-Teller
b17847b232 [Docfixes + feature] lib/uint.rs: Applied review suggesions, took the opportunity to add function loop 2011-11-05 13:04:34 -07:00
David Rajchenbach-Teller
57425b575c [Docfix + Renaming] lib/rope.rs: Applied review suggestions, mostly docfixes. 2011-11-05 13:04:34 -07:00
David Rajchenbach-Teller
f9a0d03c7a Fixup: forgotten stdtest/rope.rs 2011-11-05 13:04:34 -07:00
David Rajchenbach-Teller
a5dcf66ad3 stdlib: Added a small rope library 2011-11-05 13:04:34 -07:00
David Rajchenbach-Teller
07574363ef char.rs: Added a function cmp 2011-11-05 13:04:34 -07:00
David Rajchenbach-Teller
07ffe68ad9 uint.rs: added functions div_ceil, div_floor, div_round 2011-11-05 13:04:34 -07:00
David Rajchenbach-Teller
f4399063fc str.rs: Added functions loop_chars, loop_chars_sub, char_len_range, byte_len_range. 2011-11-05 13:04:34 -07:00
Elly Jones
b0278f5315 vec: take [mutable? T] instead of [T] 2011-11-04 17:30:03 -07:00
Marijn Haverbeke
5945667b99 Update some more tests for 1a68a9882 2011-11-03 11:14:48 +01:00
Marijn Haverbeke
1a68a98824 Disallow writing to function arguments again
Remove implicit copying hack.

Closes #1118
2011-11-03 10:57:54 +01:00
Matt Brubeck
5970e9c117 Add vec::permute to the standard library (#1013) 2011-11-02 15:35:10 -07:00
Niko Matsakis
b578ed9b2a add required symbols 2011-11-02 14:14:20 -07:00
Niko Matsakis
0982c7f78c hastily port so we don't fail to build 2011-11-02 14:14:20 -07:00
Niko Matsakis
8385d77b32 fix line too long 2011-11-02 14:14:20 -07:00
Niko Matsakis
ec77144713 add -m64 to gcc args if appropriate 2011-11-02 14:14:20 -07:00
Niko Matsakis
e012fd03f3 correct more i32 vs int mismatches 2011-11-02 14:14:19 -07:00
Niko Matsakis
602ae9139c convert various ints to i32 and vice versa 2011-11-02 14:14:19 -07:00
Niko Matsakis
4bd05e5be2 convert GEP to i32 2011-11-02 14:14:19 -07:00
Niko Matsakis
f1bc9307d8 get things checking on ia32 2011-11-02 14:14:19 -07:00
Niko Matsakis
c0e9c42bd2 thread the context through so that int can be 64 bits on x86_64 2011-11-02 14:14:19 -07:00
Niko Matsakis
2521cda1ec work on making the size of ints depend on the target arch 2011-11-02 14:14:19 -07:00
Niko Matsakis
9146bb09a1 work on making the size of ints depend on the target arch 2011-11-02 14:14:19 -07:00
Niko Matsakis
f05761ddb3 enable intrinsics for multiple arch 2011-11-02 14:13:22 -07:00
Niko Matsakis
20946e6970 start going back to an i386 build 2011-11-02 14:13:22 -07:00
Niko Matsakis
8011e3fabb hack around on makefiles trying to get a 64 bit build
right now there are many temporary hacks, search for NDM to find them
2011-11-02 14:13:22 -07:00
Niko Matsakis
020cd360e1 modify x64 assembly and so forth 2011-11-02 14:13:22 -07:00
Niko Matsakis
d3e865438f do not preserve caller-saved registers 2011-11-02 14:13:22 -07:00
Niko Matsakis
6a0d86c754 copy over x86-specific code 2011-11-02 14:13:22 -07:00
Niko Matsakis
5b3bddcd87 start to isolate target strings so that they can be configured for
x64 or other targets
2011-11-02 14:13:22 -07:00
Marijn Haverbeke
eef9a0bd39 Evaluate alt expressions in their own block context
Closes #785
2011-11-02 14:30:51 +01:00
Marijn Haverbeke
d8d35e7c40 Rename car/cdr to head/tail in std::list
Closes #1086
2011-11-02 14:23:49 +01:00
Marijn Haverbeke
5b0c103b39 Make it possible to cast unsafe pointers with the 'as' operator 2011-11-02 12:20:12 +01:00
Marijn Haverbeke
0a20eed2db Make ptr::addr_of return an immutable vec, add mut_addr_of 2011-11-02 12:20:12 +01:00
Marijn Haverbeke
eaf9e05611 Make 'lambda(...) -> ...' parse as a type 2011-11-02 12:20:11 +01:00
Marijn Haverbeke
4e9b8a28f7 Make resolving of imports behave more sanely
An import now ignores itself when resolving its target. This gets rid of
the previously existing (problematic) behaviour where the import would start
looking one scope up when its name was the same as its target's first
component.

Closes #1114
2011-11-02 12:20:11 +01:00
Marijn Haverbeke
7ed7e7fa79 Fix printing of parameterized tag types in ppaux
It was printing option::t[int] instead of option::t<int>
2011-11-02 12:20:11 +01:00
Brian Anderson
74e4b3b5c1 Register snapshots 2011-11-01 21:22:42 -07:00
Brian Anderson
4b01d11f92 Organize std.rc and make exports explicit 2011-11-01 20:48:44 -07:00
Brian Anderson
35affdfa61 Ignore another test involving failure on windows 2011-11-01 17:35:32 -07:00
Brian Anderson
eb8995e2fa Ignore should_fail tests on windows 2011-11-01 17:22:32 -07:00
Matt Brubeck
76077a9fb7 Add should_fail annotation for unit tests
This allows test cases to assert that a function is expected to fail.
Tests annotated with "should_fail" will succeed only if the function
fails.
2011-11-01 16:55:39 -07:00
Brian Anderson
61b604580b Fix alignment of interior pointers of dynamic-size types. Closes #1112
GEP_tup_like finds interior pointers by creating a tuple of all the types
preceding the element it wants a pointer to, then asks for the size of that
tuple. This results in incorrect pointers when the alignment of that tuple
is not the alignment of the interior type you're getting a pointer to.
2011-11-01 12:13:00 -07:00
Patrick Walton
587c118cac rt: Fix long lines 2011-10-31 15:50:15 -07:00
Patrick Walton
956812bda5 rt: Have __morestack conform to the calling convention that LLVM generates on x86 2011-10-31 15:41:19 -07:00
Brian Anderson
df12749b36 Register snapshots 2011-10-31 15:19:01 -07:00
Brian Anderson
bd33951b1c Update snapshot scripts for new stdlib name 2011-10-31 14:43:43 -07:00
Haitao Li
16dad84f7b rustc: Find crates by matching the name metadata 2011-10-31 14:43:43 -07:00
Patrick Walton
329f045d4c rustc: Enable segmented stacks in LLVM when --stack-growth is on 2011-10-31 14:42:44 -07:00
Patrick Walton
c9003d301f Stub a __morestack implementation and stack segment allocation. Untested. 2011-10-31 14:20:56 -07:00
Brian Anderson
8207506bbc Fix the filenames used in some IO tests
These tests are relying on not being able to open certain files, but did not
work correctly when run as root.
2011-10-31 12:50:45 -07:00
Matt Brubeck
80c926c5e2 Add a char::to_digit function 2011-10-31 16:15:36 +01:00
Matt Brubeck
4739942e74 Correct handling of non-numeric chars in parse_buf
Without this fix, int::parse_buf and uint::parse_buf return incorrect results
for any strings that contain non-numeric characters.  Fixes #1102.
2011-10-31 16:15:32 +01:00
Marijn Haverbeke
6f37accb29 Rename std::str::chars to iter_chars 2011-10-31 15:41:52 +01:00
Marijn Haverbeke
b0d60a7108 Add a way to iterate over a str's chars to std::str 2011-10-31 14:52:08 +01:00
Matt Brubeck
7080ac15fb Fix int::parse_buf for negative numbers (#1102) 2011-10-30 13:40:59 -07:00
Matt Brubeck
8c51d4b002 Make float::from_str ignore whitespace (#1089)
Discard leading and trailing whitespace, for consistency with C/JS/Java/etc.
Also, don't allow floating point numbers that start or end with 'e'.
2011-10-30 13:40:59 -07:00
Matt Brubeck
0bf10d84e2 Update keyword list in vim/syntax/rust.vim
Removed: iter, each, put, macro, meta, syntax, port, spawn
Added: block, copy
2011-10-29 20:50:17 -07:00
Brian Anderson
8befdd08a3 stdlib: Fix type in docs for result::chan 2011-10-29 20:16:44 -07:00
Brian Anderson
ce1be4d9a9 Cleanup the existing platform-specific ignored tests 2011-10-29 18:30:36 -07:00
Brian Anderson
f7ebe23ae1 Add the ability to ignore tests by compiler config
[test]
[ignore(cfg(target_os = "win32"))]
2011-10-29 18:30:32 -07:00
Brian Anderson
2e0593d999 stdlib: Add vec::concat to concatenate a vector of vectors
Compare to str::concat
2011-10-29 18:14:08 -07:00