On 15/03/2020 14:32, Rainer Orth wrote: > Hi Ian, > >> This patch merges the D front-end implementation with dmd upstream e9420cfbf. > [...] >> Bootstrapped and tested on x86_64-linux-gnu, and committed to trunk. > > this merge introduced a regression on Solaris (SPARC and x86): > > +UNRESOLVED: gdc.test/runnable/traits.d compilation failed to produce > executable > +UNRESOLVED: gdc.test/runnable/traits.d -shared-libphobos compilation > failed to produce executable > > runnable/traits.d:1256:23: error: statement expected to be { }, not (^M > runnable/traits.d:1256:29: error: found 'out' when expecting ';' following > statement^M > runnable/traits.d:1256:32: error: declaration expected, not '('^M > runnable/traits.d:1256:38: error: no identifier for declarator r^M > runnable/traits.d:1256:38: error: declaration expected, not '=='^M > runnable/traits.d:1257:1: error: unrecognized declaration^M > > I suspect the changes need to be moved to their own file in > gdc.test/fail_compilation. >
The backported test used a newer syntax for contracts that's not in the C++ port of the D front-end. I've amended this and committed the fix. Iain.