Re: [PATCH, libphobos] Add explicit casts in emutls.d to fix build on some systems

2019-05-02 Thread Johannes Pfau
Am 02.05.19 um 20:48 schrieb Johannes Pfau: This fixes builds on systems where __builtin_machine_uint != size_t. In D, casts from larger to smaller integer size need to be made explicitly. Most notably this fixes --disable-tls for MIPS64 systems. Built on x86_64 with --disable-tls and ran D

[PATCH, libphobos] Add explicit casts in emutls.d to fix build on some systems

2019-05-02 Thread Johannes Pfau
This fixes builds on systems where __builtin_machine_uint != size_t. In D, casts from larger to smaller integer size need to be made explicitly. Most notably this fixes --disable-tls for MIPS64 systems. libphobos/ChangeLog: 2019-05-02 Johannes Pfau * libdruntime/gcc/emutls.d: Add

Re: [PATCH, d] Do not add any target_libs dependencies if not using libphobos

2019-04-25 Thread Johannes Pfau
Am 25.04.19 um 12:57 schrieb Iain Buclaw: Originally reviewed and tested here: https://github.com/D-Programming-GDC/gcc/pull/11 OK, but for want of a better way to do this. However I think its right to have better support for targets without libphobos. I've attached a couple knit changes.

[PATCH, libphobos] Implement GCC emutls in druntime

2019-04-25 Thread Johannes Pfau
this for the elf_shared sections code. Bootstrapped on x86_64 linux with --disable-tls, checked testsuite with --disable-tls and without. Initial review on https://github.com/D-Programming-GDC/gcc/pull/13 libphobos/ChangeLog: 2019-04-25 Johannes Pfau * libdruntime/Makefile.am: Add emutls

[PATCH, d] Do not add any target_libs dependencies if not using libphobos

2019-04-14 Thread Johannes Pfau
-Programming-GDC/gcc/pull/11 gcc/d/ChangeLog: 2019-04-14 Johannes Pfau * config-lang.in: Do not add target_libs if phobos is disabled. --- gcc/d/config-lang.in | 19 ++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/gcc/d/config-lang.in b/gcc/d/config

Re: [PATCH v2, d] PR d/87799 Fix build on windows hosts

2019-04-14 Thread Johannes Pfau
Am 13.04.19 um 18:48 schrieb Iain Buclaw: On Mon, 25 Mar 2019 at 20:04, Johannes Pfau wrote: diff --git a/gcc/d/d-system.h b/gcc/d/d-system.h index efece15f3bc..6c18b69d4df 100644 --- a/gcc/d/d-system.h +++ b/gcc/d/d-system.h @@ -55,4 +55,10 @@ #undef tolower #define tolower(c) TOLOWER(c

Re: [PATCH v2, d] PR d/87799 Fix build on windows hosts

2019-03-25 Thread Johannes Pfau
Am 25.03.19 um 20:04 schrieb Johannes Pfau: Am 24.03.19 um 17:49 schrieb Iain Buclaw: Does this mean that we can remove MinGW from the special casing in the toplevel configure?  See r265658. I will however bootstrap this on MinGW again, just to be sure. Bootstrapped properly on x86_64

Re: [PATCH v2, d] PR d/87799 Fix build on windows hosts

2019-03-25 Thread Johannes Pfau
for MinGW targets. I'm not aware of any build issues affecting MinGW targets though and the MinGW bootstrap will check both cases anyway. Regards, Johannes >From 6b54d601ee5810260ba3e5e5134783a2f107ff36 Mon Sep 17 00:00:00 2001 From: Johannes Pfau Date: Sun, 24 Mar 2019 11:57:51 +0100 Subj

[PATCH 1/2, d] Merge latest upstream DMD

2019-03-24 Thread Johannes Pfau
This fixes a segmentation fault issue when building without object.d and improves portability for the runnable/test4 test. --- gcc/d/dmd/MERGE | 2 +- gcc/d/dmd/dmodule.c | 2 +- gcc/testsuite/gdc.test/runnable/test4.d | 60 +

[PATCH 2/2, d] PR d/87799 Fix build on windows hosts

2019-03-24 Thread Johannes Pfau
Merge with upstream DMD 74ac873be1862090b7ec0e4a876fd1b758520359. This fixes various MinGW host build errors in filename.c. Additionally provide _mkdir in d-system.h as we do not include the windows 'direct.h' header. gcc/d/ChangeLog: 2019-03-23 Johannes Pfau PR d/87799 * d

[PATCH] [libphobos] Update info about required autotools versions

