How do I make LDC use the stack only?

Mateus m4t3uz at outlook.com
Thu Nov 11 03:10:48 UTC 2021


I'm creating a [D operating system 
kernel](https://github.com/m4t3uz/leaf-d). Thread local storage 
(TLS) is not available so it cannot be used. My D kernel compiles 
correctly with DMD but it fails with runtime errors on LDC. I 
guess LDC promotes some stack variables to TLS for example:

```d
void f() {
     ubyte[15] a; // works
     ubyte[16] b; // does not work
     __gshared ubyte[16] c; // works
     MyStruct d; // does not work
}
```

How do I make LDC use the stack only? Should I file a bug report?



More information about the digitalmars-d-ldc mailing list