[committed] d: Split up the grouped compilable and runnable tests.

2020-07-31 Thread Iain Buclaw via Gcc-patches
Hi, This patch breaks up the big monolithic tests in gdc.dg test directory. The majority of tests in runnable are really compilable/ICE tests, and have have dg-do adjusted where necessary. Tests that had a dependency on Phobos have also been reproduced and reduced with all imports stripped from

[committed] d: Fix regression, all 32-bit execution tests FAIL: internal error printing module cycle

2020-07-31 Thread Iain Buclaw via Gcc-patches
Hi, This patch fixes a regression caused by 6ee874f1353. For 32-bit btr(), BIT_NOT_EXPR was being generated twice, something that was not seen with the 64-bit variant. Removed the second call to fix the generated code. Bootstrapped on x86_64-linux-gnu and checked for regressions on -m32 and -mx

[committed] d: Fix associative array literals that don't have alignment holes filled (PR96152)

2020-07-30 Thread Iain Buclaw via Gcc-patches
Hi, This patch fixes an assert that is triggered at run-time due to the hash of an associative array literal not matching a non-literal with the same contents. Associative array literals are now filled using memset() prior to usage, with LTR evalution of side-effects enforced. Bootstrapped and r

[committed] d: Fix ICE in expand_intrinsic_vaarg (PR96140)

2020-07-30 Thread Iain Buclaw via Gcc-patches
Hi, This patch fixes an ICE in the D front-end in the va_arg intrinsic functions. Both intrinsics did not handler the case where the va_list object comes from a ref parameter. Bootstrapped and regression tested on x86_64-linux-gnu, committed to mainline. Regards Iain. --- gcc/d/ChangeLog:

[committed] d: Add -Wvarargs warning flag to the D front-end (PR96154)

2020-07-30 Thread Iain Buclaw via Gcc-patches
Hi, This patch adds the -Wvarargs warning flag to the D front-end. The language has C-style variadic functions and va_start/va_arg, so it is right to also have warnings for inproper use. Bootstrapped and regression tested on x86_64-linux-gnu, committed to mainline. Regards Iain --- gcc/d/Chang

[committed] d: Move private functions out of ExprVisitor into local statics

2020-07-30 Thread Iain Buclaw via Gcc-patches
Hi, This patch breaks out all private functions from ExprVisitor into free standing static functions. None of them need access to the context pointer of the visitor class. Bootstrapped and regression tested on x86_64-linux-gnu, and committed to mainline. Regards Iain --- gcc/d/ChangeLog:

[committed] d: Refactor use of built-in memcmp/memcpy/memset into helper functions.

2020-07-30 Thread Iain Buclaw via Gcc-patches
Hi, This patch adds three codegen helper functions for generating calls to memcmp, memcpy and memset. All parts of the front-end have been updated to call them instead of doing it themselves. Bootstrapped and regression tested on x86_64-linux-gnu, and committed to mainline. Regards Iain --- gc

[committed] d: Inline bounds checking for simple array assignments.

2020-07-30 Thread Iain Buclaw via Gcc-patches
Hi, This patch implements a small optimization to the code generation of simple array assignments, inlining the array bounds checking code so there is no reliance on the library routine _d_arraycopy(), which also deals with postblit and copy constructors for non-trivial arrays. Bootstrapped and r

[committed] d: Implement core.bitop.rol() and core.bitop.ror() as intrinsics.

2020-07-30 Thread Iain Buclaw via Gcc-patches
Hi, Following on from the last patch, this implements rol() and ror() in the core.bitop module as D intrinsics. Bootstrapped and regression tested on x86_64-linux-gnu and committed to mainline. Regards Iain --- gcc/d/ChangeLog: * intrinsics.cc (expand_intrinsic_rotate): Add function.

[committed] d: Refactor matching and lowering of intrinsic functions.

2020-07-30 Thread Iain Buclaw via Gcc-patches
Hi, This patch cleans up D intrinsic handling in the front-end. Intrinsics are now matched explicitly, rather than through a common alias where there are multiple overrides for a common intrinsic. Where there is a corresponding DECL_FUNCTION_CODE, that is now stored in the D intrinsic array. All

[committed] d: Merge upstream dmd 8508c4e68.

2020-06-28 Thread Iain Buclaw via Gcc-patches
Hi, This patch merges the D front-end implementation with upstream dmd 8508c4e68. Fixes a performance bug where 'static foreach' would take an exponentially long time to expand during CTFE. In the following example: static foreach (i; 0..3) {} Compilation time had been reduced from aro

Re: [committed] d: Merge upstream dmd 90450f3ef.

2020-06-26 Thread Iain Buclaw via Gcc-patches
Hi, This patch has been backported, bootstrapped and regression tested on the releases/gcc-9 and releases/gcc-10 branches. Regards Iain. On 25/06/2020 17:41, Iain Buclaw wrote: > Hi, > > This patch merges the D front-end implementation with upstream dmd > 90450f3ef. Fixes a regression caused b

Re: [committed] d: Fix ICE in uda_attribute_p when looking up unknown attribute

2020-06-26 Thread Iain Buclaw via Gcc-patches
Hi, This patch has been backported, bootstrapped and regression tested on the releases/gcc-9 and releases/gcc-10 branches. Regards Iain. On 25/06/2020 17:38, Iain Buclaw wrote: > Hi, > > This patch fixes an ICE in uda_attribute_p when looking up an unknown > attribute. The target attribute tab

