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.