https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88039
Bug ID: 88039 Summary: gdc.test/compilable/ddoc12.d FAILs Product: gcc Version: 9.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: d Assignee: ibuclaw at gdcproject dot org Reporter: ro at gcc dot gnu.org Target Milestone: --- Target: *-*-solaris2.* The gdc.test/compilable/ddoc12.d test FAILs when using Solaris as: FAIL: compilable/ddoc12.d output-exists ddoc12.o On sparc, one sees /usr/ccs/bin/as: "/var/tmp//ccg60S0d.s", line 10: error: invalid character (0xc3) /usr/ccs/bin/as: "/var/tmp//ccg60S0d.s", line 10: error: invalid character (0xbc) /usr/ccs/bin/as: "/var/tmp//ccg60S0d.s", line 10: error: statement syntax /usr/ccs/bin/as: "/var/tmp//ccg60S0d.s", line 12: error: invalid character (0xc3) /usr/ccs/bin/as: "/var/tmp//ccg60S0d.s", line 12: error: invalid character (0xbc) /usr/ccs/bin/as: "/var/tmp//ccg60S0d.s", line 12: error: invalid number of operands /usr/ccs/bin/as: "/var/tmp//ccg60S0d.s", line 12: error: statement syntax /usr/ccs/bin/as: "/var/tmp//ccg60S0d.s", line 13: error: invalid character (0xc3) /usr/ccs/bin/as: "/var/tmp//ccg60S0d.s", line 13: error: invalid character (0xbc) /usr/ccs/bin/as: "/var/tmp//ccg60S0d.s", line 13: error: invalid number of operands /usr/ccs/bin/as: "/var/tmp//ccg60S0d.s", line 13: error: statement syntax /usr/ccs/bin/as: "/var/tmp//ccg60S0d.s", line 14: error: unknown opcode "_D6ddoc127r" /usr/ccs/bin/as: "/var/tmp//ccg60S0d.s", line 14: error: invalid character (0xc3) /usr/ccs/bin/as: "/var/tmp//ccg60S0d.s", line 14: error: invalid character (0xbc) /usr/ccs/bin/as: "/var/tmp//ccg60S0d.s", line 14: error: statement syntax compiler exited with status 1 PASS: gdc.test/compilable/ddoc12.d (test for excess errors) FAIL: gdc.test/compilable/ddoc12.d output-exists ddoc12.o while on i386 I get: Assembler: ddoc12.d "/var/tmp//ccyEVXoa.s", line 10 : Syntax error Near line: " .globl _D6ddoc127rühredi" "/var/tmp//ccyEVXoa.s", line 10 : Syntax error Near line: " .globl _D6ddoc127rühredi" "/var/tmp//ccyEVXoa.s", line 10 : Syntax error Near line: " .globl _D6ddoc127rühredi" "/var/tmp//ccyEVXoa.s", line 12 : Syntax error Near line: " .type _D6ddoc127rühredi, @tls_obj" "/var/tmp//ccyEVXoa.s", line 12 : Syntax error Near line: " .type _D6ddoc127rühredi, @tls_obj" "/var/tmp//ccyEVXoa.s", line 12 : Syntax error Near line: " .type _D6ddoc127rühredi, @tls_obj" "/var/tmp//ccyEVXoa.s", line 13 : Syntax error Near line: " .size _D6ddoc127rühredi, 4" "/var/tmp//ccyEVXoa.s", line 13 : Syntax error Near line: " .size _D6ddoc127rühredi, 4" "/var/tmp//ccyEVXoa.s", line 13 : Syntax error Near line: " .size _D6ddoc127rühredi, 4" "/var/tmp//ccyEVXoa.s", line 14 : Syntax error Near line: "_D6ddoc127rühredi:" "/var/tmp//ccyEVXoa.s", line 14 : Syntax error Near line: "_D6ddoc127rühredi:" "/var/tmp//ccyEVXoa.s", line 14 : Illegal mnemonic Near line: "_D6ddoc127rühredi:" "/var/tmp//ccyEVXoa.s", line 14 : Syntax error Near line: "_D6ddoc127rühredi:" "/var/tmp//ccyEVXoa.s", line 14 : Syntax error Near line: "_D6ddoc127rühredi:" compiler exited with status 1 PASS: compilable/ddoc12.d (test for excess errors) FAIL: compilable/ddoc12.d output-exists ddoc12.o The problem obviously is that the native assemblers don't support UTF-8 in identifiers (and I bet there are other non-gas assemblers that don't either). Besides, we again see the obnoxious effect of gdc-test.exp's // { dg-prune-output .* } which effectively masks all errors, letting the test for excess errors wrongly PASS.