LDC 1.40.0-beta4

2024-10-28 Thread kinke via Digitalmars-d-announce
Glad to announce the 4th beta for LDC 1.40. Major changes (since 
v1.39):


* Based on D ~2.110.0 (today's upstream stable).
* LLVM for prebuilt packages bumped to v18.1.8 (incl. macOS 
arm64).

* Android: NDK for prebuilt package bumped from r26d to r27.
* Emscripten: The compiler now mimicks a musl Linux platform wrt. 
extra predefined versions. ABI compatibility with clang improved 
too.
* Mainly for **distro package maintainers**: Use system zlib 
instead of Phobos' vendored version through CMake 
`-DPHOBOS_SYSTEM_ZLIB=ON`. Thanks Andrei!
* Edge-case fixes regarding IR struct layouts and link-time 
culling (for ELF targets).


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

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


Re: LDC 1.40.0-beta3

2024-09-09 Thread kinke via Digitalmars-d-announce

On Monday, 9 September 2024 at 17:53:34 UTC, ryuukk_ wrote:

Thanks! i got SDL + printf working


Cool, thanks for the idea in the 1st place (I thought Emscripten 
was some legacy framework compiling to JavaScript... ;)) and 
providing all required info via a minimal example. :+1:


Re: LDC 1.40.0-beta3

2024-09-09 Thread kinke via Digitalmars-d-announce

Oh, I forgot an item:
* Emscripten: The compiler now mimicks a musl Linux platform wrt. 
extra predefined versions.


This should pave the way for supporting Emscripten in druntime & 
Phobos (via `version(Emscripten)` special cases), which is 
probably much simpler with the musl libc interface than the WASI 
interface directly.


LDC 1.40.0-beta3

2024-09-09 Thread kinke via Digitalmars-d-announce

Glad to announce the 3rd beta for LDC 1.40. Major changes:

