GDC crt_constructor/crt_destructor pragmas missing

vladislavp vladislavp at outlook.com
Fri Jul 19 23:23:34 UTC 2019


Hello,
I am trying to use mir-cpuid library, written by il9

Within the library

     pragma(crt_constructor)

is used.

I can see that these two new pragmas were incorporated by this 
merge
https://github.com/dlang/dmd/pull/7182
(and the author of mir-cpuid library commented how useful this 
is, in the discussion thread)

The DMD change log from about 1.5 years ago, announces those 2 
new pragams
https://dlang.org/blog/2018/01/04/dmd-2-078-0-has-been-released/


I am trying to use
gdc-9 (Ubuntu 9.1.0-2ubuntu2~18.04) 9.1.0

And my sample code including this library fails at compilation 
stage, saying that crt_constructor pragma is not known.


I am D newbie, therefore i might not appreciate all nuances.

But with these compilation error,  does it mean that I am running 
into
a situation where  given D (or in this case Better-C ) library
might be compatible with one compiler (eg DMD), but not with 
another (GDC) ?


Or is there a switch/workaround that can deployed for DUB that 
addresses those things during external package assembly stage 
(things that go into my ~/.dub) folder ?

Another question, is there way to know by looking at given 
librarie's description or dub.json what compiler it is compatible 
with?

Thank you in advance





More information about the D.gnu mailing list