[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug #57406] mbsinit.c fails to compile with GCC 9.2.0 on MinGW-w64 (i68
[bug #57406] mbsinit.c fails to compile with GCC 9.2.0 on MinGW-w64 (i686)
Tue, 17 Dec 2019 05:10:15 -0500 (EST)
Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:70.0) Gecko/20100101 Firefox/70.0
Update of bug #57406 (project gettext):
Status: Need Info => Fixed
Assigned to: None => haible
Open/Closed: Open => Closed
Follow-up Comment #5:
Thank you for your explanations; it saved me a couple of hours of
> the first patch is included in the v7.0.0 stable release from November.
OK, I've looked at this release and pushed a (probable) fix into gnulib:
It will propagate into packages over time. So that you can test it now, I've
built a testdir from the gnulib sources:
> Since a couple years, mingw-w64 can be configured to use the new Windows 10
I didn't know of this. I'm always using and testing what the mingw-w64
packages from Cygwin give me by default.
> Currently with UCRT, there's only a header inline definition of mbsinit
1) POSIX mandates and gnulib expects that functions are actually available as
2) Gnulib cannot attach a warning message to an inline function, only to
functions declared with an 'extern' prototype,
this is likely to cause trouble.
Possibly symptoms of this trouble are:
- a syntax error in gnulib's wchar.h override,
- a compilation failure in test-wchar.c or test-wchar-c++.cc.
This trouble can be worked around in gnulib, of course, but it would be better
if it were not present in the first place.
> If I make mingw-w64 provide an mbsinit function in libraries for UCRT (the
second patch above), the gnulib build breaks ...
> I don't know off-hand what the best path forward would be.
How about simply waiting one year or two, then only add the mbsinit function
in mingw-w64? This would give the packages (bison, coreutils, cpio, diffutils,
gettext, grep, sed, tar, ...) time to pick up the gnulib change from today and
prepare a new release.
The 7.0.0 release is out of the door; therefore third-party software must
interoperate with it, regardless whether you add the mbsinit function now in
7.0.1 or later in 7.x.
Reply to this item at:
Message sent via Savannah