rust/src
Stuart Pernsteiner da9606247d translate into multiple llvm contexts
Rotate between compilation units while translating.  The "worker threads"
commit added support for multiple compilation units, but only translated into
one, leaving the rest empty.  With this commit, `trans` rotates between various
compilation units while translating, using a simple stragtegy: upon entering a
module, switch to translating into whichever compilation unit currently
contains the fewest LLVM instructions.

Most of the actual changes here involve getting symbol linkage right, so that
items translated into different compilation units will link together properly
at the end.
2014-09-05 09:18:57 -07:00
..
compiler-rt@62a4ca6055 Update compiler-rt to work for non-v7 arm. 2014-06-18 17:02:08 -07:00
compiletest run optimization and codegen on worker threads 2014-09-05 09:18:55 -07:00
doc auto merge of #16925 : jbcrail/rust/doc-spelling-errors, r=alexcrichton 2014-09-02 10:31:04 +00:00
driver Updated to new extern crate syntax. 2014-09-01 09:02:00 -07:00
etc auto merge of #16322 : michaelwoerister/rust/gdb-pretty, r=alexcrichton 2014-08-30 04:01:24 +00:00
grammar adding proof of context-sensitivy of raw string literals 2014-07-27 02:13:19 -04:00
gyp@1e46da1000
jemalloc@024c67ad65 Updated deps 2014-06-12 20:20:12 +03:00
liballoc Fixed misleading docs in liballoc 2014-08-28 14:57:16 -07:00
libarena Fallout from stabilizing core::option 2014-08-28 09:12:54 -07:00
libbacktrace Bundle libbacktrace with the compiler 2014-03-11 21:02:34 -07:00
libcollections Fix spelling errors and capitalization. 2014-09-03 23:10:38 -04:00
libcore auto merge of #16982 : jbcrail/rust/comment-and-string-corrections, r=alexcrichton 2014-09-04 18:30:59 +00:00
libcoretest Rename RawPtr::to_option() to RawPtr::as_ref() 2014-08-31 13:33:55 -05:00
libdebug Register new snapshots 2014-08-29 14:33:08 -07:00
libflate Update doc URLs for version bump 2014-07-11 11:21:57 -07:00
libfmt_macros Center alignment for fmt 2014-09-04 07:38:53 -07:00
libfourcc Implement generalized object and type parameter bounds (Fixes #16462) 2014-08-27 21:46:52 -04:00
libgetopts Register new snapshots 2014-08-29 14:33:08 -07:00
libglob Fallout from stabilizing core::option 2014-08-28 09:12:54 -07:00
libgraphviz Register new snapshots 2014-08-29 14:33:08 -07:00
libgreen auto merge of #16664 : aturon/rust/stabilize-option-result, r=alexcrichton 2014-08-28 23:56:20 +00:00
libhexfloat Implement generalized object and type parameter bounds (Fixes #16462) 2014-08-27 21:46:52 -04:00
liblibc auto merge of #16982 : jbcrail/rust/comment-and-string-corrections, r=alexcrichton 2014-09-04 18:30:59 +00:00
liblog Rename RawPtr::to_option() to RawPtr::as_ref() 2014-08-31 13:33:55 -05:00
libnative auto merge of #16982 : jbcrail/rust/comment-and-string-corrections, r=alexcrichton 2014-09-04 18:30:59 +00:00
libnum auto merge of #16850 : vks/rust/hash-num, r=alexcrichton 2014-09-02 23:01:06 +00:00
librand Register new snapshots 2014-08-29 14:33:08 -07:00
librbml auto merge of #16859 : alexcrichton/rust/snapshots, r=huonw 2014-08-30 19:51:25 +00:00
libregex auto merge of #16982 : jbcrail/rust/comment-and-string-corrections, r=alexcrichton 2014-09-04 18:30:59 +00:00
libregex_macros Implement generalized object and type parameter bounds (Fixes #16462) 2014-08-27 21:46:52 -04:00
librlibc Register new snapshots 2014-08-29 14:33:08 -07:00
librustc translate into multiple llvm contexts 2014-09-05 09:18:57 -07:00
librustc_back Fix spelling errors and capitalization. 2014-09-03 23:10:38 -04:00
librustc_llvm run optimization and codegen on worker threads 2014-09-05 09:18:55 -07:00
librustdoc move back:🔗:write into a separate file 2014-09-05 09:18:55 -07:00
librustrt auto merge of #16982 : jbcrail/rust/comment-and-string-corrections, r=alexcrichton 2014-09-04 18:30:59 +00:00
librustuv Updated to new extern crate syntax. 2014-09-01 09:02:00 -07:00
libsemver Allow deprecation in deprecated libraries 2014-08-12 13:35:56 -07:00
libserialize Fix spelling errors and capitalization. 2014-09-03 23:10:38 -04:00
libstd auto merge of #16843 : bkoropoff/rust/reader-writer-box, r=alexcrichton 2014-09-05 03:31:07 +00:00
libsync Register new snapshots 2014-08-29 14:33:08 -07:00
libsyntax auto merge of #16990 : DiamondLovesYou/rust/level-derive-clone, r=alexcrichton 2014-09-05 01:21:03 +00:00
libterm Unify non-snake-case lints and non-uppercase statics lints 2014-08-30 09:10:05 +12:00
libtest Implement generalized object and type parameter bounds (Fixes #16462) 2014-08-27 21:46:52 -04:00
libtime auto merge of #16981 : kmcallister/rust/ctypes-warning, r=alexcrichton 2014-09-04 13:01:00 +00:00
libunicode Fix spelling errors and capitalization. 2014-09-03 23:10:38 -04:00
liburl Rebasing changes 2014-08-26 16:07:32 +12:00
libuuid librustc: Forbid external crates, imports, and/or items from being 2014-08-16 19:32:25 -07:00
libuv@dec0561d19 native, rustuv: Fix spawning with empty args 2014-08-05 19:54:54 -07:00
llvm@90a3141620 Update LLVM 2014-08-04 17:43:56 -07:00
rt Rebasing changes 2014-08-26 16:07:32 +12:00
rustllvm Fix builds with LLVM < 3.6 2014-08-15 16:36:05 +02:00
test auto merge of #16982 : jbcrail/rust/comment-and-string-corrections, r=alexcrichton 2014-09-04 18:30:59 +00:00
README.md Update README file for src/ directory 2014-06-03 14:06:54 +02:00
snapshots.txt Register new snapshots 2014-08-29 14:33:08 -07:00

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

Source layout:

Path Description
librustc/ The self-hosted compiler
liballoc/ Rust's core allocation library
libcore/ The Rust core library
libdebug/ Debugging utilities
libstd/ The standard library (imported and linked by default)
libgreen/ The M:N runtime library
libnative/ The 1:1 runtime library
libsyntax/ The Rust parser and pretty-printer
libtest/ Rust's test-runner code
------------------- ---------------------------------------------------------
libarena/ The arena (a fast but limited) memory allocator
libbacktrace/ The libbacktrace library
libcollections/ A collection of useful data structures and containers
libflate/ Simple compression library
libfmt_macros/ Macro support for format strings
libfourcc/ Data format identifier library
libgetopts/ Get command-line-options library
libglob/ Unix glob patterns library
libgraphviz/ Generating files for Graphviz
libhexfloat/ Hexadecimal floating-point literals
liblibc/ Bindings for the C standard library
liblog/ Utilities for program-wide and customizable logging
libnum/ Extended number support library (complex, rational, etc)
librand/ Random numbers and distributions
libregex/ Regular expressions
libregex_macros/ The regex! syntax extension
libsemver/ Rust's semantic versioning library
libserialize/ Encode-Decode types library
libsync/ Concurrency mechanisms and primitives
libterm/ ANSI color library for terminals
libtime/ Time operations library
liburl/ URL handling lirary
libuuid/ UUID's handling code
------------------- ---------------------------------------------------------
rt/ The runtime system
rt/rust_*.c - Some of the runtime services
rt/vg - Valgrind headers
rt/msvc - MSVC support
rt/sundown - The Markdown library used by rustdoc
------------------- ---------------------------------------------------------
compiletest/ The test runner
test/ Testsuite
test/codegen - Tests for the LLVM IR infrastructure
test/compile-fail - Tests that should fail to compile
test/debug-info - Tests for the debuginfo tool
test/run-fail - Tests that should compile, run and fail
test/run-make - Tests that depend on a Makefile infrastructure
test/run-pass - Tests that should compile, run and succeed
test/bench - Benchmarks and miscellaneous
test/pretty - Pretty-printer tests
test/auxiliary - Dependencies of tests
------------------- ---------------------------------------------------------
librustdoc/ The Rust API documentation tool
libuv/ The libuv submodule
librustuv/ Rust libuv support code
------------------- ---------------------------------------------------------
llvm/ The LLVM submodule
rustllvm/ LLVM support code
------------------- ---------------------------------------------------------
etc/ Scripts, editors support, misc

NOTE: This list (especially the second part of the table which contains modules and libraries) is highly volatile and subject to change.