rust/src/librustc/middle/trans
bors 63e2724cdb auto merge of #5809 : Aatch/rust/start-attr, r=thestinger
This implements #5158. Currently it takes the command line args and the crate map. Since it doesn't take a `main` function pointer, you can't actually start the runtime easily, but that seems to be a shim to allow the current `rust_start` function to call into main.

However, you can do an end-run round the io library and do this:

```rust
use core::libc::{write, c_int, c_void, size_t, STDOUT_FILENO};

#[start]
fn my_start(_argc:int, _argv: **u8, _crate_map: *u8) -> int {
    do str::as_buf("Hello World!\n") |s,len| {
        unsafe {
            write(STDOUT_FILENO, s as *c_void, len as size_t);
        }
    }
    return 0;
}
```

Which is the most basic "Hello World" you can do in rust without starting up the runtime (though that has quite a lot to do with the fact that `core::io` uses `@` everywhere...)
2013-04-12 02:34:02 -07:00
..
_match.rs rename Linear{Map,Set} => Hash{Map,Set} 2013-04-03 10:30:36 -04:00
adt.rs librustc: implement a #[packed] attribute for structs. 2013-04-10 23:39:20 +10:00
asm.rs librustc: implement a #[packed] attribute for structs. 2013-04-10 23:39:20 +10:00
base.rs auto merge of #5809 : Aatch/rust/start-attr, r=thestinger 2013-04-12 02:34:02 -07:00
block.rs
build.rs rename Linear{Map,Set} => Hash{Map,Set} 2013-04-03 10:30:36 -04:00
cabi_arm.rs librustc: implement a #[packed] attribute for structs. 2013-04-10 23:39:20 +10:00
cabi_mips.rs librustc: implement a #[packed] attribute for structs. 2013-04-10 23:39:20 +10:00
cabi_x86_64.rs librustc: implement a #[packed] attribute for structs. 2013-04-10 23:39:20 +10:00
cabi.rs librustc: Replace all uses of fn() with &fn(). rs=defun 2013-03-11 09:35:58 -07:00
callee.rs Cleanup substitutions and treatment of generics around traits in a number of ways. 2013-04-09 08:06:10 -07:00
closure.rs librustc: Remove fail_unless! 2013-03-29 16:39:08 -07:00
common.rs librustc: implement a #[packed] attribute for structs. 2013-04-10 23:39:20 +10:00
consts.rs Cleanup substitutions and treatment of generics around traits in a number of ways. 2013-04-09 08:06:10 -07:00
controlflow.rs librustc: Remove fail_unless! 2013-03-29 16:39:08 -07:00
datum.rs librustc: Remove fail_unless! 2013-03-29 16:39:08 -07:00
debuginfo.rs Fix typo in u16 debug info 2013-04-08 23:59:00 +02:00
expr.rs Fix various warnings, NOTEs, etc 2013-04-05 05:36:03 -04:00
foreign.rs librustc: implement a #[packed] attribute for structs. 2013-04-10 23:39:20 +10:00
glue.rs Refactor so that references to traits are not represented using a type with a 2013-04-05 05:36:02 -04:00
inline.rs Cleanup substitutions and treatment of generics around traits in a number of ways. 2013-04-09 08:06:10 -07:00
machine.rs librustc: implement a #[packed] attribute for structs. 2013-04-10 23:39:20 +10:00
macros.rs Change imported macros to use leaky modules rather than leaky functions. 2013-02-26 10:26:41 -08:00
meth.rs Cleanup substitutions and treatment of generics around traits in a number of ways. 2013-04-09 08:06:10 -07:00
monomorphize.rs Cleanup substitutions and treatment of generics around traits in a number of ways. 2013-04-09 08:06:10 -07:00
reachable.rs rename Linear{Map,Set} => Hash{Map,Set} 2013-04-03 10:30:36 -04:00
reflect.rs Rather than storing a list of ty::method per trait, store one ty::method 2013-04-05 05:36:02 -04:00
shape.rs Removing unused imports 2013-03-28 23:56:46 -04:00
tvec.rs librustc: Modify all code to use new lifetime binder syntax 2013-03-26 21:30:17 -07:00
type_of.rs librustc: implement a #[packed] attribute for structs. 2013-04-10 23:39:20 +10:00
type_use.rs Add AbiSet and integrate it into the AST. 2013-03-29 18:36:20 -07:00
uniq.rs Remove unused imports throughout src/ 2013-03-04 12:27:01 -05:00