Hi,
Excerpts from Rainer Orth's message of Februar 16, 2026 9:34 am:
> Since int8_t etc. have been changed to conform to C99 on Solaris by
>
> commit 0a48b1fe9866556ce41295d1e3b739c608ea5f22
> Author: Rainer Orth <[email protected]>
> Date: Sun Feb 15 23:11:44 2026 +0100
>
> Change int8_t to signed char on Solaris [PR113450,PR123176]
>
PR123509 ?
> a couple of D test fail:
>
> UNRESOLVED: gdc.test/runnable_cxx/stdint.d compilation failed to produce
> executable
>
> Undefined first referenced
> symbol in file
> _Z15testCppI8Manglechchch /var/tmp//ccJLlOBa.o
>
> FAIL: libphobos.phobos/std_complex.d execution test
> FAIL: libphobos.phobos/std_format_package.d execution test
> FAIL: libphobos.phobos/std_format_write.d execution test
> FAIL: libphobos.phobos/std_math_hardware.d execution test
> FAIL: libphobos.phobos/std_typecons.d execution test
>
> This happens because the mangling of int8_t was changed.
>
> The probably can easily avoided by adjusting libdruntime's idea of
> int8_t as in the attached patch.
>
> Bootstrapped without regressions on i386-pc-solaris2.11 and
> sparc-sun-solaris2.11.
>
> Ok for trunk?
>
> In general, libphobos patches need to go upstream first. In this case,
> however, the change is specific to GCC trunk since it depends on the
> fixed definitions of int8_t etc., so it may be TRT to apply it to the
> GCC tree only.
>
It should go upstream anyway to avoid any accidental revertion.
I'd want to check in with the LDC devs first whether they are OK with this
change as-is.
If it's just GCC that needs these redefined aliases, then it would be OK to
wrap these around the version (GNU) condition, making it explicit that it's
only for us.
else version (Solaris)
{
version (GNU)
alias int8_t = byte; ///
else
alias int8_t = char; ///
Repeat for the others.
Regards,
Iain.