[committed] d: Remove another dependency on the front-end OutBuffer type.

2020-06-25 Thread Iain Buclaw via Gcc-patches
Hi, This patch removes another dependency on the front-end OutBuffer type. As the DMD front-end never frees allocated memory, the glue layer between the DMD front-end and GCC should generally avoid using DMD types and interfaces if the purpose is internal only. Bootstrapped and regression tested

[committed] d: Turn on deprecation warnings by default.

2020-06-25 Thread Iain Buclaw via Gcc-patches
Hi, This patch makes deprecation warnings the default in gdc, fixing both the library and any tests that are currently using deprecated styles. This is the default in the upstream reference compiler, and can reduce some confusion when comparing warning/error messages of gdc and dmd side by side.

[committed] d: Move d_signed_type and d_unsigned_type to types.cc

2020-06-25 Thread Iain Buclaw via Gcc-patches
Hi, This patch moves d_signed_type and d_unsigned_type to types.cc. These two functions are not tied to the language-specific part of the front-end in any way. Bootstrapped and regression tested on x86_64-linux-gnu, and committed to mainline. Regards Iain. --- gcc/d/ChangeLog: * d-lan

[committed] d: Merge upstream dmd 90450f3ef.

2020-06-25 Thread Iain Buclaw via Gcc-patches
Hi, This patch merges the D front-end implementation with upstream dmd 90450f3ef. Fixes a regression caused by an incomplete backport of converting the Expression semantic pass to a Visitor. Bootstrapped and regression tested on x86_64-linux-gnu, and committed to mainline. Regards Iain. --- gc

[committed] d: Merge upstream dmd 5fc1806cd.

2020-06-25 Thread Iain Buclaw via Gcc-patches
Hi, This patch merges the D front-end implementation with upstream dmd 5fc1806cd. Backports the OutBuffer interface from upstream dmd master, removing another difference this and the self-hosted D branch that is purely refactoring, and doesn't introduce any mechanical changes. Bootstrapped and r

[committed] d: Merge upstream dmd 4f1046222.

2020-06-25 Thread Iain Buclaw via Gcc-patches
Hi, This patch merges the D front-end implementation with upstream dmd 4f1046222. Renames OnScopeStatement to ScopeGuardStatement. Bootstrapped and regression tested on x86_64-linux-gnu, and committed to mainline. Regards Iain. --- gcc/d/ChangeLog: * dmd/MERGE: Merge upstream dmd 4f10

[committed] d: Do not implicitly set DECL_DECLARED_INLINE_P on member functions.

2020-06-25 Thread Iain Buclaw via Gcc-patches
Hi, This patch removes the implicit setting of DECL_DECLARATED_INLINE_P on member function. This has been questionable behaviour since it was added, and though it has no effect on wider discussions around what should be the correct semantics of pragma(inline) within D modules, doing this tree-lev

[committed] d: Merge upstream dmd 4be011355.

2020-06-25 Thread Iain Buclaw via Gcc-patches
Hi, This patch merges the D front-end implementation with upstream dmd 4be011355. Fixes self-assignment warnings seen when compiling with clang. Bootstrapped and regression tested on x86_64-linux-gnu, and committed to mainline. Regards Iain. --- gcc/d/ChangeLog: PR d/95075 * d

[committed] d: Fix ICE in uda_attribute_p when looking up unknown attribute

2020-06-25 Thread Iain Buclaw via Gcc-patches
Hi, This patch fixes an ICE in uda_attribute_p when looking up an unknown attribute. The target attribute table is not guaranteed to be set by all backends. Bootstrapped and regression tested on x86_64-linux-gnu, and committed to mainline. Regards Iain. --- gcc/d/ChangeLog: PR d/95173

[committed] d: Don't set DECL_INITIAL if initializer is 'void'.

2020-06-25 Thread Iain Buclaw via Gcc-patches
Hi, This patch fixes a logic bug in the code-gen for variable declarations. Declarations initialized with `= void` were being default initialized. That is not really the intent, and misses the small optimization that should have been gained from using void initializations. Bootstrapped and regre

[committed] d: Consistently format quotations in comments.

2020-06-16 Thread Iain Buclaw via Gcc-patches
Hi, This patch updates comments to consistently format quotations in code comments throughout the D front-end. Bootstrapped and regression tested on x86_64-linux-gnu, and committed to master. Regards Iain gcc/d/ChangeLog: * d-builtins.cc: Update quotation formatting of comments.

[committed] d: Remove dependency on front-end File type for json and deps file generation.

