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.