What are (were) the most difficult parts of D?

Chris Piker chris at hoopjump.com
Sun May 22 20:05:33 UTC 2022


On Sunday, 22 May 2022 at 19:33:21 UTC, rikki cattermole wrote:

I should probably jump back to another thread, but maybe one more 
reply isn't too much off topic discussion...

> DMD and LDC would have produced the same set of issues, because 
> its the same frontend.

Oh, the compile stage works okay (after building a custom gcc), 
its linking that's the problem now.
```
dub build --single my_prog.d  # Works
env LD_RUN_PATH=/usr/local/gcc12/lib64 DFLAGS="-Wno-deprecated" 
dub build --compiler=gdc-12 --single my_prog.d  # Fails with link 
errors.
```
An example link error is:
```
/usr/bin/ld: libvibe_core.a: in function 
`_D3std6format8internal5write__T8getWidthTAwZQnFNaNbNiNfQoZl':
args.d:(.text+0x657e): undefined reference to 
`_D3std9algorithm9searching__T3allSQBg6format8internal5write__T8getWidthTAwZQnFQgZ9__lambda2Z__TQCoTQBbZQCwMFNaNbNiNfQBsZb'
```
I've made sure libgphobos.so is in the LD_RUN_PATH above.

Since there's no substitute for end-to-end testing, a CI that 
weekly grabbed packages off of code.dlang.org and tried them with 
gdc would be handy.  Now that gdc-12 is out, it might be 
something to consider.  I know that it's the package provider's 
job, but a automated friendly nudge wouldn't hurt.

> Vibe.d is well tested against the frontend.
>
> Its part of dmd's test suite.
>
> See: https://buildkite.com/dlang/dmd/builds/26775
Thanks, that's handy.  Do you know where the equivalent test 
suite is for gdc?





More information about the Digitalmars-d-learn mailing list