Thread overview
LDC 1.21.0-beta1
Mar 21
kinke
Mar 22
Johan
Mar 22
kinke
March 21
Glad to announce the first beta for an exciting LDC 1.21 release:

* Based on D 2.091.0; LLVM upgraded to v10.0.0-rc4.
* Experimental iOS/arm64 support.
* Initial support for GCC/GDC-style inline assembly syntax, primarily for portability across GDC and LDC (and GCC-style C).
* Android improvements, incl. an important fix for x86 architectures, usability of the ld.gold linker and no more D `main()` requirement.
* Important AArch64 bugfix, especially for unoptimized code.

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

Please help test, and thanks to all contributors!
March 22
On Saturday, 21 March 2020 at 12:05:18 UTC, kinke wrote:
> Glad to announce the first beta for an exciting LDC 1.21 release:
>
>
> Please help test, and thanks to all contributors!

I am seeing a linker error with this beta.  Same compilation works with 1.20.1.

ldc2 -w -g -d-debug -d-version=flavour_debug -d-version=with_libplot -dip1008 -I.. -I../nm -I../util -I../geom -I../grid_utils -I../extern/gzip -d-version=multi_species_gas -d-version=multi_T_gas -d-version=MHD -d-version=turbulence -of=e4shared \
	-d-version=tecplot_unavailable \
	main_with_rev_string.d \
----- long lines snipped ------
	../gasdyn/gasflowexception.d ../gasdyn/idealgasflow.d ../gasdyn/gasflow.d ../gasdyn/luaidealgasflow.d ../gasdyn/luagasflow.d ../nm/luabbla.d  \
	-L-L../../extern/lua-5.1.4/lib -L-lplot -L-llua -L-ldl
e4shared.o:luabbla.d:_D7simcore12__ModuleInfoZ: error: undefined reference to '_D6kdtree12__ModuleInfoZ'
collect2: error: ld returned 1 exit status
Error: /usr/bin/cc failed with status: 1

March 22
On Sunday, 22 March 2020 at 12:00:58 UTC, Peter Jacobs wrote:
>
> I am seeing a linker error with this beta.  Same compilation works with 1.20.1.
>
> ldc2 -w -g -d-debug -d-version=flavour_debug -d-version=with_libplot -dip1008 -I.. -I../nm -I../util -I../geom -I../grid_utils -I../extern/gzip -d-version=multi_species_gas -d-version=multi_T_gas -d-version=MHD -d-version=turbulence -of=e4shared \
> 	-d-version=tecplot_unavailable \
> 	main_with_rev_string.d \
> ----- long lines snipped ------
> 	../gasdyn/gasflowexception.d ../gasdyn/idealgasflow.d ../gasdyn/gasflow.d ../gasdyn/luaidealgasflow.d ../gasdyn/luagasflow.d ../nm/luabbla.d  \
> 	-L-L../../extern/lua-5.1.4/lib -L-lplot -L-llua -L-ldl
> e4shared.o:luabbla.d:_D7simcore12__ModuleInfoZ: error: undefined reference to '_D6kdtree12__ModuleInfoZ'
> collect2: error: ld returned 1 exit status
> Error: /usr/bin/cc failed with status: 1

Are you sure you are linking with that `kdtree` module?
Upgrading the compiler often uncovers latent linking dependency bugs (possibly 1.20 optimizes / codegens things slightly different).

-Johan

March 22
On Sunday, 22 March 2020 at 12:00:58 UTC, Peter Jacobs wrote:
> I am seeing a linker error with this beta.  Same compilation works with 1.20.1.

Well, thx for giving it a try, but that's hardly useful (just looks like a `kdtree` module not being compiled) - firstly, try to check whether that's LDC-specific (i.e., doesn't happen with the corresponding DMD version 2.091.0), and if so, please file a GitHub issue with reproduction steps.
March 22
On Sunday, 22 March 2020 at 12:27:51 UTC, kinke wrote:
> On Sunday, 22 March 2020 at 12:00:58 UTC, Peter Jacobs wrote:
>> I am seeing a linker error with this beta.  Same compilation works with 1.20.1.
>
> Well, thx for giving it a try, but that's hardly useful (just looks like a `kdtree` module not being compiled) - firstly, try to check whether that's LDC-specific (i.e., doesn't happen with the corresponding DMD version 2.091.0), and if so, please file a GitHub issue with reproduction steps.

It was a dependency bug in my build process uncovered by the new LDC, as Johan suggested.  In my superficial scan of the source code, I did not find any kdtree module and so was thinking (incorrectly) that it might be a compiler-supplied module.  Turns out that it was a module recently added by a colleague.  LDC 1.21.0-beta1 was correct to identify it as missing from the build.  Interestingly, DMD 2.091.0 built the code without complaint.

Apologies for the bother but thank you for all of the work on LDC (and for the gentle replies to my report).

March 22
Sounds dope

On Sat, Mar 21, 2020 at 8:10 AM kinke via Digitalmars-d-announce < digitalmars-d-announce@puremagic.com> wrote:

> Glad to announce the first beta for an exciting LDC 1.21 release:
>
> * Based on D 2.091.0; LLVM upgraded to v10.0.0-rc4.
> * Experimental iOS/arm64 support.
> * Initial support for GCC/GDC-style inline assembly syntax,
> primarily for portability across GDC and LDC (and GCC-style C).
> * Android improvements, incl. an important fix for x86
> architectures, usability of the ld.gold linker and no more D
> `main()` requirement.
> * Important AArch64 bugfix, especially for unoptimized code.
>
> Full release log and downloads: https://github.com/ldc-developers/ldc/releases/tag/v1.21.0-beta1
>
> Please help test, and thanks to all contributors!
>