Re: glibmm-2.16.4 compile error



-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi!

Chris Vine schrieb:
[...]
|
| Are you using some compiler trickery to force g++ to treat char as
| unsigned char (in particular, are you using a customised CXXFLAGS)?
|
No trickery, at least I'm not aware of any.

I did the test-compile with the usual "./configure; make"
commands.

| If not, this may be a glibmm bug because the standard library is
| obliged to provide specialisations of std::char_traits (including
| void std::char_traits<T>::assign(T&, const T&)) for the char type, but
| not for the unsigned char type. However 'grep assign
| glibmm-2.16.3/gio/giomm/*' and 'grep assign
| glibmm-2.16.3/glib/glibmm/*' does not reveal anything particularly
| supicious.  (I do not have glibmm-2.16.5.)
|

In the glibmm sources there are some headers with typdefs using
"unsigned char", for example in

./glib/glibmm/ustring.h
./glib/glibmm/value_basictypes.h

Perhaps one of those types is (directly or indirectly) used
as character type in the failing program and so is triggering
the use of char_traits<unsigned char> somewhere?

The "unsigned char" specialization for the char_traits is only
available for the char and wchar_t types (according to the docs
and e.g. <http://gcc.gnu.org/ml/libstdc++/2002-08/msg00098.html>)

The strange thing is: g++-4.2.2 also has specializations for char
and wchar_t types only (see /usr/include/c++/4.2.2/bits/char_traits.h)
so I'm wondering why no one else sees this problem (assuming I'm one
of the few guys left with gcc-3.3.4 and everyone else uses newer
compilers)

- - andreas

- --
Andreas Haumer                     | mailto:andreas xss co at
*x Software + Systeme              | http://www.xss.co.at/
Karmarschgasse 51/2/20             | Tel: +43-1-6060114-0
A-1100 Vienna, Austria             | Fax: +43-1-6060114-71
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFIorrJxJmyeGcXPhERAtSQAJ0WiRrO7UuA6Iv4WnE2K5OH1RqMfwCgpPFq
kzGcQFQ3fqIZzZSj3gT5QBg=
=6Ot9
-----END PGP SIGNATURE-----


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]