Get rid of unused SimpleVisitor stuff.
Guarantee that statics have unique names

While they may have the same name within various scopes, this changes static
names to use path_pretty_name to append some hash information at the end of the
symbol. We're then guaranteed that each static has a unique NodeId, so this
NodeId is as the "hash" of the pretty name.

Closes #9188
std::rt::io::file: Enable I/O tests on Win32

Enable blocked tests which are now fixed by #9165.

Closes #8810.
std::rt::io::support: Fix ignored test on Win32

Assumes drive C: exists.

Closes #8812.
std::os: Use unicode for last_os_error() on Win32

FormatMessageA may return non-ascii message,
which is encoded as system code page, not utf8.
This may cause `assert!(is_utf8(v))` failure on
some non-English machines.
This patch replaces it with FormatMessageW,
which returns utf-16 message.

Fixes `make check-stage2-std` failure on my machine. :)
std::rt::uv::uvll: Fix uv_req_type on Win32

Also enables request_sanity_check() test.

Closes #8817
std::rt::io::net::tcp: Fix one tcp test on Win32

Fixes `connect_error` part of #8811.
rust test: pass the remaining arguments through

The arguments after `rust test filename.rs` should be passed through
to the test binary. This allows the `rust` command to be used to run a
subset of tests, to run ignored tests, and to run benchmarks.
auto merge of #9213 : dcrewi/rust/rust-test-arguments, r=catamorphism

The arguments after `rust test filename.rs` should be passed through
to the test binary. This allows the `rust` command to be used to run a
subset of tests, to run ignored tests, and to run benchmarks.
std::rt::uv::uvio: Enable tests on Win32

Closes #8816.
extra::fileinput: Enable tests on Win32

They were blocked by #8810, but it works now.
std::rt::uv::file: Enable tests on Win32

Closes #8814.
remove unused `FastCall` wrapper

this can just be done using CallWithConv
Upgrade LLVM to close #9117
c_str: Add new method .as_str() -> Option<&str>

Also rustify .as_bytes(), so it no longer calls libc::strlen() and is
inlineable.
teach Call/CallWithConv to set attributes
When declaring extern fns from external crates, use the correct abi

Beforehand it was assumed that the standard cdecl abi was used for all extern
fns of extern crates, but this reads the abi of the extern fn type and declares
the function in the local crate with the appropriate type.
auto merge of #9219 : thestinger/rust/function-split, r=alexcrichton
Have workcache::test put `foo.c` in the same directory it runs in.

This prevents a stray `foo.c` from being left lying around after tests
run, and it's more consistent with the rest of the code.
auto merge of #9118 : alexcrichton/rust/llvm-fix, r=sanxiyn

I created a new branch  rust-llvm-2013-09-11 in my llvm repo to mark this momentous occasion