This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug d/88039] New: gdc.test/compilable/ddoc12.d FAILs


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.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]