* Based on D ~2.110.0 (yesterday's upstream stable).
* LLVM for prebuilt packages bumped to v18.1.8 (incl. macOS 
arm64).

* Android: NDK for prebuilt package bumped from r26d to r27.
* Mainly for **distro package maintainers**: Use system zlib 
instead of Phobos' vendored version through CMake 
`-DPHOBOS_SYSTEM_ZLIB=ON`. Thanks Andrei!
* Edge-case fixes regarding IR struct layouts and link-time 
culling (for ELF targets).


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


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


Re: LDC 1.40.0-beta1

2024-08-22 Thread kinke via Digitalmars-d-announce

On Thursday, 22 August 2024 at 10:50:44 UTC, Dakota wrote:

Is this hardcoded in ldc2 ?


No, but there's a wasm section in `etc/ldc2.conf`, defaulting to 
`-link-internally` and some linker flags, to make it work out of 
the box for most users.


Please don't abuse an announcement thread for questions which are 
unrelated to the new release.


Re: LDC 1.40.0-beta1

2024-08-20 Thread kinke via Digitalmars-d-announce
The 2nd beta has just been released, including the latest 
upstream `stable` fixes and a LDC-specific regression fix 
(introduced in v1.31, for under-alignment edge cases): 
https://github.com/ldc-developers/ldc/releases/tag/v1.40.0-beta2


LDC 1.40.0-beta1

2024-08-10 Thread kinke via Digitalmars-d-announce

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

* Based on D ~2.110.0 (today's upstream stable).
* LLVM for prebuilt packages bumped to v18.1.8 (incl. macOS 
arm64).

* Android: NDK for prebuilt package bumped from r26d to r27.

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


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


LDC 1.39.0

2024-07-04 Thread kinke via Digitalmars-d-announce

Glad to announce LDC 1.39.0. Major changes:

* Based on D 2.109.1.
* LLVM for prebuilt packages bumped to v18.1.6.
* musl libc: Misc. bug fixes and removal of libunwind dependency.
* Support for LLVM 11-14 was dropped. The CLI options 
`-passmanager` and `-opaque-pointers` were removed.


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


Thanks to all contributors & sponsors!


LDC 1.39.0-beta1

2024-06-03 Thread kinke via Digitalmars-d-announce

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

* Based on D 2.109.0.
* LLVM for prebuilt packages bumped to v18.1.6.
* Support for LLVM 11-14 was dropped. The CLI options 
`-passmanager` and `-opaque-pointers` were removed.


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


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


LDC 1.38.0

2024-05-10 Thread kinke via Digitalmars-d-announce

Glad to announce LDC 1.38.0. Major changes:

- Based on D 2.108.1.
- Support for LLVM 18; the prebuilt packages use v18.1.5.
- Android: Switch to native ELF TLS, supported since API level 29 
(Android v10), dropping our former custom TLS emulation 
(requiring a modified LLVM and a legacy ld.bfd linker). The 
prebuilt packages themselves require Android v10+ (armv7a) / v11+ 
(aarch64) too, and are built with NDK r26d. Shared druntime and 
Phobos libraries are now available (`-link-defaultlib-shared`), 
as on regular Linux.


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


Thanks to all contributors & sponsors!


LDC 1.38.0-beta1

2024-04-19 Thread kinke via Digitalmars-d-announce

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

* Based on D 2.108.0+ (yesterday's DMD stable).
* Support for LLVM 18; the prebuilt packages use v18.1.3.
* Android: Switch to native ELF TLS, supported since API level 29 
(Android v10), dropping our former custom TLS emulation 
(requiring a modified LLVM and a legacy ld.bfd linker). The 
prebuilt packages themselves require Android v10+ (armv7a) / v11+ 
(aarch64) too, and are built with NDK r26d. Shared druntime and 
Phobos libraries are now available (`-link-defaultlib-shared`), 
as on regular Linux.


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


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


LDC 1.37.0

2024-03-03 Thread kinke via Digitalmars-d-announce

Glad to announce LDC 1.37.0. Major changes:

* Based on D 2.107.1.
* Important fix wrt. if-statement elision on constant condition.

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


Thanks to all contributors & sponsors!


LDC 1.37.0-beta1

2024-02-08 Thread kinke via Digitalmars-d-announce
Glad to announce the first beta for LDC 1.37. The single major 
change for now is the bump to D v2.107.0+.


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


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


LDC 1.36.0

2024-01-06 Thread kinke via Digitalmars-d-announce

Glad to announce LDC 1.36.0. Major changes:

* Based on D 2.106.1.
* 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


Thanks to all contributors & sponsors!


Re: LDC 1.36.0-beta1

2023-12-06 Thread kinke via Digitalmars-d-announce

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.)


LDC 1.36.0-beta1

2023-12-04 Thread kinke via Digitalmars-d-announce

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!


Re: LDC 1.35.0

2023-10-17 Thread kinke via Digitalmars-d-announce

On Tuesday, 17 October 2023 at 16:29:34 UTC, Imperatorn wrote:

```
lld-link: error: undefined symbol: _d_newitemT

  [...]

```


Sounds like you're using an older host compiler with newer target 
libs. That doesn't work, the host compiler needs to be upgraded 
too. [This is mentioned in 
https://wiki.dlang.org/Cross-compiling_with_LDC#Default_libraries.]


Re: LDC 1.35.0

2023-10-17 Thread kinke via Digitalmars-d-announce

On Monday, 16 October 2023 at 20:54:05 UTC, Sergey wrote:
Does the build from GitHub now use LLVM's SPIR-V? It is not 
stated in release changes


Yes, we've switched to the experimental LLVM target with our 
LDC-LLVM 16, in LDC v1.34 already.


LDC 1.35.0

2023-10-15 Thread kinke via Digitalmars-d-announce

Glad to announce LDC 1.35.0. Major changes:

* Based on D 2.105.2+.
* A few important ImportC fixes.
* Fix GC2Stack optimization regression introduced in v1.24.

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


Thanks to all contributors & sponsors!


Re: tshare/1.0 a fast way to share file using transfer.sh

2023-10-11 Thread kinke via Digitalmars-d-announce

On Saturday, 7 October 2023 at 22:40:58 UTC, Andrea Fontana wrote:

Question:
- Is there a way to compile curl statically with ldc for 
windows? If I try (using -static), it throws a runtime error.


Yes; IIRC, you need to link `curl_a.lib` *and* add `curl.exp` (as 
Phobos tries to find the exported functions in the .exe itself) 
to the linker cmdline too (both files in the LDC lib dir).


LDC 1.35.0-beta1

2023-09-11 Thread kinke via Digitalmars-d-announce
Glad to announce the first beta for LDC 1.35. The single major 
change for now is the bump to D v2.105.1+.


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


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



LDC 1.34.0

2023-08-26 Thread kinke via Digitalmars-d-announce

Glad to announce LDC 1.34.0. Major changes:

* Based on D 2.104.2.
* Support for LLVM 16, incl. v16.0.6 for the prebuilt packages. 
Support for v9 and v10 was dropped.
* 64-bit RISC-V: Enable ISA extensions ('rv64gc') by default when 
targeting an operating system.


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


Thanks to all contributors & sponsors!


LDC 1.34.0-beta2

2023-08-17 Thread kinke via Digitalmars-d-announce
Glad to announce the second beta for LDC 1.34. Major change since 
beta1: LLVM 16 support, incl. v16.0.6 for the prebuilt packages.


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


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


LDC 1.34.0-beta1

2023-07-28 Thread kinke via Digitalmars-d-announce
Glad to announce the first beta for LDC 1.34. The single major 
change for now (since last week's v1.33) is the bump to D 
v2.104.2.


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


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



LDC 1.33.0

2023-07-23 Thread kinke via Digitalmars-d-announce

Glad to announce LDC 1.33.0. Major changes:

- Based on D 2.103.1.
- New CLI option `-femit-local-var-lifetime` to enable stack 
memory reuse.
- C files are now automatically preprocessed using the external C 
compiler.
- Less pedantic checks for conflicting C(++) function 
declarations ('Error: Function type does not match previously 
declared function with the same mangled name').
- New CLI option `--fcf-protection` to enable Intel's 
Control-Flow Enforcement Technology (CET).
- Experimental: `--plugin` now also accepts semantic analysis 
plugins (besides LLVM plugins). New tool `ldc-build-plugin` 
simplifies building such plugins.


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


Thanks to all contributors & sponsors!

PS: Unfortunately no prebuilt Linux-AArch64 package to download 
for now; our CI provider is having issues.


LDC 1.33.0-beta2

2023-06-10 Thread kinke via Digitalmars-d-announce
Glad to announce the second beta for LDC 1.33. Major changes 
since beta1:


- New CLI option `-femit-local-var-lifetime` to enable stack 
memory reuse.
- C files are now automatically preprocessed using the external C 
compiler.
- Less pedantic checks for conflicting C(++) function 
declarations ('Error: Function type does not match previously 
declared function with the same mangled name').


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


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


LDC 1.33.0-beta1

2023-05-13 Thread kinke via Digitalmars-d-announce
Glad to announce the first beta for LDC 1.33. The single major 
change for now (since yesterday's v1.32.2) is the bump to D 
v2.103.1.


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


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


LDC 1.32.2

2023-05-12 Thread kinke via Digitalmars-d-announce
A new patch version was just released, mainly to fix a bad 
compile-time regression, but Johan also tackled challenges wrt. 
stack limits:


- Fix potentially huge compile slowdowns with `-g` and LLVM 15+.
- New CLI option `--fwarn-stack-size=`.
- New CLI option `--fsplit-stack` for incremental stack 
allocations, see https://llvm.org/docs/SegmentedStacks.html.

- New CLI option `--indent` for the `timetrace2txt` tool.

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


Thanks to all contributors & sponsors!


LDC 1.32.1

2023-04-17 Thread kinke via Digitalmars-d-announce

A new patch version was just released:

* The prebuilt Linux packages are now generated on a Ubuntu 20.04 
box, so the min required glibc version has been raised from 2.26 
to 2.31.

* Fix empty `ldc.gccbuiltins_*` modules with LLVM 15+.
* Fix v1.31 regression wrt. potentially wrong constant pointer 
offsets.
* Windows: Fix v1.32.0 regression wrt. leaking `Throwable.info` 
backtraces.

* Fix C assert calls for newlib targets.

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


Thanks to all contributors & sponsors!


LDC 1.32.0

2023-03-12 Thread kinke via Digitalmars-d-announce

Glad to announce LDC 1.32.0. Major changes:

- Based on D 2.102.2.
- LLVM for prebuilt packages bumped to v15.0.7.
- Linker-level dead code elimination is enabled by default for 
Apple, wasm and *all* ELF targets too now.
- Vector comparisons (==, !=, <, <=, >, >=) now yield a vector 
mask. Identity comparisons (`is`, `!is`) still yield a scalar 
`bool`.

- `-mabi` support for RISC-V targets. Thanks @zyedidia!
- New `timetrace2txt` tool for easier inspection of 
`--ftime-trace` output.

- `--ftime-trace` now also traces CTFE execution.

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


Thanks to all contributors & sponsors!



Re: LDC 1.32.0-beta1

2023-02-28 Thread kinke via Digitalmars-d-announce

On Tuesday, 28 February 2023 at 06:01:51 UTC, newbie wrote:

find one error for musl + aarch64:

```sh
/ldc2/bin/../import/core/sys/posix/sys/stat.d(1659): Error: 
alias `core.sys.posix.sys.stat.__mode_t` conflicts with alias 
`core.sys.posix.sys.stat.__mode_t` at 
/ldc2/bin/../import/core/sys/posix/sys/stat.d(662)

```


This was fixed upstream, but didn't make it into v2.102 
unfortunately: https://github.com/dlang/dmd/pull/14793


LDC 1.32.0-beta1

2023-02-27 Thread kinke via Digitalmars-d-announce

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

* Based on D 2.102.1+.
* LLVM for prebuilt packages bumped to v15.0.7.
* Linker-level dead code elimination is enabled by default for 
Apple, wasm and *all* ELF targets too now.
* Vector comparisons (==, !=, <, <=, >, >=) now yield a vector 
mask. Identity comparisons (`is`, `!is`) still yield a scalar 
`bool`.

* `-mabi` support for RISC-V targets. Thanks @zyedidia!

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


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


LDC 1.31.0

2023-02-11 Thread kinke via Digitalmars-d-announce

Glad to announce LDC 1.31.0. Major changes:

* Based on D 2.101.2.
  * ImportC: The C preprocessor isn't invoked yet.
* mac/iOS arm64: Linking with `-g` is working again without 
unaligned pointer warnings/errors.
* *Preliminary* support for LLVM 15. Thanks @jamesragray for 
helping out!

* Initial ABI support for 64-bit RISC-V. Thanks @Ast-x64!

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


Thanks to all contributors & sponsors!


LDC 1.31.0-beta1

2023-01-27 Thread kinke via Digitalmars-d-announce

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

* Based on D 2.101.2.
  * ImportC: The C preprocessor isn't invoked yet.
* mac/iOS arm64: Linking with `-g` is working again without 
unaligned pointer warnings/errors.
* *Preliminary* support for LLVM 15. Thanks @jamesragray for 
helping out!

* Initial ABI support for 64-bit RISC-V. Thanks @Ast-x64!

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


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


LDC 1.30.0

2022-07-20 Thread kinke via Digitalmars-d-announce

Glad to announce LDC 1.30.0. Major changes:

- Based on D 2.100.1.
- LLVM for prebuilt packages bumped to v14.0.3. All target 
architectures supported by LLVM are enabled now.
- Dropped LDC ltsmaster (v0.17.x) as supported host compiler. 
Like DMD, the min D version for bootstrapping is v2.079 (or GDC 
v9.x) now.

- Dropped support for LLVM < 9.
- New LeakSanitizer support via `-fsanitize=leak`.
- New prebuilt universal macOS package, runnable on both x86_64 
and arm64, and enabling x86_64/arm64 macOS/iOS cross-compilation 
targets out of the box.


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


Thanks to all contributors & sponsors!


Re: LDC 1.30.0-beta1

2022-05-23 Thread kinke via Digitalmars-d-announce

On Monday, 23 May 2022 at 01:42:31 UTC, zoujiaqing wrote:

The Arm64 version can't run on my MacBook:
https://github.com/ldc-developers/ldc/issues/3864


It should definitely *run*. The linked debuginfo issue for macOS 
12 targets mentions 2 workarounds - setting the 
`MACOSX_DEPLOYMENT_TARGET` env var to < 12 (recommended), or 
resorting to `-preserve-dwarf-line-section=false`.


Re: LDC 1.30.0-beta1

2022-05-23 Thread kinke via Digitalmars-d-announce

On Sunday, 22 May 2022 at 12:58:49 UTC, Test123 wrote:

There is a bug with this simple code.

```d
import ldc.attributes : assumeUsed;
@nogc nothrow extern(C):
export int test() @assumeUsed {
return 0;
}
```

[...]

If I enable lto there is no name for Export Table:


This works fine on my box, targeting Win64:

```

ldc2 -shared -O current.d -flto=full
dumpbin /exports current.dll

Microsoft (R) COFF/PE Dumper Version 14.29.30133.0
Copyright (C) Microsoft Corporation.  All rights reserved.


Dump of file current.dll

File Type: DLL

  Section contains the following exports for current.dll

 characteristics
   0 time date stamp
0.00 version
   0 ordinal base
   3 number of functions
   2 number of names

ordinal hint RVA  name

  10 3038 _D7current12__ModuleInfoZ
  21 10A0 test
```


LDC 1.30.0-beta1

2022-05-16 Thread kinke via Digitalmars-d-announce

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

* Based on D 2.100.0.
* LLVM for prebuilt packages bumped to v14.0.3. All target 
architectures supported by LLVM are enabled now.
* Dropped LDC ltsmaster (v0.17.x) as supported host compiler. 
Like DMD, the min D version for bootstrapping is v2.079 (or GDC 
v9.x) now.

* Dropped support for LLVM < 9.
* New prebuilt **universal** macOS package, runnable on both 
x86_64 and arm64, and enabling x86_64/arm64 macOS/iOS 
cross-compilation targets out of the box.
  **Note**: avoid using an x86_64-only dub and use the bundled 
dub executable instead.


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


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


Re: Library associative array project v0.0.1

2022-05-11 Thread kinke via Digitalmars-d-announce
On Wednesday, 11 May 2022 at 15:31:02 UTC, Steven Schveighoffer 
wrote:
I just spent a couple hours making a library AA solution that 
is binary compatible with druntime's builtin AA.


The benefits:
[...]


Much appreciated, thanks!


Re: D Language Foundation April Quarterly Meeting and Server Meeting Summaries

2022-05-05 Thread kinke via Digitalmars-d-announce

On Thursday, 5 May 2022 at 13:52:14 UTC, FeepingCreature wrote:
My favorite recent one is 
https://issues.dlang.org/show_bug.cgi?id=22949


[...]

Then you get an "Error: Unknown."


lol, made my day.

---

Thx Mike for the write-up!


LDC 1.29.0

2022-04-07 Thread kinke via Digitalmars-d-announce

Glad to announce LDC 1.29.0. Major changes:

* Based on D 2.099.1.
* Support for LLVM 13 and 14. The prebuilt packages use v13.0.1.
* On Linux, LDC doesn't default to the `ld.gold` linker anymore. 
lld is recommended (related LTO issues have been fixed).
* Less aggressive `-linkonce-templates`, considered 
production-ready now.
* Breaking `extern(D)` ABI change for all targets: formal 
parameters of non-variadic functions aren't reversed anymore. 
Naked DMD-style inline assembly might need to be adapted.


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


Thanks to all contributors & sponsors!


LDC 1.29.0-beta1

2022-03-10 Thread kinke via Digitalmars-d-announce

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

* Based on D 2.099.0+.
* Support for LLVM 13. The prebuilt packages use v13.0.1.
* On Linux, LDC doesn't default to the `ld.gold` linker anymore. 
lld is recommended (related LTO issues have been fixed).
* Breaking `extern(D)` ABI change for all targets: formal 
parameters of non-variadic functions aren't reversed anymore. 
Naked DMD-style inline assembly might need to be adapted.


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


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


Re: Our New Pull-Request and Issue Manager

2022-02-25 Thread kinke via Digitalmars-d-announce

On Thursday, 24 February 2022 at 13:05:33 UTC, Mike Parker wrote:

[...]


Awesome, thanks and congratz Dennis!

Thanks again to Symmetry for sponsoring this position and 
helping us to fill it.


+1.


Re: LDC 1.28.1

2022-01-19 Thread kinke via Digitalmars-d-announce

On Wednesday, 19 January 2022 at 13:55:56 UTC, workman wrote:

Thanks for the kind reply.

This azure download link work for me very well, with LTO or 
without LTO, the project build and run without problem.


Glad to hear that, thanks for the feedback!


Re: LDC 1.28.1

2022-01-19 Thread kinke via Digitalmars-d-announce

On Wednesday, 19 January 2022 at 09:17:11 UTC, workman wrote:

Hi kinke, Thanks for the great work.

I has some link problem with lld-12 if use with "--gc-sections 
-s", confirm on x86-64 and aarch64. (build with betterC)


upgrade to lld-13(or NDK lld-14) no such problem.


The lld-12 link as expect, but when start binary the quickjs 
promise stop work after one async call, remove "--gc-sections 
-s" fix the problem but generate huge binary.


I has problem with cross llvm-version LTO, so I want to use 
same llvm version and upgrade to llvm-13.


I want to know if I build ldc with llvm13 myself, will it work 
for betterC project ?


Hi; LTO with lld for ELF targets has just been fixed in master, 
after v1.28.1. Without `-betterC` at least, not sure if 
`-betterC` was affected too in some way.


Bumping LLVM to v13 wasn't trivial this time. There's 
https://github.com/ldc-developers/ldc/pull/3842 using an LLVM 
v13.0.1-rc2+, which fixed serious issues we've had with the gold 
linker (lld v13 was fine). You can download that CI artifact 
(with enabled assertions) and give it a try to see if it works 
for you: 
https://dev.azure.com/ldc-developers/ldc/_build/results?buildId=3243&view=artifacts&pathAsName=false&type=publishedArtifacts


LDC 1.28.1

2022-01-13 Thread kinke via Digitalmars-d-announce

A new patch version was just released:

* Based on D 2.098.1+ (stable from 2 days ago).
* Linux x86[_64]: Important fix with statically linked druntime 
and lld/bfd linkers. [lld 13 came with a deadly breaking change 
and doesn't work, older versions do - stay tuned for LDC v1.29 
for further improved linker support.]

* New UDAs: `@hidden` and `@noSanitize`.
* Ability to access magic linker symbols on Mac via special 
mangle prefix.
* WebAssembly: Tweaked default lld linker flags for less trouble 
wrt. stack overflows. Thanks @ryuukk!

* Support `rdtscp` in DMD-style inline assembly. Thanks Max!

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


Thanks to all contributors & sponsors!


PS: The original plan was to release this just before Christmas 
vacation, but a high-impact Nullable regression in Phobos 
v2.098.1 prevented that.




Re: [Semi-OT] Cross-Platform GitHub Action 0.3.0 - NetBSD

2021-11-17 Thread kinke via Digitalmars-d-announce

On Wednesday, 17 November 2021 at 15:43:55 UTC, Imperatorn wrote:
On Wednesday, 17 November 2021 at 09:03:09 UTC, Jacob Carlborg 
wrote:

On Tuesday, 16 November 2021 at 14:04:12 UTC, Imperatorn wrote:

Oh, nice to see support for FreeBSD. I just added a version 
for it in druntime 4 days ago. Now maybe we can test it lol


I can add older versions of FreeBSD (currently 12.2 and 13 are 
supported) if there's a need for that.


/Jacob Carlborg


Thanks, currently I think it's enough with 12 and 13 tho, but 
ideally someone actively using FreeBSD (I'm not) could chime in 
on it.


FreeBSD has been CI-tested for years, if not decades; not just by 
autotester, but also by Cirrus CI, which provides 'native' 
FreeBSD VMs (with 4 CPU cores), incl. v11/12/13/14 images, see 
https://cirrus-ci.org/guide/FreeBSD/.


Re: OpenBSD LDC package

2021-10-22 Thread kinke via Digitalmars-d-announce

On Thursday, 21 October 2021 at 01:59:11 UTC, Brian wrote:
With the already shipping GDC and DMD packages, all 3 D 
compilers are now easily available to OpenBSD users.


Thanks for your efforts, much appreciated! And be sure to 
upstream the few needed modifications for less hassle with the 
next versions.




LDC 1.28.0

2021-10-19 Thread kinke via Digitalmars-d-announce

Glad to announce LDC 1.28 - some highlights:

* Based on D 2.098.0+ (yesterday's stable).
* Dynamic casts across binary boundaries (DLLs etc.) now work.
* Windows: `-dllimport=defaultLibsOnly` doesn't require 
`-linkonce-templates` anymore.

* dcompute: Basic support for OpenCL image I/O.

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


Thanks to all contributors & sponsors!


Re: Beta 2.098.0

2021-10-01 Thread kinke via Digitalmars-d-announce
On Wednesday, 29 September 2021 at 20:53:53 UTC, Martin Nowak 
wrote:

[...] and some personal lack of time.


Thanks for your time! - Tests with latest beta3 are looking good 
for the Symmetry code base, incl. significant RAM reductions when 
building huge static libs (saving ~3 GB in one case).


LDC 1.28.0-beta1

2021-09-25 Thread kinke via Digitalmars-d-announce

Glad to announce the first beta for LDC 1.28 - some highlights:

* Based on D 2.098.0-beta.2+ (today's stable).
* Dynamic casts across binary boundaries (DLLs etc.) now work.
* Windows: `-dllimport=defaultLibsOnly` doesn't require 
`-linkonce-templates` anymore.


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


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


LDC 1.27.1

2021-08-14 Thread kinke via Digitalmars-d-announce

A new minor version was just released:

* Based on D 2.097.2 (very few fixes over v1.27.0).
* Improved `-ftime-trace` implementation for compiler 
profiling/tracing, now excluding LLVM-internal traces, adding 
frontend memory tracing, source file location infos etc.
* An official prebuilt package for Linux AArch64 is available 
again.


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


Thanks to all contributors & sponsors!


Re: Beta 2.097.2

2021-08-12 Thread kinke via Digitalmars-d-announce
On Thursday, 12 August 2021 at 08:43:59 UTC, FeepingCreature 
wrote:

On Wednesday, 11 August 2021 at 17:21:40 UTC, kinke wrote:
On Wednesday, 11 August 2021 at 13:06:24 UTC, FeepingCreature 
wrote:

Seems to work here too :) Just waiting for ldc now.


I don't plan to release any LDC v1.27.1 for the very few minor 
fixes that made it into v2.097.2 compared to v1.27.0.


:( Any chance I can convince you otherwise? The Nullable 
opAssign regression breaks literally *all* our code, and we use 
ldc for release builds.


Who's 'we'? - It wouldn't be a big deal, but there were 3 betas 
and a beta period of almost 2 months to check for problems and 
regressions. And we're literally talking about a single compiler 
diagnostics improvement, that one Phobos fix you're after, and 5 
minor druntime fixes.


Re: Beta 2.097.2

2021-08-11 Thread kinke via Digitalmars-d-announce
On Wednesday, 11 August 2021 at 13:06:24 UTC, FeepingCreature 
wrote:

Seems to work here too :) Just waiting for ldc now.


I don't plan to release any LDC v1.27.1 for the very few minor 
fixes that made it into v2.097.2 compared to v1.27.0.


Re: D and C++ renderer side by side demonstration

2021-08-07 Thread kinke via Digitalmars-d-announce

On Saturday, 7 August 2021 at 03:15:30 UTC, Ki Rill wrote:
I was watching Timur Gafarov’s videos on Dagon Engine and 
stumbled upon a video that demonstrated a C++ Renderer Engine 
using the same Sponza scene. I thought it would be a great idea 
to show them side by side.


This is not a “X vs Y” video! It just demonstrates the 
capabilities of D and C++ side by side.


Sorry, but it just demonstrates the capabilities of 2 seemingly 
totally unrelated rendering engines and might easily mislead 
beginners, not helping D at all. What makes you think the used 
programming language would have any effect on the capabilities of 
a rendering engine? Some old Quake engine was ported from C or 
C++ to Emscripten (JavaScript) via WebGL by Carmack himself IIRC 
some years ago, and the visual results were unsurprisingly 
identical. There might be differences in efficiency, especially 
for JavaScript vs. a system programming language, but most modern 
graphics are GPU-bound anyway.


Re: Beta 2.097.2

2021-08-06 Thread kinke via Digitalmars-d-announce

On Wednesday, 4 August 2021 at 17:34:32 UTC, Martin Nowak wrote:

Glad to announce the first beta for the 2.097.2 point release,


Thanks Martin, much appreciated. Test results at Symmetry are 
looking good.


LDC 1.27.0

2021-07-31 Thread kinke via Digitalmars-d-announce

Glad to announce LDC 1.27 - some highlights:

* Based on D 2.097.1+.
* LLVM for prebuilt packages bumped to v12.0.1.
* Prebuilt packages now bundle reggae for faster building of dub 
projects.
* Greatly improved DLL support on Windows, including bundled 
druntime and Phobos DLLs, making it almost as easy as on Posix.
* Prebuilt Linux and Mac packages can show significant compiler 
performance increases due to newly employing the mimalloc 
allocator.
* Important fixes for `-linkonce-templates`, DWARF v5 (e.g. with 
linked-in C[++] parts compiled with gcc 11) and bundled dub 
supporting somewhat longer paths on Windows.


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


Thanks to all contributors & sponsors!


Re: LDC 1.27.0-beta3

2021-07-15 Thread kinke via Digitalmars-d-announce

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


Re: LDC 1.27.0-beta3

2021-07-15 Thread kinke via Digitalmars-d-announce

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).


LDC 1.27.0-beta3

2021-07-14 Thread kinke via Digitalmars-d-announce
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, 
)`

* 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!


Re: LDC 1.27.0-beta2

2021-06-26 Thread kinke via Digitalmars-d-announce

On Saturday, 26 June 2021 at 08:43:24 UTC, doruk wrote:

is planned a linux aarc64 release, like 1.26 ?


Unfortunately, the CI service we've been using for Linux AArch64 
(Shippable), incl. generating the prebuilt package automatically, 
was shut down. Travis *might* be a successor, but they'd probably 
need to offer better performance or raise the time-out before 
that can happen.


I could set up a cross-compilation build, but I'm reluctant as 
testing would be very limited and regressions quite inevitable in 
the long run. So I'm currently leaning towards waiting for a bit 
and see if another alternative pops up.


Re: LDC 1.27.0-beta2

2021-06-26 Thread kinke via Digitalmars-d-announce

On Saturday, 26 June 2021 at 05:36:51 UTC, workman wrote:
undefined symbol __fieldPostblit and __postblit cause link 
error only with LTO enabled for windows mingw target.


There is more undefined symbols for LDC 1.27 compare to 1.26. 
My code not changed and they used to work with old version ldc.


without LTO all work fine, old LDC link with -flto and -O fix 
the missing symbol,  but 1.26 && 1.27 not work anymore.


Sorry to hear about your LTO troubles; the -O requirement seems 
to be some MSVC specificum of LLD (see 
https://github.com/ldc-developers/ldc/issues/3500), but LTO 
without -O doesn't make a lot of sense anyway. It might have 
gotten worse with more recent LLVM versions if it used to work 
with older LDC versions; I seem to recall that recent LLD got a 
MinGW driver, so you may want to give that one a try via -linker.


For something actionable, please file an issue with according 
reproducible test case. Note that MinGW targets aren't officially 
supported and totally untested, so if it's been working for you, 
that's either sheer luck or insufficient test coverage. ;)


LDC 1.27.0-beta2

2021-06-24 Thread kinke via Digitalmars-d-announce
Glad to announce the second beta for LDC 1.27. Some noteworthy 
changes since beta1:


* Frontend and druntime/Phobos upgraded to yesterday's DMD stable.
* Windows DLL support: some fixes/tweaks and a new -dllimport 
option for greater flexibility.
* Prebuilt Linux and Mac packages can show significant compiler 
performance increases due to newly employing the mimalloc 
allocator.
* Important fixes for -linkonce-templates, DWARF v5 (e.g. with 
linked-in C[++] parts compiled with gcc 11) and bundled dub 
supporting somewhat longer paths on Windows.


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


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


Re: [Semi-OT] Cross-Platform GitHub Action

2021-06-08 Thread kinke via Digitalmars-d-announce
Thx for sharing! Interesting; I've recently worked on something 
similar, but on Linux hosts and using a kvm/qemu/libvirt stack 
for running CI jobs in Windows VMs.


LDC 1.27.0-beta1

2021-06-05 Thread kinke via Digitalmars-d-announce

Glad to announce the first beta for LDC 1.27 - some highlights:

- Based on D 2.097.0.
- LLVM for prebuilt packages bumped to v12.0.0.
- Prebuilt packages now bundle reggae for faster building of dub 
projects.
- Greatly improved DLL support on Windows, including bundled 
druntime and Phobos DLLs, making it almost as easy as on Posix.


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


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


Re: Til, a command language written in D

2021-05-18 Thread kinke via Digitalmars-d-announce

On Friday, 14 May 2021 at 22:10:38 UTC, Cléber Zavadniak wrote:
1- Should I compile a `libphobos2.so` "by hand"? Should I use 
`libphobos2-ldc-shared.so`???


With LDC, -link-defaultlib-shared links the binary against shared 
druntime/Phobos. It's the default setting when creating a shared 
library with -shared; use it explicitly when creating an 
executable. This way, the executable and all .so libs share the 
same druntime/Phobos, incl. a single GC, default std.parallelism 
thread pool etc.


LDC 1.26.0

2021-04-28 Thread kinke via Digitalmars-d-announce

Glad to announce LDC 1.26:

* Based on D 2.096.1+.
* Fixes a v1.25 regression wrt. corrupt `TypeInfo_Interface.info`.
* Some more fixes and dcompute improvements.

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


Thanks to all contributors & sponsors!


LDC 1.26.0-beta1

2021-04-10 Thread kinke via Digitalmars-d-announce
Glad to announce the first beta for LDC 1.26 - a bit late this 
time:


- Based on D 2.096.0+ (today's stable).
- Fixes a v1.25 regression wrt. corrupt TypeInfo_Interface.info.
- Some more fixes and dcompute improvements.

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


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


Re: Cross-compiler targeting macOS

2021-04-10 Thread kinke via Digitalmars-d-announce
Thanks Jacob, I'm sure this was quite a bit of work, and opening 
up proprietary SDKs for non-native systems is always welcome. 
Thumbs up!


Re: Visual D 1.1.0 released

2021-03-06 Thread kinke via Digitalmars-d-announce

Thx Rainer, always much appreciated.

On Tuesday, 2 March 2021 at 08:58:15 UTC, Rainer Schuetze wrote:
See 
https://rainers.github.io/visuald/visuald/images/parameterstorage.png for some examples.


Very cool.



LDC 1.25.1 patch release

2021-02-28 Thread kinke via Digitalmars-d-announce
Hey there; a patch release was unfortunately necessary to fix a 
severe druntime regression on non-Windows (segfault during 
backtrace generation in case the executable file cannot be opened 
for the DWARF file/line infos; e.g., after changing the working 
dir due to https://issues.dlang.org/show_bug.cgi?id=21656).


Downloads: 
https://github.com/ldc-developers/ldc/releases/tag/v1.25.1


Re: LDC 1.25.0

2021-02-23 Thread kinke via Digitalmars-d-announce

On Tuesday, 23 February 2021 at 18:19:09 UTC, H. S. Teoh wrote:
Tested this on one of my projects yesterday. For -O3, it 
reduced compile time by about ~26%.  For -O, it reduced compile 
time by about 24%.  Not as much as I'd hoped, but still pretty 
big reductions.


Thx for some numbers. [Note that -O == -O3 == -O4 == -O5, they 
are all the same (at least for now), contrary to what you might 
read somewhere.]
A reduction by 25%, i.e., a 1.33x speed-up, for code that is 
guaranteed to be at least as fast as before (higher cross-module 
inlining potential) isn't too bad, aye? :)


For non-optimized builds, it reduced compile times by only 1-2% 
(pretty insignificant).


I find it rather interesting that it isn't any slower. Compiling 
debug Phobos all-at-once took 67% longer on my box (and increased 
the static lib size by 76%). Without -O, I've only seen some 
improvements with `-unittest`.


Some more numbers on my box:

https://github.com/ldc-developers/ldc/pull/3600#issuecomment-729116599
https://github.com/ldc-developers/ldc/pull/3422#issuecomment-661386233


Re: LDC 1.25.0

2021-02-21 Thread kinke via Digitalmars-d-announce
On Monday, 22 February 2021 at 02:32:22 UTC, Steven Schveighoffer 
wrote:
This is cool! Can you describe what it means? The option name 
isn't telling me anything obvious.


Please see the changelog for more details.

That's a first -- I haven't seen a 2.095.1 announcement yet 
(just the beta)


Hmm, maybe Martin forgot the announcement or hasn't gotten to it 
yet; it's available on dlang.org.


Re: LDC 1.25.0

2021-02-21 Thread kinke via Digitalmars-d-announce

On Sunday, 21 February 2021 at 21:58:48 UTC, Dennis wrote:

On Sunday, 21 February 2021 at 18:26:38 UTC, kinke wrote:

- Profile/trace LDC invocations via --ftime-trace.


Is there more info on this? I tried it on a simple file, it 
generates a large json file.
Can this be inspected to reduce compile times? The changelog 
and pull request do not reveal much info on how to use it for 
the uninformed.


See Johan's comment here: 
https://forum.dlang.org/post/usyrbgwzzwxnzzhqe...@forum.dlang.org


LDC 1.25.0

2021-02-21 Thread kinke via Digitalmars-d-announce

Glad to announce LDC 1.25 - some highlights:

- Based on D 2.095.1.
- LLVM for prebuilt packages bumped to v11.0.1; support added for 
LLVM 11.1 and upcoming 12.0.

- Profile/trace LDC invocations via --ftime-trace.
- New Windows installer and native 'Apple silicon' package.
- New experimental template emission scheme for 
-linkonce-templates. This option can significantly accelerate 
compilation times for optimized builds (e.g., 56% faster on my 
box when compiling the optimized Phobos unittests).


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


Thanks to all contributors & sponsors!


LDC 1.25.0-beta1

2021-01-09 Thread kinke via Digitalmars-d-announce

Glad to announce the first beta for LDC 1.25 - some highlights:

- Based on D 2.095.0+.
- LLVM for prebuilt packages bumped to v11.0.1.
- Profile/trace LDC invocations via --ftime-trace.
- New Windows installer.
- New experimental template emission scheme for 
-linkonce-templates. This option can significantly accelerate 
compilation times for optimized builds (e.g., 56% faster on my 
box when compiling the optimized Phobos unittests).


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


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


Re: LDC 1.24.0

2020-12-13 Thread kinke via Digitalmars-d-announce
On Sunday, 13 December 2020 at 08:12:37 UTC, Jarrett Tierney 
wrote:
I know this is rather late to post the thank you, but wanted to 
let you know using your experimental support for targeting 
macOS on arm, I was actually able to build a native ldc for Mac 
m1.


Much appreciated, thanks for letting us know.


LDC 1.24.0

2020-10-24 Thread kinke via Digitalmars-d-announce

Glad to announce LDC 1.24 - some highlights:

- Based on D 2.094.1+.
- Support for LLVM 11. The prebuilt packages use v11.0.0, and the 
x86 packages newly include the LLVM backend for AMD GPUs.
- Experimental support for targeting macOS on 64-bit ARM. The 
macOS package includes prebuilt druntime/Phobos libraries for 
cross-compilation via `-mtriple=arm64-apple-macos`.


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


Thanks to all contributors & sponsors!


Re: LDC 1.24.0-beta1

2020-10-20 Thread kinke via Digitalmars-d-announce

On Tuesday, 20 October 2020 at 16:08:47 UTC, aberba wrote:
It's an option but doesn't fill the need for an installer. Not 
sure why its hasn't been done.


See https://github.com/ldc-developers/ldc/issues/1754. I 
personally never download the DMD installers, only the .7z. I 
also don't use a global PATH set up to point to a particular LDC 
installation. I expect the vast majority of Windows *devs* to 
prefer a simple download&unpack over some installer. Those 
wanting to click through setup steps can use the VisualD 
installer with bundled LDC.


Re: Release D 2.094.0

2020-10-01 Thread kinke via Digitalmars-d-announce

On Thursday, 1 October 2020 at 18:29:14 UTC, Meta wrote:
If W or A did approve it and I just wasn't aware, then I 
apologize and retract my objection.


https://github.com/dlang/dmd/pull/11000#issuecomment-675605193


LDC 1.24.0-beta1

2020-10-01 Thread kinke via Digitalmars-d-announce

Glad to announce the first beta for LDC 1.24:

- Based on D 2.094.0+.
- Support for LLVM 11.
  The prebuilt packages use v11.0.0-rc4+, and the x86 packages 
newly include the LLVM backend for AMD GPUs.


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


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


Re: Beta 2.094.0

2020-09-12 Thread kinke via Digitalmars-d-announce
On Saturday, 12 September 2020 at 11:36:42 UTC, MoonlightSentinel 
wrote:

On Saturday, 12 September 2020 at 09:07:18 UTC, kinke wrote:

On Saturday, 12 September 2020 at 00:52:43 UTC, Andrej Mitrovic
Does anyone know when -preview=fieldwise will become the 
default?


FWIW, druntime and Phobos are compiled with it since v2.094.


I think you mean -preview=dtorfields, not fieldwise.


Absolutely, thx for the correction.


Re: Beta 2.094.0

2020-09-12 Thread kinke via Digitalmars-d-announce
On Saturday, 12 September 2020 at 00:52:43 UTC, Andrej Mitrovic 
wrote:
"Equality of arrays of structs is consistent again, as before 
v2.078"


Not a big fan of this. I think it's super dangerous to change 
this behavior again.


Looks like hardly anyone is affected, as the quite obviously 
unsound breaking change in semantics would have been detected and 
fixed way earlier in that case.


Does anyone know when -preview=fieldwise will become the 
default?


FWIW, druntime and Phobos are compiled with it since v2.094.


Re: Visual D 1.0.1 released

2020-08-23 Thread kinke via Digitalmars-d-announce

Thx Rainer, much appreciated.


Re: LDC 1.23.0

2020-08-19 Thread kinke via Digitalmars-d-announce

On Wednesday, 19 August 2020 at 23:30:30 UTC, Basile B. wrote:
gdwarf really ? this is possible ? Not that this is not a great 
news but you told me once this was not quite possible 
(https://forum.dlang.org/post/ttblgcwiwmdhyukzp...@forum.dlang.org).


I said that LDC/LLVM generate CodeView, but knew that clang can 
emit it. Shortly after your post, another guy asked for DWARF on 
Windows, so I did a little bit of digging. I haven't properly 
tested it (no working gdb/lldb on my Windows box), so feedback is 
appreciated.


LDC 1.23.0

2020-08-19 Thread kinke via Digitalmars-d-announce

Glad to announce LDC 1.23 - some highlights:

- Based on D 2.093.1+.
- LLVM for prebuilt packages bumped to v10.0.1; min version 
raised to 6.0.
- Cross-compiling to the iOS/x86_64 simulator now works 
out-of-the-box with the prebuilt Mac package.
- Windows: New -gdwarf command-line option for debugging with 
gdb/lldb.
- Fix linker errors for -betterC wrt. cleanups (structs with 
dtor, `scope(exit)`).


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


Thanks to all contributors!


LDC 1.23.0-beta1

2020-07-15 Thread kinke via Digitalmars-d-announce

Glad to announce the first beta for LDC 1.23 - some highlights:

- Based on D 2.093.0+.
- Min required LLVM version raised to 6.0.
- Cross-compiling to the iOS/x86_64 simulator now works 
out-of-the-box with the prebuilt Mac package.
- Fix linker errors for -betterC wrt. cleanups (structs with 
dtor, `scope(exit)`).


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


Please help test, and thanks to all contributors!


Re: Decimal string to floating point conversion with correct half-to-even rounding

2020-07-07 Thread kinke via Digitalmars-d-announce

On Tuesday, 7 July 2020 at 23:52:05 UTC, 9il wrote:

On Tuesday, 7 July 2020 at 16:38:39 UTC, kinke wrote:
So wouldn't the trivial 'fix' be using `strtod` for double 
literals and `strtof` for floats? [For LDC, we wouldn't rely 
on the host C runtime or a mir implementation, but use LLVM 
facilities anyway.]


This should work if the C runtime handles the values correctly.


I've just opened a PR for DMD (and LDC too): 
https://github.com/dlang/dmd/pull/11387


Does this actually mean DMD wouldn't be able to compile itself 
with DigigtalMars C runtime?


Sorry, I don't understand. - I think this excess precision was at 
some point considered a feature (but probably only for D, not for 
DigitalMars C), there's even a test making sure 0.9L and 0.9 are 
parsed to the same compile-time value.


Re: Decimal string to floating point conversion with correct half-to-even rounding

2020-07-07 Thread kinke via Digitalmars-d-announce

On Saturday, 4 July 2020 at 20:35:48 UTC, Walter Bright wrote:

On 6/21/2020 8:24 AM, 9il wrote:
So excited to finally announce we can correctly parse 
floating-point numbers according to IEEE round half-to-even 
(bankers) rule like in C/C++, Rust, and others.


Great work! Would you like to add it to dmd?


AFAIU, the 'problem' is that *all* floating-point literals are 
parsed as real_t values, which for DMD is x87 real (usually using 
the host C runtime's `strtold`). When emitting them as double or 
float literals, the compiler converts these values to a lower 
precision, where the increased intermediate precision might break 
the 'banker's rule'.


So wouldn't the trivial 'fix' be using `strtod` for double 
literals and `strtof` for floats? [For LDC, we wouldn't rely on 
the host C runtime or a mir implementation, but use LLVM 
facilities anyway.]


Re: Visual D 1.0.0 released

2020-07-04 Thread kinke via Digitalmars-d-announce

Thanks a lot, Rainer!


LDC 1.22.0

2020-06-16 Thread kinke via Digitalmars-d-announce

Glad to announce LDC 1.22 - some highlights:

- Based on D 2.092.1+.
- AArch64: C(++) interop should now be on par with x86_64, and 
variadics usable with core.{vararg,stdc.stdarg}.
- Windows hosts: Auto-detection & setup of installed Visual C++ 
toolchains revamped and newly enabled by default.

- Complete FreeBSD x86_64 support, incl. CI and prebuilt package.
- @weak functions emulation for Windows targets (and fix for ELF 
targets); no COMDATs emission for ELF anymore.
- `pragma(inline, true)` fix when emitting multiple object files 
in a single cmdline. This may have a significant impact on 
performance (incl. druntime/Phobos) when not using LTO.
- Android: Fix TLS initialization regression (introduced in 
v1.21) and potential alignment issues. Now defaulting to 
`-linker=bfd`.


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


Thanks to all contributors!


Re: LDC 1.22.0-beta2

2020-06-01 Thread kinke via Digitalmars-d-announce
On Monday, 1 June 2020 at 20:29:07 UTC, Petar Kirov [ZombineDev] 
wrote:

Awesome progress, thank you @kinke and everyone else involved!

Which FreeBSD version(s) are supported/have you tested with?


Thanks - tested FreeBSD is current stable, 12.1. For things to 
work out smoothly, LLD 9+ is required (otherwise linking druntime 
statically requires an extra `-L-lexecinfo`).


LDC 1.22.0-beta2

2020-06-01 Thread kinke via Digitalmars-d-announce
Glad to announce the second beta with the following main 
additions:


- Based on DMD/druntime/Phobos stable from a couple of days ago.
- `pragma(inline, true)` fix when emitting multiple object files 
in a single cmdline. This may have a significant impact on 
performance (incl. druntime/Phobos) when not using LTO.

- Complete FreeBSD x86_64 support, incl. CI.
- iOS/arm64 CI, running the debug druntime & Phobos unittests on 
an iPhone 6S.

- core.math.ldexp 6-14x faster (Linux/Windows) on my i5-3550.

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


Please help test to ensure a smooth final release, and thanks to 
all contributors!


LDC 1.22.0-beta1

2020-05-17 Thread kinke via Digitalmars-d-announce

Glad to announce the first beta for LDC 1.22:

* Based on D 2.092.0+.
* AArch64: C(++) interop should now be on par with x86_64, and 
variadics usable with core.{vararg,stdc.stdarg}.
* Windows hosts: Auto-detection & setup of installed Visual C++ 
toolchains revamped and newly enabled by default.
* @weak functions emulation for Windows targets (and fix for ELF 
targets); no COMDATs emission for ELF anymore.


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


Please help test, and thanks to all contributors!


Re: On the D Blog: Lomuto's Comeback

2020-05-15 Thread kinke via Digitalmars-d-announce
On Friday, 15 May 2020 at 10:28:41 UTC, Joseph Rushton Wakeling 
wrote:
One curious question -- unless I've misread things horribly, it 
looks like the D benchmarks for Lomuto branch-free are 
consistently slower than for C++.  Any idea why that is?  I 
would expect gcc/gdc and clang/ldc to produce effectively 
identical results for code like this.


Wrt. the LDC results, LDC v1.17 was shipped with LLVM 8.0.1, 
while the used clang is v10 based on LLVM 10, so that might 
account for some slight diffs.


LDC 1.21.0

2020-04-23 Thread kinke via Digitalmars-d-announce

Glad to announce an exciting LDC 1.21 release - some highlights:

* Based on D 2.091.1+; LLVM upgraded to v10.0.0.
* Experimental iOS/arm64 support - all druntime/Phobos unittests 
pass, thanks Jacob! The prebuilt macOS package supports 
cross-compilation out of the box, just add 
`-mtriple=arm64-apple-ios12.0` (ldc2/ldmd2) or 
`--arch=arm64-apple-ios12.0` (dub).
* 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, no more D main() 
requirement and reduced .so sizes.

* Important AArch64 bugfix, especially for unoptimized code.

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


Thanks to all contributors!


Re: LDC 1.21.0-beta1

2020-03-22 Thread kinke via Digitalmars-d-announce

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.


LDC 1.21.0-beta1

2020-03-21 Thread kinke via Digitalmars-d-announce

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!


Re: Tracing D Applications

2020-03-18 Thread kinke via Digitalmars-d-announce

On Wednesday, 18 March 2020 at 12:27:11 UTC, drug wrote:
Is XRay available on macOS now? As I understand it is linux 
specific too.


Some LLVM docs are notoriously outdated. Latest official LDC Mac 
packages ship with the XRay libs; Windows appears still 
unsupported though.


Re: Tracing D Applications

2020-03-13 Thread kinke via Digitalmars-d-announce

On Friday, 13 March 2020 at 19:00:01 UTC, Mike Parker wrote:
This post by Alexandr Druzhinin shows three different 
approaches to tracing, using writef and external tools.


Blog:
https://dlang.org/blog/2020/03/13/tracing-d-applications/

Reddit:
https://www.reddit.com/r/programming/comments/fi4qfw/tracing_d_applications/


Thanks! Another option is to leverage LLVM niceties via LDC's 
XRay support (https://github.com/ldc-developers/ldc/pull/2465, 
https://llvm.org/docs/XRay.html).


  1   2   3   >