rust/src/test
bors d27bdafc3e Auto merge of #33553 - alexcrichton:cdylibs, r=brson
rustc: Add a new crate type, cdylib

This commit is an implementation of [RFC 1510] which adds a new crate type,
`cdylib`, to the compiler. This new crate type differs from the existing `dylib`
crate type in a few key ways:

* No metadata is present in the final artifact
* Symbol visibility rules are the same as executables, that is only reachable
  `extern` functions are visible symbols
* LTO is allowed
* All libraries are always linked statically

This commit is relatively simple by just plubming the compiler with another
crate type which takes different branches here and there. The only major change
is an implementation of the `Linker::export_symbols` function on Unix which now
actually does something. This helps restrict the public symbols from a cdylib on
Unix.

With this PR a "hello world" `cdylib` is 7.2K while the same `dylib` is 2.4MB,
which is some nice size savings!

[RFC 1510]: https://github.com/rust-lang/rfcs/pull/1510

Closes #33132
2016-05-20 00:34:50 -07:00
..
codegen rustc: Implement custom panic runtimes 2016-05-09 08:22:36 -07:00
codegen-units trans: Make collector handle the drop_in_place() intrinsic. 2016-05-11 14:30:33 -04:00
compile-fail Auto merge of #33553 - alexcrichton:cdylibs, r=brson 2016-05-20 00:34:50 -07:00
compile-fail-fulldeps s/aux/auxiliary, because windows 2016-05-06 16:24:48 -04:00
debuginfo s/aux/auxiliary, because windows 2016-05-06 16:24:48 -04:00
incremental basic tests for cross-crate hashing 2016-05-18 10:11:36 -04:00
parse-fail syntax: Refactor parsing of method declarations 2016-05-14 13:23:37 +03:00
pretty Fix fallout in tests 2016-03-30 22:00:48 +00:00
run-fail Add #[rustc_no_mir] to make tests pass with -Z orbit. 2016-03-17 22:48:07 +02:00
run-fail-fulldeps Improve error message for let-in-expr-position 2016-01-26 13:55:46 +05:30
run-make Auto merge of #33553 - alexcrichton:cdylibs, r=brson 2016-05-20 00:34:50 -07:00
run-pass Auto merge of #33640 - lucab:to-upstream/tcp-stress, r=alexcrichton 2016-05-16 02:47:12 -07:00
run-pass-fulldeps Improve derived implementations for enums with lots of fieldless variants 2016-05-12 21:05:13 +02:00
run-pass-valgrind Add #[rustc_no_mir] to make tests pass with -Z orbit. 2016-03-17 22:48:07 +02:00
rustdoc rustdoc: Fix missing type parameters on impls 2016-05-12 20:08:33 +01:00
ui pacify the mercilous tidy 2016-05-16 16:48:48 -04:00