www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.announce - LDC 1.36.0-beta1

reply kinke <noone nowhere.com> writes:
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!
Dec 04 2023
parent reply d007 <d007 gmail.com> writes:
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. ```sh /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.
Dec 06 2023
parent kinke <noone nowhere.com> writes:
On Wednesday, 6 December 2023 at 15:10:14 UTC, d007 wrote:
 ```sh
 /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.)
Dec 06 2023