On Monday, 17 February 2025 at 21:56:29 UTC, Luís Marques wrote:
>On Sunday, 16 February 2025 at 22:40:58 UTC, Luís Marques wrote:
>On Sunday, 16 February 2025 at 22:06:37 UTC, Johan wrote:
>This used to work, but somehow does not work anymore since LDC 2.100 (I perhaps have forgotten about this and just noticed it). [2]
You are very welcome to help investigate why it is no longer working!
Sure, I'll have a look. Thanks.
I don't think this broke with the D 2.100. For instance, LDC 1.29.0 is based on 2.099.1 and exhibits the same problem. Even older LDC versions don't trip on this exact program but they do output AddressSanitizer CHECK failures.
==4108825==AddressSanitizer CHECK failed: /home/vsts/work/1/s/compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp:556 "((*tls_addr + *tls_size)) <= ((*stk_addr + *stk_size))" (0x78927e371080, 0x78927e371000)
I'll need some time to dig through the IR, the GC, etc.
It is likely related to LLVM version. Did you already check that? Possibly a subtle change in API.
>If you are going to look at this, please let me know, to avoid duplicate efforts.
Not soon, no.
-Johan