2020-06-16 Thread Iain Buclaw via Gcc-patches
Hi, This patch replaces some uses of File with FILE. Memory allocated by the DMD front-end is never freed due to the bump pointer allocator used internally. Bootstrapped and regression tested on x86_64-linux-gnu, and committed to master. Regards Iain gcc/d/ChangeLog: * d-lang.cc (d_p

[committed] d: Remove dependency on front-end OutBuffer for diagnostic and deps file generation.

2020-06-16 Thread Iain Buclaw via Gcc-patches
Hi, This patch replaces some uses of OutBuffer with obstack. Memory allocated by the DMD front-end is never freed due to the bump pointer allocator used internally. Bootstrapped and regression tested on x86_64-linux-gnu, and committed to master. Regards Iain gcc/d/ChangeLog: * d-diag

[committed] d: Update code formatting in a consistent style.

2020-06-16 Thread Iain Buclaw via Gcc-patches
Hi, This patch is a mechanical update of various formatting to make it consistent throughout the D front-end. Bootstrapped and regression tested on x86_64-linux-gnu, and committed to master. Regards Iain gcc/d/ChangeLog: * d-attribs.cc: Update code formatting in a consistant style.

[committed] d: Use new isTypeXxxx helpers where possible.

2020-06-16 Thread Iain Buclaw via Gcc-patches
Hi, This patch replaces uses of casting to Type nodes with the newly introduced isTypeXxxx functions. Bootstrapped and regression tested on x86_64-linux-gnu, and committed to master. Regards Iain gcc/d/ChangeLog: * d-builtins.cc (d_eval_constant_expression): Use isTypeXxxx helpers

[committed] d: Remove names of unused function parameters.

2020-06-16 Thread Iain Buclaw via Gcc-patches
Hi, This patch replaces ARG_UNUSED and ATTRIBUTE_UNUSED with unnamed parameters. As the unused attribute was being used incorrectly. Bootstrapped and regression tested on x86_64-linux-gnu, and committed to master. Regards Iain gcc/d/ChangeLog: * d-attribs.cc (handle_noreturn_attribut

[committed] d: Use new isXxxxExp helpers where possible

2020-06-16 Thread Iain Buclaw via Gcc-patches
Hi, This patch replaces uses of casting to Expression nodes with the newly introduced isXxxxExp functions. Bootstrapped and regression tested on x86_64-linux-gnu, and committed to master. Regards Iain gcc/d/ChangeLog: * d-attribs.cc (build_attributes): Use isXxxxExp helpers instead of

[committed] d: Use toTypeFunction instead of explicit cast

2020-06-16 Thread Iain Buclaw via Gcc-patches
Hi, This patch replaces uses of casting to TypeFunction with toTypeFunction, which takes care of asserting that `ty' is a `Tfunction'. Bootstrapped and regression tested on x86_64-linux-gnu, and committed to master. Regards Iain gcc/d/ChangeLog: * d-frontend.cc (eval_builtin): Use toT

[committed] d: Use toStringExp instead of explicit cast

2020-06-16 Thread Iain Buclaw via Gcc-patches
Hi, This patch replaces uses of casting to StringExp with toStringExp. Bootstrapped and regression tested on x86_64-linux-gnu, and committed to master. Regards Iain gcc/d/ChangeLog: * d-attribs.cc (build_attributes): Use toStringExp instead of cast. * toir.cc (IRVisitor::visit

[committed] d: Move generation of array bounds error to own function.

2020-06-16 Thread Iain Buclaw via Gcc-patches
Hi, This patch moves a couple code duplications into its own routine, the checkAction global parameter is now initialized and properly adjusted. Bootstrapped and regression tested on x86_64-linux-gnu, and committed to master. Regards Iain gcc/d/ChangeLog: * d-codegen.cc (build_array_b

[committed] d: Fix line lengths after mechanical field renames.

2020-06-14 Thread Iain Buclaw via Gcc-patches
Hi, This patch adjusts a few overflowed lines after the recent refactorings done in the upstream front-end that caused renames of many fields - in this case, dim -> length. Bootstrapped and regression tested on x86_64-linux-gnu, and committed to mainline. Regards Iain. gcc/d/ChangeLog:

[committed][GCC10/11] testsuite: Re-add gdc.test prefix in test names (PR testsuite/95575)

2020-06-14 Thread Iain Buclaw via Gcc-patches
Hi, When moving the gdc-test.exp test script into multiple test scripts (c76df72f1a9), this subdir handling got removed. This patch re-adds that, adjusted to handle the new $subdir path. Regression tested on x86_64-linux-gnu, committed to mainline, and backported to releases/gcc-10. Regards Iai

[committed] d: Merge upstream dmd 13d67c575.

2020-06-09 Thread Iain Buclaw via Gcc-patches
Hi, This patch merges the D front-end implementation with upstream dmd 13d67c575. Contains many small API changes, most contained within the front-end, but some spill out into the codegen. Bootstrapped and regression tested on x86_64-linux-gnu, and committed to mainline. Regards Iain. gcc/d/C

[committed] d: Fix regression caused by recent refactoring (PR95573)

2020-06-08 Thread Iain Buclaw via Gcc-patches
Hi, This parch merges the D front-end implementation with upstream dmd 5041e56f1. Fixing a small regression made by one of the refactorings. Bootstrapped and regression tested on x86_64-linux-gnu, and committed to mainline. Regards Iain. gcc/d/ChangeLog: PR d/95573 * dmd/MERG

[committed] d: Merge upstream dmd 955b8b36f.

2020-06-08 Thread Iain Buclaw via Gcc-patches
Hi, This patch merges the D front-end implementation with upstream dmd 955b8b36f. Merges AndAndExp and OrOrExp into a LogicalExp AST node. Bootstrapped and regression tested on x86_64-linux-gnu, and committed to mainline. Regards Iain. gcc/d/ChangeLog: * dmd/MERGE: Merge upstream dmd

[committed] d: Merge upstream dmd 73d8e2fec.

2020-06-07 Thread Iain Buclaw via Gcc-patches
Hi, This patch merges the D front-end implementation with upstream dmd 73d8e2fec. Renames the enum PROTKIND to Prot::Kind, updates all uses of the original enum accordingly. Bootstrapped and regression tested on x86_64-linux-gnu, and committed to mainline. Regards Iain. gcc/d/ChangeLog:

[committed] d: Merge upstream dmd 108ca1bcd.

2020-06-07 Thread Iain Buclaw via Gcc-patches
Hi, This patch merges the D front-end implementation with upstream dmd b0df0e982. Renames OutBuffer::peekString to OutBuffer::peekChars, and OutBuffer::extractString to OutBuffer::extractChars. All callers have been updated as appropriate. Bootstrapped and regression tested on x86_64-linux-gnu,

[committed] d: Merge upstream dmd b0df0e982

2020-06-07 Thread Iain Buclaw via Gcc-patches
Hi, This patch merges the D front-end implementation with upstream dmd b0df0e982. Adds a struct ParameterList to encapulate parameter and vararg information in the front-end. Bootstrapped and regression tested on x86_64-linux-gnu, and committed to mainline. Regards Iain. gcc/d/ChangeLog:

[committed] d: Merge upstream dmd 1831b24ff.

2020-06-07 Thread Iain Buclaw via Gcc-patches
Hi, This patch merges the D front-end implementation with upstream dmd 1831b24ff. Converts some global and param fields from pointers to value types. Bootstrapped and regression tested on x86_64-linux-gnu, and committed to mainline. Regards Iain. gcc/d/ChangeLog: * dmd/MERGE: Merge

[committed] d: Merge upstream dmd cef1e7991.

2020-06-07 Thread Iain Buclaw via Gcc-patches
Hi, This patch merges the D front-end implementation with upstream dmd cef1e7991. Adds a DString type, a struct that has a compatible layout with D strings. Many parameters in the Global struct have been switched over to this type, and users of these params have been adjust to use the length or

[committed] d: Merge upstream dmd 740f3d1ea.

2020-06-05 Thread Iain Buclaw via Gcc-patches
Hi, This patch merges the D front-end implementation with upstream dmd 740f3d1ea. Backports the conversion of the parameter fields debugids and versionids to Identifiers. The idea is that Identifiers should be used instead of C strings where ever possible. Bootstrapped and regression tested on

[committed] d: Merge upstream dmd f5638c7b8.

2020-06-05 Thread Iain Buclaw via Gcc-patches
Hi, This patch merges the D front-end implementation with upstream dmd f5638c7b8. Adds a CHECKENABLE enum, uses it for all contract parameters for consistency in state checking. Bootstrapped and regression tested on x86_64-linux-gnu, and committed to mainline. Regards Iain. gcc/d/ChangeLog:

[committed] d: Merge upstream dmd 56f0a65c4.

2020-06-05 Thread Iain Buclaw via Gcc-patches
Hi, This patch merges the D front-end implementation with upstream dmd 56f0a65c4. Updates the Target interface, removing static from all members, so all field accesses and member function calls go through a a single global 'target'. Information relating to extern ABI are now in TargetC, TargetCP

[committed] d: Merge upstream dmd 6d5bffa54

2020-06-05 Thread Iain Buclaw via Gcc-patches
Hi, This patch merges the D front-end implementation with upstream dmd 6d5bffa54. Removes an unused parameter from Condition::include(), all callers have been updated in the front-end. Bootstrapped and regression tested on x86_64-linux-gnu, and committed to mainline. Regards Iain. gcc/d/Chang

[committed] d: Merge upstream dmd 48d704f08

2020-06-04 Thread Iain Buclaw via Gcc-patches
Hi, This patch merges the D front-end implementation with upstream dmd 47ed0330f. Updates the Array interface in dmd/root/array to use a DArray internally. Splits out BitArray into a separate header. Bootstrapped and regression tested on x86_64-linux-gnu, and committed to mainline. Regards Iai

[committed] d: Merge upstream dmd 47ed0330f

2020-06-04 Thread Iain Buclaw via Gcc-patches
Hi, This parch merges the D front-end implementation with upstream dmd 47ed0330f. Updating the copyright years of the front-end sources. Committed to mainline. Regards Iain gcc/d/ChangeLog: * dmd/MERGE: Merge upstream dmd 47ed0330f. --- gcc/d/dmd/MERGE | 2 +- gcc/d/dmd

[committed] d: Split up d-frontend.cc into multiple parts.

2020-06-04 Thread Iain Buclaw via Gcc-patches
In preparation for possibly switching the front-end implementation from C++ to D, a lot of changes in the "glue" layer are just noise from lots of small, but invasive API changes in the DMD front-end headers. This will be the first of about a dozen or so. This change splits up the few implementat

[committed] d: Set up input_location before lowering Dsymbol AST

2020-06-02 Thread Iain Buclaw via Gcc-patches
Hi, Like a similarly named function in the visitor class for statements, this ensures that the current input_location is set to the correct source file location of the decl. It is likely that there are a number of cases where declarations have ended up with no location without this. Bootstrapped

[PATCH] contrib: Add gdc.test to list of ignored prefixes

2020-06-02 Thread Iain Buclaw via Gcc-patches
The files in this subdirectory are part of the D2 test suite maintained in the upstream DMD code repository. OK? contrib/ChangeLog: * gcc-changelog/git_commit.py (ignored_prefixes): Add gcc/testsuite/gdc.test/. --- contrib/gcc-changelog/git_commit.py | 1 + 1 file changed, 1 in

Re: [PATCH] Fix unrecognised -mcpu target: armv7-a on arm-wrs-vxworks7 (PR95420)

2020-06-02 Thread Iain Buclaw via Gcc-patches
On 01/06/2020 19:00, Olivier Hainque wrote: > Hello Iain, > >> On 01 Jun 2020, at 00:40, Iain Buclaw wrote: >> >> Hi, >> >> In the removal of arm-wrs-vxworks, the default cpu was updated from arm8 >> to armv7-a, but this is not recognized as a valid -mcpu target. There >> is however generic-a

[committed] d: Fix segfault in build_frontend_type on alpha-*-*

2020-06-02 Thread Iain Buclaw via Gcc-patches
Hi, The va_list type for Alpha includes a nameless dummy field for alignment purposes. To transpose this into D, a field named "__pad%d" is inserted into the struct definition. It was also noticed that in the D front-end AST copy of the backend type, all offsets for fields generated by build_fro

[PATCH] Fix unrecognised -mcpu target: armv7-a on arm-wrs-vxworks7 (PR95420)

2020-05-31 Thread Iain Buclaw via Gcc-patches
Hi, In the removal of arm-wrs-vxworks, the default cpu was updated from arm8 to armv7-a, but this is not recognized as a valid -mcpu target. There is however generic-armv7-a, which was likely the intended cpu that should have been used instead. Tested by building a cross-compiler targetting arm-

Re: [PATCH 4/6] contrib: Add or1k-elf, or1k-linux-*, and or1k-rtems to config-list.mk

2020-05-31 Thread Iain Buclaw via Gcc-patches
On 31/05/2020 22:53, Stafford Horne wrote: > On Sun, May 31, 2020 at 12:19:16PM +0200, Iain Buclaw wrote: >> Support for OpenRISC target was added in SVN r265963. >> >> The target configurations were taken from the list of supported >> toolchains[1], so seems sensible to include them all. >> >> OK?

[PATCH] tilepro: Update generator file to define IN_TARGET_CODE in target file.

2020-05-31 Thread Iain Buclaw via Gcc-patches
Hi, The target files tilegx/mul-tables.c and tilepri/mul-tables.c were updated in SVN r255743, but the generator file that produces them wasn't, so it was reverting this change during builds. Only tested by running make all-gcc for all tile*-*-* targets present in config-list.mk. OK? Regards Ia

[PATCH 6/6] contrib: Add OPT-enable-obsolete to tile*-*-*

2020-05-31 Thread Iain Buclaw via Gcc-patches
The tile*-*-* targets were marked as obsolete in SVN r259724. OK? Regards Iain --- contrib/ChangeLog: * config-list.mk (LIST): Add OPT-enable-obsolete to tilegx-linux-gnu, tilegxbe-linux-gnu, and tilepro-linux-gnu. --- contrib/config-list.mk | 3 ++- 1 file changed, 2 insertion

[PATCH 5/6] contrib: Add v850e1-elf to config-list.mk

2020-05-31 Thread Iain Buclaw via Gcc-patches
This comment was added in SVN r173410, v850e1-* was added to config.sub in SVN r174691i (around 2011). So it should no longer apply. OK? Regards Iain --- contrib/ChangeLog: * config-list.mk (LIST): Add v850e1-elf. --- contrib/config-list.mk | 3 +-- 1 file changed, 1 insertion(+), 2 d

[PATCH 4/6] contrib: Add or1k-elf, or1k-linux-*, and or1k-rtems to config-list.mk

2020-05-31 Thread Iain Buclaw via Gcc-patches
Support for OpenRISC target was added in SVN r265963. The target configurations were taken from the list of supported toolchains[1], so seems sensible to include them all. OK? Regards Iain [1]: https://www.openrisc.io/software --- contrib/ChangeLog: * config-list.mk (LIST): Add or1k-e

[PATCH 3/6] contrib: Add pru-elf to config-list.mk

2020-05-31 Thread Iain Buclaw via Gcc-patches
Support for the TI PRU target was added in SVN r272202. Judging from the testsuite results posted at the time[1], the only supported target is pru-elf. OK? Regards Iain. [1]: http://dinux.eu/gnupru/testresults/index.html --- contrib/ChangeLog: * config-list.mk (LIST): Add pru-elf. ---

[PATCH 2/6] contrib: Remove arm-wrs-vxworks from config-list.mk

2020-05-31 Thread Iain Buclaw via Gcc-patches
Support for arm-wrs-vxworks was removed in git 27204060db5/r10-4684. Looking at the commit, it seems that it can instead be replaced with arm-wrs-vxworks7, however this target doesn't pass selftests due to an unrecognized CPU (PR 95420). Nor does the previous default CPU work either (arm-wrs-vxwo

[PATCH 1/6] contrib: Remove cris-linux and crisv32-* from config-list.mk

2020-05-31 Thread Iain Buclaw via Gcc-patches
Hi, Continuing from the previous update to config-list.mk, I realize that there are a few other more additions/removals to be done. To start off, support for crisv32-*-* and cris-*-linux* was removed in git 2b36e4dc813/r11-214. OK? Regards Iain --- contrib/ChangeLog: * config-list.mk

[PATCH] contrib: Remove rs6000-ibm-aix5.3.0 from config-list.mk

2020-05-18 Thread Iain Buclaw via Gcc-patches
Hi, Looking at the results of building all targets (with D the front-end), I noticed this configuration failed due to support being removed in SVN r263506. OK? Regards, Iain. --- contrib/ChangeLog: * config-list.mk (LIST): Remove rs6000-ibm-aix5.3.0. --- contrib/config-list.mk | 2 +-

[committed][GCC9] d: Fix multiple definition error when using mixins and interfaces (PR92216, PR95184)

2020-05-18 Thread Iain Buclaw via Gcc-patches
Hi, This patch for PR d/92216 was already applied to mainline before the GCC-10 release, however due to a second bug report (PR d/95184) against the GCC-9 release, I've decided it's best to apply it there too. Backport is a merge of r10-7199 and r10-7504. Bootstrapped and regression tested on x8

[committed][GCC10] libphobos: Backport library fixes from mainline

2020-05-17 Thread Iain Buclaw via Gcc-patches
Hi, This patch backports r11-445 to the gcc-10 release branch. Bootstrapped and regression tested on x86_64-linux-gnu, and committed. Regards, Iain. --- libphobos/ChangeLog: PR d/95166 * libdruntime/core/cpuid.d (cpuidX86): Do not use i7 detection on AMD processors.

[PATCH] libphobos: Merge upstream druntime 5cc061a8, phobos 64ed4684f

2020-05-17 Thread Iain Buclaw via Gcc-patches
Hi, This patch merges the D runtime library with upstream druntime 5cc061a8, and the D standard library with upstream phobos 64ed4684f. Fixes included within are: - core.cpuid has been fixed to not use i7 detection on AMD processors (fixes PR95166). - std.net.curl has been fixed to correctl

[committed][GCC9] d: Fix ICE in verify_gimple_stmt, at tree-cfg.c:4959

2020-05-17 Thread Iain Buclaw via Gcc-patches
Hi, This patch is the gcc-9 backport of mainline r11-154 / gcc-10 r10-8149. Bootstrapped and regression tested on x86_64-linux-gnu, and committed to the gcc-9 branch. Regards Iain --- gcc/d/ChangeLog: PR d/94970 * d-codegen.cc (force_target_expr): Move create_temporary_var

[committed][GCC10] d: Fix ICE in verify_gimple_stmt, at tree-cfg.c:4959

2020-05-17 Thread Iain Buclaw via Gcc-patches
Hi, This patch has been backported from mainline r11-154. The ICE is also present on the gcc-9 branch, and this applies cleanly there as well, so will send out another email for that backport. Bootstrapped and regression tested on x86_64-linux-gnu, and committed to the gcc-10 branch. Regards Ia

[committed][GCC9] d: Fix wrong vtable offset in virtual function call

2020-05-16 Thread Iain Buclaw via Gcc-patches
Hi, This patch fixes PR95155, which prevented the D front-end in gcc-9 from being able to bootstrap a self-hosted D compiler. The Semantic (pass 1) analysis for classes is handled by ClassDeclaration::semantic. For a given class, this method may be ran multiple times in order to resolve forward

[committed][GCC9] libphobos: Fix struct layout of stat_t on sparc-*-solaris*

2020-05-16 Thread Iain Buclaw via Gcc-patches
Hi, The last change to the bindings removed the st_pad3 field from the wrong struct. It should have been stat64_t that needed updating instead. Patch backported from r10-8066, committed to gcc-9 branch. Iain. --- libphobos/ChangeLog PR d/90719 * libdruntime/core/sys/posix/sys/

Re: [PATCH] libiberty: Handle function return type and variable declaration type in D demangler.

2020-05-16 Thread Iain Buclaw via Gcc-patches
On 16/05/2020 01:42, Witold Baryluk via Gcc-patches wrote: > Adds support for DMGL_RET_POSTFIX in D demangler, so it shows the type > of the declared variable, or function return type. Postfix notation is > used with space. > Hi, Thanks for your contribution, it would be good to have a confirmat

[committed] libiberty: Handle @live attribute in D demangler.

2020-05-15 Thread Iain Buclaw via Gcc-patches
Hi, This patch adds support for demangling D functions annotated with the new ownership/borrowing system attribute. Following Jeff's advice from the last patch review, this has been regression tested and committed to mainline. Firstly, as it is assumed this falls under my D front-end maintainer

Re: Ping: [PATCH] libiberty: Update D symbol demangling for latest ABI spec.

2020-05-14 Thread Iain Buclaw via Gcc-patches
On 14/05/2020 16:36, Jeff Law wrote: > On Sun, 2020-05-10 at 11:10 +0200, Iain Buclaw via Gcc-patches wrote: >> Ping >> >> On 03/05/2020 09:37, Iain Buclaw via Gcc-patches wrote: >>> Ping. >>> >>> There is a new mangle string "Nm" in t

Re: Ping: [PATCH] wwwdocs: Add D front-end section for GCC 10 changes

2020-05-14 Thread Iain Buclaw via Gcc-patches
On 14/05/2020 17:04, Gerald Pfeifer wrote: > On Thu, 14 May 2020, Jeff Law wrote: >>> OK to commit? >> OK. In fact, this seems like you shouldn't need reviews -- you're just >> updating the docs for D. > > Agreed, though always happy to help and provide review and feedback > - sometimes just a b

Re: Ping: [PATCH] wwwdocs: Add D front-end section for GCC 10 changes

2020-05-14 Thread Iain Buclaw via Gcc-patches
On 07/05/2020 16:04, Iain Buclaw via Gcc-patches wrote: > Hi, > > Updated the patch to include missed changes, and slighted reworded some > entries > to make them clearer/read easier. > I've gone ahead and pushed it, after someone else did a review of the wording. Iain.

Ping: [PATCH] wwwdocs: Add D front-end section for GCC 10 changes

2020-05-13 Thread Iain Buclaw via Gcc-patches
Ping. On 07/05/2020 16:04, Iain Buclaw via Gcc-patches wrote: > Hi, > > Updated the patch to include missed changes, and slighted reworded some > entries > to make them clearer/read easier. > > OK to commit? > > Iain. > > --- &

Ping: [PATCH] libiberty: Update D symbol demangling for latest ABI spec.

2020-05-10 Thread Iain Buclaw via Gcc-patches
Ping On 03/05/2020 09:37, Iain Buclaw via Gcc-patches wrote: > Ping. > > There is a new mangle string "Nm" in the abi to denote the @live attribute, > however will add support in a follow up patch. > > > On 15 April 2020 12:04:29 CEST, Iain Buclaw via Gcc-patch

Re: [PATCH 0/3] Add CET support to libphobos

2020-05-08 Thread Iain Buclaw via Gcc-patches
On 9 May 2020 00:16:54 CEST, "H.J. Lu" wrote: >On Fri, May 8, 2020 at 2:50 PM Iain Buclaw wrote: >> >> On 08/05/2020 22:10, H.J. Lu wrote: >> > This patch set adds CET support to libphobos. Since libphobos uses zlib >> > target library, CET is also enabled in zlib. >> > >> > OK for master? >> >

Re: [PATCH 0/3] Add CET support to libphobos

2020-05-08 Thread Iain Buclaw via Gcc-patches
On 08/05/2020 22:10, H.J. Lu wrote: > This patch set adds CET support to libphobos. Since libphobos uses zlib > target library, CET is also enabled in zlib. > > OK for master? > I have no problem with the libphobos parts. Regards Iain.

Ping: [PATCH] wwwdocs: Add D front-end section for GCC 10 changes

2020-05-07 Thread Iain Buclaw via Gcc-patches
Hi, Updated the patch to include missed changes, and slighted reworded some entries to make them clearer/read easier. OK to commit? Iain. --- htdocs/gcc-10/changes.html | 35 +++ 1 file changed, 35 insertions(+) diff --git a/htdocs/gcc-10/changes.html b/htdocs/

[committed] d: Fix ICE in verify_gimple_stmt, at tree-cfg.c:4959

2020-05-06 Thread Iain Buclaw via Gcc-patches
Hi, This patch removes all related helper functions around BIND_EXPR generation in the D front-end, which were the cause of an ICE. Both array concat and array new expressions wrapped any temporaries created into a BIND_EXPR. This does not work if an expression used to construct the result requ

Ping: [PATCH] wwwdocs: Add D front-end section for GCC 10 changes

2020-05-03 Thread Iain Buclaw via Gcc-patches
Ping Another thing that forgot to mention was added __traits(getLinkage) support for class/struct types. Will include that too. Iain On 28 April 2020 01:12:19 CEST, Iain Buclaw wrote: >Hi, > >This patch adds a section on the D front-end about all changes that have >gone into the GCC 10 release

Re: [PATCH] libiberty: Update D symbol demangling for latest ABI spec.

2020-05-03 Thread Iain Buclaw via Gcc-patches
Ping. There is a new mangle string "Nm" in the abi to denote the @live attribute, however will add support in a follow up patch. On 15 April 2020 12:04:29 CEST, Iain Buclaw via Gcc-patches wrote: >Ping. > >On 04/04/2020 13:33, Iain Buclaw wrote: >> Hi, >>

[committed] d: Fix documentation of -defaultlib= and -debuglib=

2020-04-30 Thread Iain Buclaw via Gcc-patches
Hi, This patch corrects the documentation of -defaultlib= and -debuglib=. >From the generated manpages, it was not clear that its usage is '-debuglib='. Verified the contents of the generated manpage, committed to mainline. Regards Iain. --- gcc/d/ChangeLog: * gdc.texi (Options for Lin

[committed] d: Merge upstream dmd 934df6f8c, druntime 7bdd83d7 (PR90719, PR94825)

2020-04-30 Thread Iain Buclaw via Gcc-patches
Hi, This patch corrects a previous change made to the SPARC stdc bindings, and backports PPC-related fixes. The library and language testsuite now passes fully on powerpc64le-linux-gnu. Backported from upstream dmd 934df6f8c, and druntime 7bdd83d7. Bootstrapped and regression tested on powerpc6

[committed] libphobos: Fix KERNEL_VERSION condition in libphobos testsuite

2020-04-29 Thread Iain Buclaw via Gcc-patches
Hi, This patch fixes an effective target check in the libphobos testsuite. A typo in the macro call meant that the #error always triggered. Regression tested on x86_64-linux-gnu with multilib configurations {-m64,-m32,-mx32}, committed to mainline. Regards Iain. --- libphobos/ChangeLog:

[committed] d: Merge bug fix from upstream dmd 06160ccae

2020-04-29 Thread Iain Buclaw via Gcc-patches
Hi, This patch adds classKind information to the front-end AST, which in turn allows us to fix code generation of type names for extern(C) and extern(C++) structs and classes. Inspecting such types inside a debugger now just works without the need to cast(module_name.cxx). Bootstrapped on x86_64

Re: [committed] libphobos: Add power*-*-linux* as a supported target

2020-04-29 Thread Iain Buclaw via Gcc-patches
On 28/04/2020 19:12, Segher Boessenkool wrote: > Hi! > > On Sun, Apr 26, 2020 at 11:35:21AM +0200, Iain Buclaw wrote: >> This patch adds power*-*-linux* as a supported target for libphobos. > > Many thanks for doing this! > > A problem though: libphobos/libdruntime is built for -m32 as well, but

Re: [PATCH] libphobos: Fix builds for powerpc64 with multilib

2020-04-28 Thread Iain Buclaw via Gcc-patches
On 28/04/2020 20:43, Iain Buclaw wrote: > On 28/04/2020 20:25, Segher Boessenkool wrote: >> Hi! >> >> On Tue, Apr 28, 2020 at 07:58:37PM +0200, Iain Buclaw wrote: >>> >>> +#if defined( __ppc__ ) || defined( __PPC__ ) || defined( __powerpc__ ) >> >> What is this for? Everything in libphobos/libdr

Re: [PATCH] libphobos: Fix builds for powerpc64 with multilib

2020-04-28 Thread Iain Buclaw via Gcc-patches
On 28/04/2020 20:25, Segher Boessenkool wrote: > Hi! > > On Tue, Apr 28, 2020 at 07:58:37PM +0200, Iain Buclaw wrote: >> This patch should fix builds on PPC with multilib enabled. >> >> Multilibs should not have been split up as two logically different CPU, >> so at configure time, powerpc64 was b

[PATCH] libphobos: Fix builds for powerpc64 with multilib

2020-04-28 Thread Iain Buclaw via Gcc-patches
Hi, This patch should fix builds on PPC with multilib enabled. Multilibs should not have been split up as two logically different CPU, so at configure time, powerpc64 was being detected, but none of the 32-bit support files were being compiled in. Segher, is this OK? Immediately to hand, I only

[PATCH] wwwdocs: Add D front-end section for GCC 10 changes

2020-04-27 Thread Iain Buclaw via Gcc-patches
Hi, This patch adds a section on the D front-end about all changes that have gone into the GCC 10 release. W3 validator reports there are no errors or warnings to show. Any comments or clarifications required on what's written up? Or is it OK to commit to the website? Regards Iain. --- htdoc

[committed] libphobos: Backport extern(C) bindings from druntime 2.091

2020-04-27 Thread Iain Buclaw via Gcc-patches
Hi, This patch merges the D runtime library with upstream druntime 47688279. Backports latest extern(C) bindings from druntime, fixing PR90718 and PR90719. Both of which should be cherry-picked into the gcc-9 branch. Bootstrapped and regression tested on x86_64-linux-gnu, and commited to mainlin

[committed] d: Fix ICE in assign_temp, at function.c:984 (PR94777)

2020-04-26 Thread Iain Buclaw via Gcc-patches
Hi, This patch fixes an ICE in the D front-end when passing non-trivially copyable types to variadic functions. Named arguments were being passed around by invisible reference, just not variadic arguments. There is a need to de-duplicate the routines that handle declaration/parameter promotion a

[committed] libphobos: Add hppa-*-linux* as a supported target

2020-04-26 Thread Iain Buclaw via Gcc-patches
Hi, This patch add hppa-*-linux* as a supported target for libphobos. This is has been done based off early testing done back in GCC-9 development by John, and recent testing inside a QEMU container. The hppa64-*-* target has been left out due to thread local storage being completely unusable on

[committed] d: Merge upstream dmd f8a1a5153, druntime 2b5c0b27 (PR89418)

2020-04-26 Thread Iain Buclaw via Gcc-patches
Hi, This patch merges the D front-end impleentation with upstream dmd f8a1a5153, and the D runtime library with upstream druntime 2b5c0b27. Adds a new test directive COMPILABLE_MATH_TEST, and support has been added for it in gdc-convert-test so that they are skipped if phobos is not present on th

[committed] libphobos: Remove AC_CACHE_CHECK from network library tests.

2020-04-26 Thread Iain Buclaw via Gcc-patches
Hi, This patch simplifies the socket library checks, as LIBS is the target variable ultimately being assigned to. The original comments from the deleted libjava directories have been restored as well. Regression tested on x86_64-linux-gnu, committed to mainline. Regards Iain. --- libphobos/Cha

Re: [committed] d: Merge upstream dmd 09db0c41e, druntime e68a5ae3.

2020-04-26 Thread Iain Buclaw via Gcc-patches
On 26/04/2020 18:41, Segher Boessenkool wrote: > On Sun, Apr 26, 2020 at 10:38:57AM +0200, Iain Buclaw wrote: >> On 25/04/2020 22:50, Segher Boessenkool wrote: >>> On Sat, Apr 25, 2020 at 02:20:19AM +0200, Iain Buclaw via Gcc-patches wrote: >>>> +// Pa

[committed] libphobos: Add power*-*-linux* as a supported target

2020-04-26 Thread Iain Buclaw via Gcc-patches
Hi, This patch adds power*-*-linux* as a supported target for libphobos. As there is no support for IBM real (long double) types in the std.math module, full phobos support has been switched off. This is not needed currently anyway in order to be able to bootstrap a self-hosted front-end written

<    1   2   3   4   5   6   >