Hi Iain,
> 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 ?
right: I'd included that in the subject and ChangeLog snippet below.
>> 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.
Good point. Could you take care of that or should I try it?
> I'd want to check in with the LDC devs first whether they are OK with this
> change as-is.
TBH I have no idea at all how LDC fares on Solaris and in general. At
least DMD itself has no SPARC support at all, and an attempt to get it
to work on Solaris/x86 some time ago showed that there don't seem to be
many users to say the least, given the effort it took to get it to build
and run the testsuite.
> 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.
At the moment that would certainly work, given that only GCC 16+ with
the fixinclude'd headers would have the signed char int8_t etc. Clang
doesn't know about them, and it's unclear how long it will take until
the change makes it into the Solaris headers.
Rainer
--
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University