patches for libstdc++ in #64271 (bootstrap on NetBSD)

Jonathan Wakely jwakely@redhat.com
Mon Dec 15 11:07:00 GMT 2014


On 11/12/14 19:22 +0100, Kai-Uwe Eckhardt wrote:
>--- libstdc++-v3/config/os/bsd/netbsd/ctype_base.h.orig	2014-12-10 22:18:50.000000000 +0100
>+++ libstdc++-v3/config/os/bsd/netbsd/ctype_base.h	2014-12-10 22:20:31.000000000 +0100
>@@ -43,9 +43,22 @@
>
>     // NB: Offsets into ctype<char>::_M_table force a particular size
>     // on the mask type. Because of this, we don't use an enum.
>-    typedef unsigned char      	mask;
>
>-#ifndef _CTYPE_U
>+#if defined(_CTYPE_BL)

What is _CTYPE_BL? If it corresponds to the "blank" character class
then I would expect the ctype_base::blank mask to be changed by this
patch as well.

>+    typedef unsigned short      mask;

As I said in the Bugzilla comments, changing this type alters the ABI
for NetBSD.  Are C++ binaries compiled with NetBSD 5.0 expected to run
unchanged on NetBSD 7.0? Or is an ABI break acceptable for the target?

The other changes are OK, although they probably don't solve the
problem in isolation without the ctype_base.h changes.



More information about the Libstdc++ mailing list