about summary refs log tree commit diff
path: root/compiler/rustc_codegen_gcc
diff options
context:
space:
mode:
authorMatthias Krüger <matthias.krueger@famsik.de>2023-07-21 06:52:29 +0200
committerGitHub <noreply@github.com>2023-07-21 06:52:29 +0200
commit8c6ef1d2bc7c4bce0427c728443589877bd329e6 (patch)
treebb99cb2ff439ae7e72c9b14368b90eb966dcdd73 /compiler/rustc_codegen_gcc
parent5ac3684abdf916e54aacf95ec5f1d0f5c98174d3 (diff)
parent40e116489feabac4289f4a5d65913a28dc36927d (diff)
downloadrust-8c6ef1d2bc7c4bce0427c728443589877bd329e6.tar.gz
rust-8c6ef1d2bc7c4bce0427c728443589877bd329e6.zip
Rollup merge of #113907 - ChrisDenton:tls, r=thomcc
Minor improvements to Windows TLS dtors

This does a few things:

* Moves keyless dtors into the same module as the `on_tls_callback` function because of dylib mess. We keep the `inline(never)` hints as a precaution (see also the issue they link to).
* Introduces the `HAS_DTORS` atomic as an optimization hint. This allows removing (most) of the TLS dtor code if no dtors are ever run. Otherwise it's always included because of a `#[used]`.
* Only run either keyed dtors or keyless dtors but not both. They should be mutually exclusive as keyed dtors are a fallback. I've also added an `assert` to make sure this is true.
Diffstat (limited to 'compiler/rustc_codegen_gcc')
0 files changed, 0 insertions, 0 deletions