‘__ctype_touplow_t’ and ‘__ctype_mask_t’ does not name a type

Jorge Ventura jorge.araujo.ventura at gmail.com
Thu Mar 14 18:58:24 UTC 2013


Subject: ‘__ctype_touplow_t’ and ‘__ctype_mask_t’ does not name a type


Hi,

I am trying to compile one code and I am getting the following errors:

buildroot-2013.02/output/host/usr/lib/gcc/i586-buildroot-linux-uclibc/4.6.3/../../../../i586-buildroot-linux-uclibc/include/c++/4.6.3/i586-buildroot-linux-uclibc/bits/ctype_base.h:47:19:
*error: ‘__ctype_touplow_t’ does not name a type
*
buildroot-2013.02/output/host/usr/lib/gcc/i586-buildroot-linux-uclibc/4.6.3/../../../../i586-buildroot-linux-uclibc/include/c++/4.6.3/i586-buildroot-linux-uclibc/bits/ctype_base.h:51:13:
*error: ‘__ctype_mask_t’ does not name a type*

Taking a look in the source ctype_base.h I found the comment:

namespace std _GLIBCXX_VISIBILITY(default)
{
_GLIBCXX_BEGIN_NAMESPACE_VERSION

  /// @brief  Base class for ctype.
  struct ctype_base
  {
    *// Note: In uClibc, the following two types depend on configuration.*

    // Non-standard typedefs.
    typedef const __ctype_touplow_t* __to_type;

    // 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 __ctype_mask_t      mask;
    static const mask upper     = _ISupper;
    static const mask lower     = _ISlower;
    static const mask alpha     = _ISalpha;

It seems that something is missing in my uClibc configuration that cause
the two types be undefined an include is missing in the code that I am
trying to compile.

Someone has any clue about this problem?

Thank you.


More information about the uClibc mailing list