[Bug d/104953] New: [12 regression] Several gdc and libphobos tests FAIL on Solaris

ro at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Wed Mar 16 12:35:30 GMT 2022


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104953

            Bug ID: 104953
           Summary: [12 regression] Several gdc and libphobos tests FAIL
                    on Solaris
           Product: gcc
           Version: 12.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.11

The recent dmd/druntime/phobos v2.099.0 import caused quite a number of
regressions on Solaris, sparc and x86, 32 and 64-bit:

+FAIL: gdc.test/compilable/dtorfields_deprecation.d   output-exists
dtorfields_deprecation.s

compilable/dtorfields_deprecation.d:30:5: error: 'pure' constructor
'dtorfields_deprecation.Pure.this' cannot call impure destructor
'dtorfields_deprecation.Pure.~this'
compilable/dtorfields_deprecation.d:27:1: note: generated 'Pure.~this' is
impure because of the following field's destructors:
compilable/dtorfields_deprecation.d:29:13: note:  - HasDtor member
compilable/dtorfields_deprecation.d:24:5: note:    impure 'HasDtor.~this' is
declared here
compilable/dtorfields_deprecation.d:42:5: error: '@nogc' constructor
'dtorfields_deprecation.NoGC.this' cannot call non-@nogc destructor
'dtorfields_deprecation.NoGC.~this'
compilable/dtorfields_deprecation.d:39:1: note: generated 'NoGC.~this' is
non-@nogc because of the following field's destructors:
compilable/dtorfields_deprecation.d:41:13: note:  - HasDtor member
compilable/dtorfields_deprecation.d:24:5: note:    non-@nogc 'HasDtor.~this' is
declared here
compilable/dtorfields_deprecation.d:48:5: error: '@safe' constructor
'dtorfields_deprecation.Safe.this' cannot call '@system' destructor
'dtorfields_deprecation.Safe.~this'
compilable/dtorfields_deprecation.d:45:1: note:
'dtorfields_deprecation.Safe.~this' is declared here
compilable/dtorfields_deprecation.d:45:1: note: generated 'Safe.~this' is
@system because of the following field's destructors:
compilable/dtorfields_deprecation.d:47:13: note:  - HasDtor member
compilable/dtorfields_deprecation.d:24:5: note:    @system 'HasDtor.~this' is
declared here

+FAIL: gdc.test/compilable/test9565.d   output-exists test9565.s

compilable/test9565.d:6:47: error: slice '[0..15]' exceeds array bounds
'[0..8]'
compilable/test9565.d:6:46: note: called from here: '__equals(s[0..m.length],
m)'
compilable/test9565.d:62:49: note: called from here: 'startsWith("arr[252]",
"arr[cast(ulong)")'
compilable/test9565.d:62:17: note: while evaluating: 'static
assert(startsWith("arr[252]", "arr[cast(ulong)"))'
compilable/test9565.d:6:47: error: slice '[0..15]' exceeds array bounds
'[0..8]'
compilable/test9565.d:6:46: note: called from here: '__equals(s[0..m.length],
m)'
compilable/test9565.d:68:45: note: called from here: 'startsWith("arr[252]",
"arr[cast(ulong)")'
compilable/test9565.d:68:13: note: while evaluating: 'static
assert(startsWith("arr[252]", "arr[cast(ulong)"))'

+UNRESOLVED: gdc.test/runnable/constfold.d   compilation failed to produce
executable
+UNRESOLVED: gdc.test/runnable/constfold.d -shared-libphobos   compilation
failed to produce executable

runnable/constfold.d:21:1: error: static assert:  '127 == -1' is false

  32 and 64-bit sparc and x86

+FAIL: libphobos.exceptions/assert_fail.d (test for excess errors)
+UNRESOLVED: libphobos.exceptions/assert_fail.d compilation failed to produce
executable

Excess errors:
/vol/gcc/src/hg/master/local/libphobos/testsuite/libphobos.exceptions/assert_fail.d:16:
error: uncaught CTFE exception
'core.exception.AssertError("Mismatch!\nExpected: <-128 != 127>\nActual:   <128
!= 127>")'
/vol/gcc/src/hg/master/local/libphobos/testsuite/libphobos.exceptions/assert_fail.d:576:
note: called from here: 'main()'

+FAIL: libphobos.phobos/std/algorithm/searching.d execution test

core.exception.AssertError@/vol/gcc/src/hg/master/local/libphobos/testsuite/../src/std/algorithm/searching.d(1824):
Assertion failure

+FAIL: libphobos.phobos/std/bitmanip.d execution test

core.exception.AssertError@/vol/gcc/src/hg/master/local/libphobos/testsuite/../src/std/bitmanip.d(2910):
unittest failure

+FAIL: libphobos.phobos/std/conv.d (test for excess errors)
+UNRESOLVED: libphobos.phobos/std/conv.d compilation failed to produce
executable

