https://issues.dlang.org/show_bug.cgi?id=15975
--- Comment #2 from Rainer Schuetze <[email protected]> --- Sorry, screwed up the test completely. It is not the variable that is misaligned, but the range scanned by the GC. Use this test program: import core.stdc.stdio; import rt.sections; void* tls; void main() { foreach (ref sg; SectionGroup) { foreach (rng; sg.gcRanges) printf("glob: beg = %p end = %p\n", rng.ptr, rng.ptr + rng.length); } if (auto arr = initTLSRanges()) foreach (rng; *arr) printf("tls: beg = %p end = %p\n", rng.ptr, rng.ptr + rng.length); printf("&tls = %p\n", &tls); } It prints: glob: beg = 0x6299f0 end = 0x62e3a8 tls: beg = 0x7fd37dfdb717 end = 0x7fd37dfdba40 &tls = 0x7fd37dfdb710 --
