Commit Graph

5687 Commits

Author SHA1 Message Date
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