Thread overview
LDC 1.36.0-beta1
Dec 05
kinke
Dec 06
d007
Dec 06
kinke
December 05

Glad to announce the first beta for LDC 1.36. Major changes:

  • Based on D 2.106.0.
  • Support for LLVM 17; the prebuilt packages use v17.0.6.
  • New GDC-compatible CLI options -fno-{exceptions,moduleinfo,rtti} to selectively enable some -betterC effects.
  • Support for sample-based PGO via clang-compatible CLI option -fprofile-sample-use and ldc-profgen tool.

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

Please give this some extra regression testing if you find the time, as it's the first LDC version with enforced opaque IR pointers, and there might still be related, hard-to-find bugs lurking in our codebase. You can e.g. run optimized unittests via DFLAGS=-O dub run -c unittest -b unittest.

So please help test, and thanks to all contributors & sponsors!

December 06

On Tuesday, 5 December 2023 at 00:31:20 UTC, kinke wrote:

>

Glad to announce the first beta for LDC 1.36. Major changes:

  • Based on D 2.106.0.
  • Support for LLVM 17; the prebuilt packages use v17.0.6.
  • New GDC-compatible CLI options -fno-{exceptions,moduleinfo,rtti} to selectively enable some -betterC effects.
  • Support for sample-based PGO via clang-compatible CLI option -fprofile-sample-use and ldc-profgen tool.

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

Please give this some extra regression testing if you find the time, as it's the first LDC version with enforced opaque IR pointers, and there might still be related, hard-to-find bugs lurking in our codebase. You can e.g. run optimized unittests via DFLAGS=-O dub run -c unittest -b unittest.

So please help test, and thanks to all contributors & sponsors!

After upgrade to this version. I get error for betterC.

/ldc/bin/../import/core/internal/array/duplication.d(39): Error: appending to array in `res ~= cast(immutable(Column))e` requires the GC which is not available with -betterC

The code is used in ctfe function, I am not sure ~= or .idup cause this problem.

December 06

On Wednesday, 6 December 2023 at 15:10:14 UTC, d007 wrote:

>
/ldc/bin/../import/core/internal/array/duplication.d(39): Error: appending to array in `res ~= cast(immutable(Column))e` requires the GC which is not available with -betterC

The code is used in ctfe function, I am not sure ~= or .idup cause this problem.

Thanks for testing. - This is a new check in the codegen layer; DMD has it, LDC was missing it so far. So if it does work with DMD, please file an LDC issue. - The expected root problem here is that the array-append lowering ends up being codegen'd, even though it's exclusively used for CTFE and so the template instances should be culled from codegen. (The logic for this is in the DMD frontend.)