Thread overview
LDC 1.27.0-beta3
Jul 14, 2021
kinke
Jul 15, 2021
Walter Bright
Jul 15, 2021
rikki cattermole
Jul 15, 2021
Adam D Ruppe
Jul 15, 2021
kinke
Jul 15, 2021
Guillaume Piolat
Jul 15, 2021
evilrat
Jul 15, 2021
kinke
July 14, 2021

Glad to announce the third beta for LDC 1.27. Some noteworthy changes since beta2:

  • Frontend and druntime/Phobos upgraded to todays's DMD stable.
  • LLVM for prebuilt packages bumped to v12.0.1.
  • New LDC-specific language addition: __traits(initSymbol, <aggregate type>)
  • Fix missed RVO opportunity.

Full release log and downloads: https://github.com/ldc-developers/ldc/releases/tag/v1.27.0-beta3

Please help test, and thanks to all contributors & sponsors!

July 14, 2021
On 7/14/2021 12:38 PM, kinke wrote:
> Glad to announce the third beta for LDC 1.27. Some noteworthy changes since beta2:

Nice work!
July 15, 2021
Will -fvisibility=public support be upstreamed into dmd?

If yes, it might be worth it to get rid of export as a keyword out right in a DIP (as it introduces the possibility of linker errors that would otherwise not need to exist).
July 15, 2021
On Thursday, 15 July 2021 at 02:54:14 UTC, rikki cattermole wrote:
> If yes, it might be worth it to get rid of export as a keyword out right in a DIP (as it introduces the possibility of linker errors that would otherwise not need to exist).

No, that's a bad idea.
July 15, 2021
On Thursday, 15 July 2021 at 11:38:10 UTC, Adam D Ruppe wrote:
> On Thursday, 15 July 2021 at 02:54:14 UTC, rikki cattermole wrote:
>> If yes, it might be worth it to get rid of export as a keyword out right in a DIP (as it introduces the possibility of linker errors that would otherwise not need to exist).
>
> No, that's a bad idea.

I fully agree; it's still very useful with `-fvisibility=hidden` to only export what you really want (e.g., in order to quite likely shrink the final size of executables and plugin libs considerably) without the blunt export-everything method (which is nice for libraries like druntime and Phobos).
July 15, 2021
On Thursday, 15 July 2021 at 02:54:14 UTC, rikki cattermole wrote:
> Will -fvisibility=public support be upstreamed into dmd?
>
> If yes, it might be worth it to get rid of export as a keyword

Please, no. -fvisibility=public doesn't work in all cases in our experience.
July 15, 2021
On Thursday, 15 July 2021 at 11:58:28 UTC, Guillaume Piolat wrote:
> On Thursday, 15 July 2021 at 02:54:14 UTC, rikki cattermole wrote:
>> Will -fvisibility=public support be upstreamed into dmd?
>>
>> If yes, it might be worth it to get rid of export as a keyword
>
> Please, no. -fvisibility=public doesn't work in all cases in our experience.

And there is also DLL export limit on Windows which 65k symbols, yay.
July 15, 2021
On Thursday, 15 July 2021 at 13:45:32 UTC, evilrat wrote:
> And there is also DLL export limit on Windows which 65k symbols, yay.

Yep, I've already run into it during testing. ;) - For reference: https://developercommunity.visualstudio.com/t/fix-msvc-65535-symbol-limit-in-lib-files-lnk1189/220174