Excess errors:
/vol/gcc/src/hg/master/local/libphobos/testsuite/../src/std/conv.d:1552: error:
static assert:  "minimum value of T must be smaller than 0"
/vol/gcc/src/hg/master/local/libphobos/testsuite/../src/std/conv.d:224: note:
instantiated from here: 'toImpl!(byte, int)'
/vol/gcc/src/hg/master/local/libphobos/testsuite/../src/std/conv.d:268: note:
instantiated from here: 'to!int'

+FAIL: libphobos.phobos/std/format/internal/write.d (test for excess errors)
+UNRESOLVED: libphobos.phobos/std/format/internal/write.d compilation failed to
produce executable

Excess errors:
/vol/gcc/src/hg/master/local/libphobos/src/std/exception.d:518: error: uncaught
CTFE exception 'core.exception.AssertError("expected one of `[\"-128\"]`,
result = `128`")'
/vol/gcc/src/hg/master/local/libphobos/src/std/exception.d:1887: note: called
from here: '(*function () pure @safe => true)()'
/vol/gcc/src/hg/master/local/libphobos/src/std/exception.d:1887: note: while
evaluating: 'static assert((*function () pure @safe => true)())'
/vol/gcc/src/hg/master/local/libphobos/testsuite/../src/std/format/internal/write.d:369:
error: template instance 'std.exception.assertCTFEable!(function () pure @safe
{
formatTest(cast(byte)128, "-128", 371u,
"/vol/gcc/src/hg/master/local/libphobos/testsuite/../src/std/format/internal/write.d");
formatTest(cast(byte)127, "127", 372u,
"/vol/gcc/src/hg/master/local/libphobos/testsuite/../src/std/format/internal/write.d");
formatTest(cast(short)-32768, "-32768", 373u,
"/vol/gcc/src/hg/master/local/libphobos/testsuite/../src/std/format/internal/write.d");
formatTest(cast(short)32767, "32767", 374u,
"/vol/gcc/src/hg/master/local/libphobos/testsuite/../src/std/format/internal/write.d");
formatTest(-2147483648, "-2147483648", 375u,
"/vol/gcc/src/hg/master/local/libphobos/testsuite/../src/std/format/internal/write.d");
formatTest(2147483647, "2147483647", 376u,
"/vol/gcc/src/hg/master/local/libphobos/testsuite/../src/std/format/internal/write.d");
formatTest(-9223372036854775808L, "-9223372036854775808", 377u,
"/vol/gcc/src/hg/master/local/libphobos/testsuite/../src/std/format/internal/write.d");
formatTest(9223372036854775807L, "9223372036854775807", 378u,
"/vol/gcc/src/hg/master/local/libphobos/testsuite/../src/std/format/internal/write.d");
formatTest(cast(ubyte)0u, "0", 380u,
"/vol/gcc/src/hg/master/local/libphobos/testsuite/../src/std/format/internal/write.d");
formatTest(cast(ubyte)255u, "255", 381u,
"/vol/gcc/src/hg/master/local/libphobos/testsuite/../src/std/format/internal/write.d");
formatTest(cast(ushort)0u, "0", 382u,
"/vol/gcc/src/hg/master/local/libphobos/testsuite/../src/std/format/internal/write.d");
formatTest(cast(ushort)65535u, "65535", 383u,
"/vol/gcc/src/hg/master/local/libphobos/testsuite/../src/std/format/internal/write.d");
formatTest(0u, "0", 384u,
"/vol/gcc/src/hg/master/local/libphobos/testsuite/../src/std/format/internal/write.d");
formatTest(4294967295u, "4294967295", 385u,
"/vol/gcc/src/hg/master/local/libphobos/testsuite/../src/std/format/internal/write.d");
formatTest(0LU, "0", 386u,
"/vol/gcc/src/hg/master/local/libphobos/testsuite/../src/std/format/internal/write.d");
formatTest(18446744073709551615LU, "18446744073709551615", 387u,
"/vol/gcc/src/hg/master/local/libphobos/testsuite/../src/std/format/internal/write.d");
}
)' error instantiating

+FAIL: libphobos.phobos/std/math/traits.d (test for excess errors)
+UNRESOLVED: libphobos.phobos/std/math/traits.d compilation failed to produce
executable

Excess errors:
/vol/gcc/src/hg/master/local/libphobos/testsuite/../src/std/math/traits.d:850:
error: static assert:  '!isPowerOf2(cast(byte)128)' is false

+FAIL: libphobos.phobos/std/random.d (test for excess errors)
+UNRESOLVED: libphobos.phobos/std/random.d compilation failed to produce
executable

Excess errors:
/vol/gcc/src/hg/master/local/libphobos/testsuite/../src/std/random.d:2350:
error: cannot implicitly convert expression '138' of type 'int' to 'byte'

+FAIL: libphobos.phobos/std/range/package.d execution test

core.exception.AssertError@/vol/gcc/src/hg/master/local/libphobos/testsuite/../src/std/range/package.d(10514):
unittest failure

AFAICS many (it not all) are due to the stdint.d changes.


More information about the Gcc-bugs mailing list