2019-03-23 Thread Johannes Pfau
(+), 5 deletions(-) diff --git a/libphobos/ChangeLog b/libphobos/ChangeLog index a2ccba0cddb..13b93352918 100644 --- a/libphobos/ChangeLog +++ b/libphobos/ChangeLog @@ -1,3 +1,7 @@ +2019-03-23 Johannes Pfau + + * configure.ac: Update autotool version comment. + 2019-02-19 Bernd Edlinger

[PATCH, committed] [libphobos] Update MERGE file, remove ill-formatted changelog entry

2019-03-23 Thread Johannes Pfau
/ChangeLog | 5 - libphobos/src/MERGE | 2 +- 2 files changed, 1 insertion(+), 6 deletions(-) diff --git a/libphobos/ChangeLog b/libphobos/ChangeLog index fc91bb63985..a2ccba0cddb 100644 --- a/libphobos/ChangeLog +++ b/libphobos/ChangeLog @@ -1,8 +1,3 @@ -2019-03-02 Johannes Pfau

PING: [RFC] libgcc: Integrating emutls and D garbage collector

2019-03-17 Thread Johannes Pfau
Am 03.03.19 um 18:59 schrieb Johannes Pfau: Hello all, I wanted to ask for some feedback on an issue which has affected GDC for a long time now: Letting the D garbage collector scan emulated TLS memory. Basically, for every variable instance in TLS memory we need to be able to get the address

Ping [PATCH] [MinGW] Set __USE_MINGW_ACCESS for C++ as well

2019-03-17 Thread Johannes Pfau
Am 03.03.19 um 11:41 schrieb Johannes Pfau: We set __USE_MINGW_ACCESS for windows hosts to use MinGWs wrapper for the access function. The wrapper ensures that access behaves in the expected way (e.g. for special files, such as nul). However, we now compile most sources with the C++ compiler

[RFC] libgcc: Integrating emutls and D garbage collector

2019-03-03 Thread Johannes Pfau
Hello all, I wanted to ask for some feedback on an issue which has affected GDC for a long time now: Letting the D garbage collector scan emulated TLS memory. Basically, for every variable instance in TLS memory we need to be able to get the address and size of that instance, so the GC can scan

[PATCH] [MinGW] Set __USE_MINGW_ACCESS for C++ as well

2019-03-03 Thread Johannes Pfau
there. This causes GCCs build against newer msvcrt versions with incompatible access implementations to fail. This patch adds the flag to the CXXFLAGS for all bootstrap stages. Bootstrapped on x86_64-mingw64-seh. config/ChangeLog: 2019-03-02 Johannes Pfau * mh-mingw: Also set

Re: [PATCH] PR d/89177 - Fix unaligned access in std.digest.murmurhash

