This is the mail archive of the
mailing list for the GCC project.
RE: [Patch/mingw32] Don't depend on MS runtime for classic ctype table.\
- From: Danny Smith <dannysmith at clear dot net dot nz>
- To: 'Paolo Carlini' <pcarlini at suse dot de>
- Cc: 'GCC-patches' <gcc-patches at gcc dot gnu dot org>, libstdc++ at gcc dot gnu dot org
- Date: Wed, 11 Jul 2007 15:48:33 +1200
- Subject: RE: [Patch/mingw32] Don't depend on MS runtime for classic ctype table.\
Wednesday, 11 July 2007 11:07 a.m.
> >However, I think a better fix would be construct a generic
> static const
> >ctype_base::mask _S_classic_table in
> >config/os/generic/ctype_noninline.h and just let mingw32 use
> the generic
> >code. I note that newlib (maybe others) has similar problem
> to mingw32,
> >but it is not exposed because newlib doesn't define
> did you analyze already which is the impact of these changes
> on binary
> compatibility? I suspect there may be problems, in particular when
> linking together objects pre and post changes (besides the symbols
> exported by the binary library itself)
Indeed there are problems in library compatibility. An example is
ctype<wchar_t>:: do_is in ctype_members.cc.
If an object uses pre-change masks from old ctype_base.h and links in a
post-change _M_wmask from lib.
The last mingw.org release of gcc was based on 3.4.5
(_GLIBCXX_USE_WCHAR_T not defined). I believe that gcc 4.3.0 will be the
first really stable and useful version for mingw since 3.4.x. So I'm not
too concerned about this ABI breakage for ming32 target. I'm more
concerned about getting this cleaned up ASAP so we can start adding real
support for locale using native w32api local support. If any mingw
users feel differently, please speak up. I'll hold off committing the
mingw32 config patch for 72 hours.
> In the light of those concerns, I think it's better for now
> to restrict
> the fixes to the mingw32 config, over which you have complete
> jurisdiction, and maybe reconsider the whole issue later,
> maybe fluently
> when we decide to break binary compatibility generally.