rust/src
bors 1ccc330d4b Auto merge of #42687 - alexcrichton:windows-tls, r=sfackler
rustc: Enable #[thread_local] for Windows

I think LLVM has had support for quite some time now for this, we just never got
around to testing it out and binding it. We've had some trouble landing this in
the past I believe, but it's time to try again!

This commit flags the `#[thread_local]` attribute as being available for Windows
targets and adds an implementation of `register_dtor` in the `thread::local`
module to ensure we can destroy these keys. The same functionality is
implemented in clang via a function called `__tlregdtor` (presumably provided in
some Windows runtime somewhere), but this function unfortunately does not take a
data pointer (just a thunk) which means we can't easily call it. For now
destructors are just run in the same way the Linux fallback is implemented,
which is just keeping track via a single OS-based TLS key.
2017-06-24 04:42:18 +00:00
..
bootstrap Make Build.cxx() return a Result instead of panicking 2017-06-22 11:51:32 -07:00
build_helper rustbuild: Add ./x.py test --no-fail-fast 2017-06-02 09:27:44 -07:00
ci Auto merge of #42631 - malbarbo:wasm32, r=alexcrichton 2017-06-16 07:54:59 +00:00
compiler-rt@c8a8767c56 support default impl for specialization 2017-04-25 05:28:22 +00:00
doc Rollup merge of #42620 - wesleywiser:compile_error, r=brson 2017-06-21 10:40:15 -04:00
driver
etc Merge crate collections into alloc 2017-06-13 23:37:34 -07:00
grammar changed upper bound digit in octal rule to 7 2017-06-13 17:08:12 -03:00
jemalloc@11bfb0dcf8 Revert "Update jemalloc to 4.5.0" 2017-06-09 20:23:38 +02:00
liballoc Rollup merge of #42825 - letheed:patch-1, r=alexcrichton 2017-06-23 06:02:12 -06:00
liballoc_jemalloc Bump version and stage0 compiler 2017-06-19 22:25:05 -07:00
liballoc_system Improve reallocation in alloc_system on Windows 2017-06-02 06:29:58 -04:00
libarena Bump version and stage0 compiler 2017-06-19 22:25:05 -07:00
libbacktrace
libcollections Reintroduce deprecated collections crate 2017-06-17 13:18:18 -07:00
libcompiler_builtins Support VS 2017 2017-06-01 20:41:38 +00:00
libcore Rollup merge of #42822 - ChrisMacNaughton:guard-traits, r=alexcrichton 2017-06-23 06:02:11 -06:00
libfmt_macros Bump version and stage0 compiler 2017-06-19 22:25:05 -07:00
libgetopts Switch to the crates.io getopts crate 2017-06-20 12:43:12 -07:00
libgraphviz Removed as many "```ignore" as possible. 2017-06-23 15:31:53 +08:00
liblibc@2015cf17a6 Update libc to 0.2.24 2017-06-20 13:42:52 +02:00
libpanic_abort
libpanic_unwind std: Avoid panics in rust_eh_personality 2017-06-08 07:06:43 -07:00
libproc_macro Update older URLs pointing to the first edition of the Book 2017-06-15 00:04:00 +09:00
libproc_macro_plugin Bump version and stage0 compiler 2017-06-19 22:25:05 -07:00
libprofiler_builtins Fix gcc version required by libprofiler_builtins 2017-06-13 20:21:58 +01:00
librand Removal pass for anonymous parameters 2017-05-02 05:55:20 +02:00
librustc Removed as many "```ignore" as possible. 2017-06-23 15:31:53 +08:00
librustc_asan Support AddressSanitizer and ThreadSanitizer on x86_64-apple-darwin. 2017-04-25 10:31:01 +08:00
librustc_back rustc: Enable #[thread_local] for Windows 2017-06-23 16:11:39 -07:00
librustc_bitflags Bump version and stage0 compiler 2017-06-19 22:25:05 -07:00
librustc_borrowck Removed as many "```ignore" as possible. 2017-06-23 15:31:53 +08:00
librustc_const_eval Removed as many "```ignore" as possible. 2017-06-23 15:31:53 +08:00
librustc_const_math Bump version and stage0 compiler 2017-06-19 22:25:05 -07:00
librustc_data_structures Bump version and stage0 compiler 2017-06-19 22:25:05 -07:00
librustc_driver Modify --explain to handle hidden code (# ...) and indented code blocks. 2017-06-23 15:31:53 +08:00
librustc_errors Bump version and stage0 compiler 2017-06-19 22:25:05 -07:00
librustc_incremental Print -Zincremental-info to stderr instead of stdout. 2017-06-22 10:27:51 +02:00
librustc_lint Rollup merge of #42756 - sanxiyn:name-for-must-use, r=estebank 2017-06-20 16:28:31 -04:00
librustc_llvm Auto merge of #42571 - tlively:wasm-dev, r=alexcrichton 2017-06-20 09:44:40 +00:00
librustc_lsan Support AddressSanitizer and ThreadSanitizer on x86_64-apple-darwin. 2017-04-25 10:31:01 +08:00
librustc_metadata Removed as many "```ignore" as possible. 2017-06-23 15:31:53 +08:00
librustc_mir Removed as many "```ignore" as possible. 2017-06-23 15:31:53 +08:00
librustc_msan Support AddressSanitizer and ThreadSanitizer on x86_64-apple-darwin. 2017-04-25 10:31:01 +08:00
librustc_passes Removed as many "```ignore" as possible. 2017-06-23 15:31:53 +08:00
librustc_platform_intrinsics Bump version and stage0 compiler 2017-06-19 22:25:05 -07:00
librustc_plugin Removed as many "```ignore" as possible. 2017-06-23 15:31:53 +08:00
librustc_privacy Removed as many "```ignore" as possible. 2017-06-23 15:31:53 +08:00
librustc_resolve Rollup merge of #42833 - durka:non-constant-used-with-constant, r=Mark-Simulacrum 2017-06-23 06:02:15 -06:00
librustc_save_analysis Rollup merge of #42766 - nrc:versions, r=nagisa 2017-06-21 10:40:17 -04:00
librustc_trans Rollup merge of #42821 - michaelwoerister:incr-debug-output-on-stderr, r=alexcrichton 2017-06-23 06:02:10 -06:00
librustc_tsan Support AddressSanitizer and ThreadSanitizer on x86_64-apple-darwin. 2017-04-25 10:31:01 +08:00
librustc_typeck Rollup merge of #42787 - zackmdavis:explain_E0562, r=GuillaumeGomez 2017-06-23 06:02:09 -06:00
librustdoc Removed as many "```ignore" as possible. 2017-06-23 15:31:53 +08:00
libserialize Removed as many "```ignore" as possible. 2017-06-23 15:31:53 +08:00
libstd Auto merge of #42687 - alexcrichton:windows-tls, r=sfackler 2017-06-24 04:42:18 +00:00
libstd_unicode Rollup merge of #42271 - tinaun:charfromstr, r=alexcrichton 2017-06-20 16:28:25 -04:00
libsyntax Removed as many "```ignore" as possible. 2017-06-23 15:31:53 +08:00
libsyntax_ext Removed as many "```ignore" as possible. 2017-06-23 15:31:53 +08:00
libsyntax_pos Bump version and stage0 compiler 2017-06-19 22:25:05 -07:00
libterm Bump version and stage0 compiler 2017-06-19 22:25:05 -07:00
libtest Switch to the crates.io getopts crate 2017-06-20 12:43:12 -07:00
libunwind Haiku: fix initial platform support 2017-04-22 13:47:36 +12:00
llvm@d8c9dfcc4f Update LLVM to fix unsigned multiplication overflow 2017-06-21 16:38:36 +01:00
rt Remove the in-tree flate crate 2017-06-20 07:11:29 -07:00
rtstartup Update stage0 bootstrap compiler 2017-04-29 12:11:14 -07:00
rustc Fix plain_summary_line function 2017-03-28 11:38:56 -06:00
rustllvm Update LLVM to pick StackColoring improvement 2017-06-19 20:55:56 +03:00
test Rollup merge of #42833 - durka:non-constant-used-with-constant, r=Mark-Simulacrum 2017-06-23 06:02:15 -06:00
tools Added a tidy check to disallow "``ignore" and "``rust,ignore". 2017-06-23 15:31:54 +08:00
Cargo.lock Auto merge of #42682 - alexcrichton:jobserver, r=michaelwoerister 2017-06-22 00:32:42 +00:00
Cargo.toml Update cargo/rls submodules and dependencies 2017-06-17 12:00:49 -07:00
stage0.txt Bump version and stage0 compiler 2017-06-19 22:25:05 -07:00