rust/src
Alex Crichton 9adcbac30d Prevent a rare linkage issue with an xcrate static
If a static is flagged as address_insignificant, then for LLVM to actually
perform the relevant optimization it must have an internal linkage type. What
this means, though, is that the static will not be available to other crates.
Hence, if you have a generic function with an inner static, it will fail to link
when built as a library because other crates will attempt to use the inner
static externally.

This gets around the issue by inlining the static into the metadata. The same
relevant optimization is then applied separately in the external crate. What
this ends up meaning is that all statics tagged with #[address_insignificant]
will appear at most once per crate (by value), but they could appear in multiple
crates.

This should be the last blocker for using format! ...
2013-09-17 11:24:05 -07:00
..
compiletest
driver Add the rustdoc_ng binary to the makefile rules 2013-09-16 18:10:46 -07:00
etc
gyp@f407f09c94
libextra auto merge of #9244 : thestinger/rust/drop, r=catamorphism 2013-09-17 07:15:42 -07:00
librust rust test: pass the remaining arguments through 2013-09-15 15:42:40 -05:00
librustc Prevent a rare linkage issue with an xcrate static 2013-09-17 11:24:05 -07:00
librustdoc switch Drop to &mut self 2013-09-16 22:19:23 -04:00
librusti
librustpkg
libstd auto merge of #9244 : thestinger/rust/drop, r=catamorphism 2013-09-17 07:15:42 -07:00
libsyntax auto merge of #9245 : kballard/rust/bytes-span, r=catamorphism 2013-09-17 08:45:44 -07:00
libuv@d88cf5652a
llvm@c9ffab392a Upgrade LLVM to close #9117 2013-09-15 20:26:40 -07:00
rt
rustdoc_ng Add the rustdoc_ng binary to the makefile rules 2013-09-16 18:10:46 -07:00
rustllvm auto merge of #9118 : alexcrichton/rust/llvm-fix, r=sanxiyn 2013-09-15 22:30:55 -07:00
test Prevent a rare linkage issue with an xcrate static 2013-09-17 11:24:05 -07:00
README.txt
snapshots.txt

This is a preliminary version of the Rust compiler, libraries and tools

Source layout:

librustc/          The self-hosted compiler

libstd/            The standard library (imported and linked by default)
libextra/          The "extras" library (slightly more peripheral code)
libsyntax/         The Rust parser and pretty-printer

rt/                The runtime system
rt/rust_*.cpp      - The majority of the runtime services
rt/isaac           - The PRNG used for pseudo-random choices in the runtime
rt/bigint          - The bigint library used for the 'big' type
rt/uthash          - Small hashtable-and-list library for C, used in runtime
rt/sync            - Concurrency utils
rt/util            - Small utility classes for the runtime.
rt/vg              - Valgrind headers
rt/msvc            - MSVC support
rt/linenoise       - a readline-like line editing library

test/              Testsuite
test/compile-fail  - Tests that should fail to compile
test/run-fail      - Tests that should compile, run and fail
test/run-pass      - Tests that should compile, run and succeed
test/bench         - Benchmarks and miscellanea
test/pretty        - Pretty-printer tests
test/auxiliary     - Dependencies of tests

compiletest/       The test runner

librustpkg/        The package manager and build system

librusti/          The JIT REPL

librustdoc/        The Rust API documentation tool

llvm/              The LLVM submodule

libuv/             The libuv submodule

rustllvm/          LLVM support code

libfuzzer/         A collection of fuzz testers

etc/               Scripts, editor support, misc