about summary refs log tree commit diff
path: root/src/librustc/back
AgeCommit message (Collapse)AuthorLines
2013-05-27auto merge of #6703 : sanxiyn/rust/allocation-lint, r=sanxiynbors-61/+61
Fix #6145. In particular, handle operator overloading.
2013-05-28Remove unnecessary allocations flagged by lintSeo Sanghyeon-61/+61
2013-05-27Refactor core::run in order to address many of the issuesgareth-5/+5
mentioned in #2625. This change makes the module more oriented around Process values instead of having to deal with process ids directly. Apart from issues mentioned in #2625, other changes include: - Changing the naming to be more consistent - Process/process is now used instead of a mixture of Program/program and Process/process. - More docs/tests. Some io/scheduler related issues remain (mentioned in #2625).
2013-05-23auto merge of #6706 : brson/rust/glue, r=catamorphismbors-0/+11
Instead of `glue_drop1234` it's `Type::<hash>::glue_drop1234` Haven't done any performance testing.
2013-05-23cleanup warnings from librustcErick Tryzelaar-6/+6
2013-05-23rustc: Give glue symbols meaningful namesBrian Anderson-0/+11
Instead of `glue_drop1234` it's `Type::<hash>::glue_drop1234` Haven't done any performance testing.
2013-05-22librustc: Add some missing `use core::prelude::*;` in the test casesPatrick Walton-0/+2
2013-05-22librustc: Change `std` to `extra` throughout libsyntax and librustcPatrick Walton-2/+2
2013-05-22libextra: Rename the actual metadata names of libcore to libstd and libstd ↵Patrick Walton-0/+8
to libextra
2013-05-20Remove all unnecessary allocations (as flagged by lint)Alex Crichton-25/+24
2013-05-19Use assert_eq! rather than assert! where possibleCorey Richardson-15/+15
2013-05-17auto merge of #6249 : crabtw/rust/arm, r=brsonbors-1/+1
It uses the private field of TCB head to store stack limit. I tested on my Raspberry PI. A simple hello world program ran without any problem. However, for a more complex program, it segfaulted as #6231.
2013-05-17Re-implement lint with less emphasis on item idsAlex Crichton-1/+0
This way it's much easier to add lints throughout compilation correctly, and functions on impls can alter the way lints are emitted.
2013-05-15Rename vec::len(var) to var.len()Youngmin Yoo-2/+2
2013-05-14Use static string with fail!() and remove fail!(fmt!())Björn Steinbrink-1/+1
fail!() used to require owned strings but can handle static strings now. Also, it can pass its arguments to fmt!() on its own, no need for the caller to call fmt!() itself.
2013-05-11auto merge of #6397 : cantsin/rust/rusti-fixes, r=catamorphismbors-2/+2
Fixes #6378 Don't pass the binary name to the LLVMRustExecuteJIT closure, otherwise it will leak memory; the binary name doesn't seem to be needed, anyhow.
2013-05-11auto merge of #6389 : sonwow/rust/issue-3356, r=bstriebors-2/+2
Fix for #3356
2013-05-10Fixes rusti crashes.James Tranovich-2/+2
Don't pass the binary name to the LLVMRustExecuteJIT closure; doesn't seem to be needed, anyhow.
2013-05-10renamed str::from_slice to str::to_ownedYoungsoo Son-2/+2
2013-05-09Use a specialized string interner to reduce the need for owned stringsBjörn Steinbrink-6/+6
&str can be turned into @~str on demand, using to_owned(), so for strings, we can create a specialized interner that accepts &str for intern() and find() but stores and returns @~str.
2013-05-08librustc: Stop parsing modes and remove them entirely from the languagePatrick Walton-2/+2
2013-05-08libcore: Remove mutable fields from hashPatrick Walton-19/+29
2013-05-07preliminary Linux ARM supportJyun-Yan You-1/+1
2013-05-06remove some unused mut decls and varsNiko Matsakis-1/+1
2013-05-03auto merge of #6198 : luqmana/rust/linker-arg, r=graydonbors-10/+18
2013-05-03rustpkg: Handle sysroot more correctlyTim Chevalier-1/+1
In rustpkg, pass around sysroot; in rustpkg tests, set the sysroot manually so that tests can find libcore and such. With bonus metadata::filesearch refactoring to avoid copies.
2013-05-03librustc: Add argument to allow choosing "linker"Luqman Aden-10/+18
2013-05-02auto merge of #6172 : Sodel-the-Vociferous/rust/rm_trt_obj_magic_nums, ↵bors-0/+7
r=catamorphism,graydon I don't know how one would write a separate test for this sort of thing. Building the compiler, and `make check` worked, which should mean I didn't screw anything.
2013-05-02Remove 'Local Variable' commentsBrendan Zabarauskas-70/+0
2013-05-01Add trait object field types to back/abi.rs, and use themDaniel Ralston-0/+7
I've added trt_field_vtable, trt_field_box, and trt_field_tydesc, and inserted them in place of the "magic numbers" used to access trait object fields through GEPi().
2013-04-29Adds '--print-link-args' that outputs linker arguments that would be usedJames Miller-79/+97
2013-04-29Add `--linker` option to pass flags to the linkerJames Miller-0/+3
2013-04-27only use #[no_core] in libcoreDaniel Micay-18/+0
2013-04-23Fixing some various warnings about unused importsAlex Crichton-1/+1
2013-04-22auto merge of #5996 : sanxiyn/rust/target-feature, r=graydonbors-57/+49
Fix #1879.
2013-04-22Choose target featuresSeo Sanghyeon-11/+18
2013-04-22Convert to C string inside WriteOutputFileSeo Sanghyeon-57/+42
2013-04-20rustc: remove unused 'mut' variablesAlex Crichton-3/+3
2013-04-19rustc: de-mode + fallout from libsyntax changesAlex Crichton-11/+11
2013-04-19librustc: WIP patch for using the return value.Patrick Walton-2/+4
2013-04-18rustc: One less copyTim Chevalier-2/+2
2013-04-16libcore,std,syntax,rustc: move tests into `mod tests`, make them private (no ↵Huon Wilson-17/+17
pub mod or pub fn).
2013-04-14rustc: remove unnecessary unsafe blocks/methodsAlex Crichton-3/+1
2013-04-03rename Linear{Map,Set} => Hash{Map,Set}Daniel Micay-2/+2
2013-04-03hashmap: rm linear namespaceDaniel Micay-1/+1
2013-03-29Add AbiSet and integrate it into the AST.Niko Matsakis-1/+1
I believe this patch incorporates all expected syntax changes from extern function reform (#3678). You can now write things like: extern "<abi>" fn foo(s: S) -> T { ... } extern "<abi>" mod { ... } extern "<abi>" fn(S) -> T The ABI for foreign functions is taken from this syntax (rather than from an annotation). We support the full ABI specification I described on the mailing list. The correct ABI is chosen based on the target architecture. Calls by pointer to C functions are not yet supported, and the Rust type of crust fns is still *u8.
2013-03-29librustc: Remove `fail_unless!`Patrick Walton-22/+22
2013-03-28Removing unused importsAlex Crichton-10/+7
2013-03-26rustc: Remove uses of oldmap::HashMapAlex Crichton-1/+1
2013-03-22librustc: Remove the `const` declaration form everywherePatrick Walton-36/+36