[Bug c++/15992] New: locale ctor throws for all valid locales on SunOS

sebor at roguewave dot com gcc-bugzilla@gcc.gnu.org
Tue Jun 15 00:51:00 GMT 2004


The program below behaves differently when compiled with gcc 3.3.2 and 3.4 on
SonOS 5.7: with 3.3.2, libstdc++ successfully constructs all installed locales,
while with 3.4 it fails to construct any at all (other than C and POSIX).

$ cat t.cpp
#include <locale>

int main (int argc, char *argv[])
{
    for (int i = 1; i < argc; ++i) {
        try {
            const std::locale loc (argv [i]);
        }
        catch (std::exception &e) {
            printf ("exception: %s: %s\n", argv [i], e.what ());
        }
    }
}

$ /build/contrib/gcc-3.3.2/bin/g++ --version && /build/contrib/gcc-3.3.2/bin/g++
t.cpp -static && ./a.out `locale -a`
g++ (GCC) 3.3.2
Copyright (C) 2003 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

$ g++ --version && g++ t.cpp -static && ./a.out `locale -a`
g++ (GCC) 3.4.0
Copyright (C) 2004 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

exception: th_TH: locale::facet::_S_create_c_locale name not valid
exception: th: locale::facet::_S_create_c_locale name not valid
exception: de: locale::facet::_S_create_c_locale name not valid
exception: de.ISO8859-15: locale::facet::_S_create_c_locale name not valid
exception: de.ISO8859-15@euro: locale::facet::_S_create_c_locale name not valid
exception: en_AU: locale::facet::_S_create_c_locale name not valid
exception: en_CA: locale::facet::_S_create_c_locale name not valid
exception: en_GB: locale::facet::_S_create_c_locale name not valid
exception: en_GB.ISO8859-15: locale::facet::_S_create_c_locale name not valid
exception: en_GB.ISO8859-15@euro: locale::facet::_S_create_c_locale name not valid
exception: en_US: locale::facet::_S_create_c_locale name not valid
exception: es: locale::facet::_S_create_c_locale name not valid
exception: es.ISO8859-15: locale::facet::_S_create_c_locale name not valid
exception: es.ISO8859-15@euro: locale::facet::_S_create_c_locale name not valid
exception: es_AR: locale::facet::_S_create_c_locale name not valid
exception: es_BO: locale::facet::_S_create_c_locale name not valid
exception: es_CL: locale::facet::_S_create_c_locale name not valid
exception: es_CO: locale::facet::_S_create_c_locale name not valid
exception: es_CR: locale::facet::_S_create_c_locale name not valid
exception: es_EC: locale::facet::_S_create_c_locale name not valid
exception: es_GT: locale::facet::_S_create_c_locale name not valid
exception: es_MX: locale::facet::_S_create_c_locale name not valid
exception: es_NI: locale::facet::_S_create_c_locale name not valid
exception: es_PA: locale::facet::_S_create_c_locale name not valid
exception: es_PE: locale::facet::_S_create_c_locale name not valid
exception: es_PY: locale::facet::_S_create_c_locale name not valid
exception: es_SV: locale::facet::_S_create_c_locale name not valid
exception: es_UY: locale::facet::_S_create_c_locale name not valid
exception: es_VE: locale::facet::_S_create_c_locale name not valid
exception: fr: locale::facet::_S_create_c_locale name not valid
exception: fr.ISO8859-15: locale::facet::_S_create_c_locale name not valid
exception: fr.ISO8859-15@euro: locale::facet::_S_create_c_locale name not valid
exception: it: locale::facet::_S_create_c_locale name not valid
exception: it.ISO8859-15: locale::facet::_S_create_c_locale name not valid
exception: it.ISO8859-15@euro: locale::facet::_S_create_c_locale name not valid
exception: sv: locale::facet::_S_create_c_locale name not valid
exception: sv.ISO8859-15: locale::facet::_S_create_c_locale name not valid
exception: sv.ISO8859-15@euro: locale::facet::_S_create_c_locale name not valid
exception: en_US.UTF-8: locale::facet::_S_create_c_locale name not valid
exception: bg_BG: locale::facet::_S_create_c_locale name not valid
exception: cz: locale::facet::_S_create_c_locale name not valid
exception: da: locale::facet::_S_create_c_locale name not valid
exception: da.ISO8859-15: locale::facet::_S_create_c_locale name not valid
exception: de_AT: locale::facet::_S_create_c_locale name not valid
exception: de_AT.ISO8859-15: locale::facet::_S_create_c_locale name not valid
exception: de_CH: locale::facet::_S_create_c_locale name not valid
exception: el: locale::facet::_S_create_c_locale name not valid
exception: el.sun_eu_greek: locale::facet::_S_create_c_locale name not valid
exception: en_IE: locale::facet::_S_create_c_locale name not valid
exception: en_IE.ISO8859-15: locale::facet::_S_create_c_locale name not valid
exception: en_NZ: locale::facet::_S_create_c_locale name not valid
exception: et: locale::facet::_S_create_c_locale name not valid
exception: fi: locale::facet::_S_create_c_locale name not valid
exception: fi.ISO8859-15: locale::facet::_S_create_c_locale name not valid
exception: fr_BE: locale::facet::_S_create_c_locale name not valid
exception: fr_BE.ISO8859-15: locale::facet::_S_create_c_locale name not valid
exception: fr_CA: locale::facet::_S_create_c_locale name not valid
exception: fr_CH: locale::facet::_S_create_c_locale name not valid
exception: hr_HR: locale::facet::_S_create_c_locale name not valid
exception: hu: locale::facet::_S_create_c_locale name not valid
exception: lt: locale::facet::_S_create_c_locale name not valid
exception: lv: locale::facet::_S_create_c_locale name not valid
exception: mk_MK: locale::facet::_S_create_c_locale name not valid
exception: nl: locale::facet::_S_create_c_locale name not valid
exception: nl.ISO8859-15: locale::facet::_S_create_c_locale name not valid
exception: nl_BE: locale::facet::_S_create_c_locale name not valid
exception: nl_BE.ISO8859-15: locale::facet::_S_create_c_locale name not valid
exception: no: locale::facet::_S_create_c_locale name not valid
exception: no_NY: locale::facet::_S_create_c_locale name not valid
exception: nr: locale::facet::_S_create_c_locale name not valid
exception: pl: locale::facet::_S_create_c_locale name not valid
exception: pt: locale::facet::_S_create_c_locale name not valid
exception: pt.ISO8859-15: locale::facet::_S_create_c_locale name not valid
exception: pt_BR: locale::facet::_S_create_c_locale name not valid
exception: ro_RO: locale::facet::_S_create_c_locale name not valid
exception: ru: locale::facet::_S_create_c_locale name not valid
exception: ru.koi8-r: locale::facet::_S_create_c_locale name not valid
exception: sk_SK: locale::facet::_S_create_c_locale name not valid
exception: sl_SI: locale::facet::_S_create_c_locale name not valid
exception: sq_AL: locale::facet::_S_create_c_locale name not valid
exception: sr_SP: locale::facet::_S_create_c_locale name not valid
exception: tr: locale::facet::_S_create_c_locale name not valid
exception: iso_8859_1: locale::facet::_S_create_c_locale name not valid
exception: ar: locale::facet::_S_create_c_locale name not valid
exception: da.ISO8859-15@euro: locale::facet::_S_create_c_locale name not valid
exception: de.UTF-8: locale::facet::_S_create_c_locale name not valid
exception: de.UTF-8@euro: locale::facet::_S_create_c_locale name not valid
exception: de_AT.ISO8859-15@euro: locale::facet::_S_create_c_locale name not valid
exception: el.sun_eu_greek@euro: locale::facet::_S_create_c_locale name not valid
exception: en_IE.ISO8859-15@euro: locale::facet::_S_create_c_locale name not valid
exception: es.UTF-8: locale::facet::_S_create_c_locale name not valid
exception: es.UTF-8@euro: locale::facet::_S_create_c_locale name not valid
exception: fi.ISO8859-15@euro: locale::facet::_S_create_c_locale name not valid
exception: fr.UTF-8: locale::facet::_S_create_c_locale name not valid
exception: fr.UTF-8@euro: locale::facet::_S_create_c_locale name not valid
exception: fr_BE.ISO8859-15@euro: locale::facet::_S_create_c_locale name not valid
exception: he: locale::facet::_S_create_c_locale name not valid
exception: he_IL: locale::facet::_S_create_c_locale name not valid
exception: it.UTF-8: locale::facet::_S_create_c_locale name not valid
exception: it.UTF-8@euro: locale::facet::_S_create_c_locale name not valid
exception: nl.ISO8859-15@euro: locale::facet::_S_create_c_locale name not valid
exception: nl_BE.ISO8859-15@euro: locale::facet::_S_create_c_locale name not valid
exception: pt.ISO8859-15@euro: locale::facet::_S_create_c_locale name not valid
exception: sv.UTF-8: locale::facet::_S_create_c_locale name not valid
exception: sv.UTF-8@euro: locale::facet::_S_create_c_locale name not valid

-- 
           Summary: locale ctor throws for all valid locales on SunOS
           Product: gcc
           Version: 3.4.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: c++
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: sebor at roguewave dot com
                CC: gcc-bugs at gcc dot gnu dot org
 GCC build triplet: sparc-sun-solaris2.7
  GCC host triplet: sparc-sun-solaris2.7
GCC target triplet: sparc-sun-solaris2.7


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15992



More information about the Gcc-bugs mailing list