On 08/06/15 09:59 -0600, Martin Sebor wrote:
On 06/08/2015 09:12 AM, Jonathan Wakely wrote:
The linker script assumes that std::mbstate_t has the name __mbstate_t
for linkage purposes, but that's not necessarily true. For mingw32
it's just a typedef for int, so the patterns don't match.

This adds a new mingw32-specific pattern for codecvt_byname's
constructors and destructors, and relaxes the patterns for
codecvt<charNN_t, char, mbstate_t> so they match __mbstate_t or int.

As a data point, in case other targets have a similar issue,
mbstate_t is a typedef for char* on AIX, and (based on my
old notes) typedef struct mbstate_t on HP-UX.

(It is a typedef struct __mbstate_t on Darwin and Solaris.)

That is useful, thanks.

AIX and HP-UX don't use that linker script, so it's not a problem (for
now) that it assumes __mbstate_t.

Reply via email to