2019-03-02 Thread Johannes Pfau
Am 01.03.19 um 10:43 schrieb Iain Buclaw: On Sun, 24 Feb 2019 at 16:30, Johannes Pfau wrote: Backport latest murmurhash version from upstream (2.084.1). Ran gdc testsuite on X86_64 linux and got feedback on the bugzilla this really fixes the issue. Raise a pull request with upstream (dmd-cxx

[PATCH] PR d/89177 - Fix unaligned access in std.digest.murmurhash

2019-02-24 Thread Johannes Pfau
Backport latest murmurhash version from upstream (2.084.1). Ran gdc testsuite on X86_64 linux and got feedback on the bugzilla this really fixes the issue. libphobos/ChangeLog: 2019-02-24 Johannes Pfau * src/std/digest/murmurhash.d: PR d/89177: Backport from upstream. Fixes

Re: [PATCH, RFC] Avoid the -D option which is not available install-sh

2019-02-18 Thread Johannes Pfau
Hi Bernd, Am 16.02.19 um 13:58 schrieb Bernd Edlinger: So here is the latest version with the requested change. How is the procedure with libpobos patches? Can we check them into the gcc svn, or will Ian have to push them first into the upstream? Most phobos/druntime changes should be

Re: [libphobos] Work around lack of dlpi_tls_modid before Solaris 11.5

2019-02-02 Thread Johannes Pfau
Hi Rainer, I suspect the two testsuite regressions (compared to a build with dlpi_tls_modid present) I mentioned are exactly of the kind you mention: e.g. the gdc.test/runnable/testaa.d failures are like this core.exception.rangeer...@gdc.test/runnable/testaa.d(410): Range violation

[PATCH, libphobos] Detect if qsort_r is available (PR d/88127)

2019-02-02 Thread Johannes Pfau
cked that Have_Qsort_R is set correctly in config.d. libphobos/ChangeLog: 2019-02-02 Johannes Pfau * m4/druntime/libraries.m4: Add check for qsort_r as DRUNTIME_LIBRARIES_CLIB. * configure.ac: Use qsort_r check. * libdruntime/gcc/config.d.in: Add Have_Qsort_R to store check re

Re: [libphobos] Work around lack of dlpi_tls_modid before Solaris 11.5

2019-01-31 Thread Johannes Pfau
Hi Rainer, I'd recommend not using such a workaround: This means getTLSRange will always return an empty range, but the GC uses this to scan TLS memory. This means a GC collection can delete objects which are still pointed to from TLS. This leads to hard to debug errors, and if I remember

Re: Provide __start_minfo/__stop_minfo for linkers that don't (PR d/87864)

2019-01-31 Thread Johannes Pfau
Looks good to me, although ultimately Iain has to decide of course. One nitpick: wouldn't you have to somehow mark __start/__stop _minfo as hidden? This is important in the case where you have multiple shared libraries and each library should have its own __start/__stop symbold to braket the

Re: [RFC/PATCH] gcc.c: access does not work in new msvcr for nul file

2019-01-13 Thread Johannes Pfau
Am 03.01.19 um 13:34 schrieb Alexander Monakov: On Thu, 3 Jan 2019, Johannes Pfau wrote: Debugging shows that the access function used to check if the input files exist has different behavior in newer msvcr libraries: It does return proper results for the 'nul' file in the old msvcrt.dll

[RFC/PATCH] gcc.c: access does not work in new msvcr for nul file

2019-01-03 Thread Johannes Pfau
Hello list, I'm currently adding D support to the MinGW targets. As the libphobos upstream only targets newer msvcr runtime libraries, I tried building GCC against libmsvcr120. When doing that, the build fails when building s-selftest-c++:

[PATCH 1/2, d] Fix hashing of complex reals

2018-11-28 Thread Johannes Pfau
29ce0543cb62229f005b2bc8540416dbccd1130e Tested at https://github.com/D-Programming-GDC/GDC/pull/768 -- Johannes --- libphobos/ChangeLog: 2018-11-28 Johannes Pfau * libdruntime/core/internal/convert.d: Backport from latest druntime. * libdruntime/core/internal/hash.d: Likewise. * libdruntime/core

[PATCH 2/2, d] Enable tests for rt.util.typeinfo and core.internal.convert

2018-11-28 Thread Johannes Pfau
With these backports, these tests now pass for GDC and we don't need the special cases in the Makefiles anymore. -- Johannes --- libphobos/ChangeLog: 2018-11-28 Johannes Pfau * libdruntime/Makefile.am: Test rt.util.typeinfo and core.internal.convert. * libdruntime

[PATCH, V2, d] Fix IdentityExp comparison for complex floats

2018-11-28 Thread Johannes Pfau
Next version, addresses the review comments. Tested at https://github.com/D-Programming-GDC/GDC/pull/768 --- gcc/d/ChangeLog: 2018-11-28 Johannes Pfau * expr.cc (ExprVisitor::visit(IdentityExp)): Add support for complex types. (build_float_identity): New function. gcc

[PATCH] Add myself to MAINTAINERS

2018-11-28 Thread Johannes Pfau
Hi, this adds myself to MAINTAINERS in the Write After Approval section. Committed to trunk as r266544. -- Johannes 2018-11-28 Johannes Pfau * MAINTAINERS (Write After Approval): Add myself. --- ChangeLog | 4 MAINTAINERS | 1 + 2 files changed, 5 insertions(+) diff --git

[PATCH, d] Fix IdentityExp comparison for complex floats

2018-11-24 Thread Johannes Pfau
and on the GDC CI (https://github.com/D-Programming-GDC/GDC/pull/768) -- Johannes --- gcc/d/ChangeLog: 2018-11-24 Johannes Pfau * expr.cc (ExprVisitor::visit(IdentityExp)): Add support for complex types. (ExprVisitor::build_float_identity): New function. gcc/testsuite/ChangeLog

[PATCH, libphobos] Fix libphobos.shared testsuite for multilib tests

2018-11-17 Thread Johannes Pfau
this issue. --- libphobos/ChangeLog: 2018-11-17 Johannes Pfau PR d/87824 * testsuite/libphobos.shared/shared.exp: Set proper path to phobos library for multilib builds. diff --git a/libphobos/testsuite/libphobos.shared/shared.exp b/libphobos/testsuite/libphobos.shared/shared.exp