This is the mail archive of the
libstdc++@gcc.gnu.org
mailing list for the libstdc++ project.
Re: [v3] Fix libstdc++/38368
H.J. Lu wrote:
> I think this caused:
>
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38411
>
I committed the below to solve the issue.
Paolo.
////////////////////
2008-12-05 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/38411
* testsuite/22_locale/numpunct/members/char/2.cc: Use is_IS instead
of fr_FR.
* testsuite/22_locale/numpunct/members/wchar_t/2.cc: Likewise.
* testsuite/22_locale/locale/cons/7.cc: Likewise.
Index: testsuite/22_locale/locale/cons/7.cc
===================================================================
*** testsuite/22_locale/locale/cons/7.cc (revision 142437)
--- testsuite/22_locale/locale/cons/7.cc (working copy)
***************
*** 2,8 ****
// 2001-01-19 Benjamin Kosnik <bkoz@redhat.com>
! // Copyright (C) 2001, 2003, 2005 Free Software Foundation
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
--- 2,9 ----
// 2001-01-19 Benjamin Kosnik <bkoz@redhat.com>
! // Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
! // Free Software Foundation
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
*************** test02()
*** 37,45 ****
// construct a locale object with the specialized facet.
locale loc_c = locale::classic();
! locale loc_fr = locale("fr_FR");
locale loc_1(locale::classic(),
! new numpunct_byname<char>("fr_FR"));
// check names
VERIFY( loc_c.name() == name_c );
--- 38,46 ----
// construct a locale object with the specialized facet.
locale loc_c = locale::classic();
! locale loc_is = locale("is_IS");
locale loc_1(locale::classic(),
! new numpunct_byname<char>("is_IS"));
// check names
VERIFY( loc_c.name() == name_c );
*************** test02()
*** 58,64 ****
const numpunct<char>& nump_1 = use_facet<numpunct<char> >(loc_1);
const numpunct<char>& nump_2 = use_facet<numpunct<char> >(loc_2);
const numpunct<char>& nump_c = use_facet<numpunct<char> >(loc_c);
! const numpunct<char>& nump_fr = use_facet<numpunct<char> >(loc_fr);
// sanity check the data is correct.
char dp1 = nump_c.decimal_point();
--- 59,65 ----
const numpunct<char>& nump_1 = use_facet<numpunct<char> >(loc_1);
const numpunct<char>& nump_2 = use_facet<numpunct<char> >(loc_2);
const numpunct<char>& nump_c = use_facet<numpunct<char> >(loc_c);
! const numpunct<char>& nump_is = use_facet<numpunct<char> >(loc_is);
// sanity check the data is correct.
char dp1 = nump_c.decimal_point();
*************** test02()
*** 79,89 ****
string t3 = nump_2.truename();
string f3 = nump_2.falsename();
! char dp4 = nump_fr.decimal_point();
! char th4 = nump_fr.thousands_sep();
! string g4 = nump_fr.grouping();
! string t4 = nump_fr.truename();
! string f4 = nump_fr.falsename();
VERIFY( dp1 != dp2 );
VERIFY( th1 != th2 );
--- 80,90 ----
string t3 = nump_2.truename();
string f3 = nump_2.falsename();
! char dp4 = nump_is.decimal_point();
! char th4 = nump_is.thousands_sep();
! string g4 = nump_is.grouping();
! string t4 = nump_is.truename();
! string f4 = nump_is.falsename();
VERIFY( dp1 != dp2 );
VERIFY( th1 != th2 );
Index: testsuite/22_locale/numpunct/members/wchar_t/2.cc
===================================================================
*** testsuite/22_locale/numpunct/members/wchar_t/2.cc (revision 142437)
--- testsuite/22_locale/numpunct/members/wchar_t/2.cc (working copy)
*************** void test02()
*** 34,50 ****
// basic construction
locale loc_c = locale::classic();
locale loc_us = locale("en_US");
! locale loc_fr = locale("fr_FR");
locale loc_de = locale("de_DE");
VERIFY( loc_c != loc_de );
! VERIFY( loc_us != loc_fr );
VERIFY( loc_us != loc_de );
! VERIFY( loc_de != loc_fr );
// cache the numpunct facets
const numpunct<wchar_t>& nump_c = use_facet<numpunct<wchar_t> >(loc_c);
const numpunct<wchar_t>& nump_us = use_facet<numpunct<wchar_t> >(loc_us);
! const numpunct<wchar_t>& nump_fr = use_facet<numpunct<wchar_t> >(loc_fr);
const numpunct<wchar_t>& nump_de = use_facet<numpunct<wchar_t> >(loc_de);
// sanity check the data is correct.
--- 34,50 ----
// basic construction
locale loc_c = locale::classic();
locale loc_us = locale("en_US");
! locale loc_is = locale("is_IS");
locale loc_de = locale("de_DE");
VERIFY( loc_c != loc_de );
! VERIFY( loc_us != loc_is );
VERIFY( loc_us != loc_de );
! VERIFY( loc_de != loc_is );
// cache the numpunct facets
const numpunct<wchar_t>& nump_c = use_facet<numpunct<wchar_t> >(loc_c);
const numpunct<wchar_t>& nump_us = use_facet<numpunct<wchar_t> >(loc_us);
! const numpunct<wchar_t>& nump_is = use_facet<numpunct<wchar_t> >(loc_is);
const numpunct<wchar_t>& nump_de = use_facet<numpunct<wchar_t> >(loc_de);
// sanity check the data is correct.
*************** void test02()
*** 58,68 ****
wstring t2 = nump_us.truename();
wstring f2 = nump_us.falsename();
! wchar_t dp3 = nump_fr.decimal_point();
! wchar_t th3 = nump_fr.thousands_sep();
! string g3 = nump_fr.grouping();
! wstring t3 = nump_fr.truename();
! wstring f3 = nump_fr.falsename();
wchar_t dp4 = nump_de.decimal_point();
wchar_t th4 = nump_de.thousands_sep();
--- 58,68 ----
wstring t2 = nump_us.truename();
wstring f2 = nump_us.falsename();
! wchar_t dp3 = nump_is.decimal_point();
! wchar_t th3 = nump_is.thousands_sep();
! string g3 = nump_is.grouping();
! wstring t3 = nump_is.truename();
! wstring f3 = nump_is.falsename();
wchar_t dp4 = nump_de.decimal_point();
wchar_t th4 = nump_de.thousands_sep();
Index: testsuite/22_locale/numpunct/members/char/2.cc
===================================================================
*** testsuite/22_locale/numpunct/members/char/2.cc (revision 142437)
--- testsuite/22_locale/numpunct/members/char/2.cc (working copy)
***************
*** 2,8 ****
// 2001-01-17 Benjamin Kosnik <bkoz@redhat.com>
! // Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
--- 2,9 ----
// 2001-01-17 Benjamin Kosnik <bkoz@redhat.com>
! // Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
! // Free Software Foundation
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
*************** void test02()
*** 34,50 ****
// basic construction
locale loc_c = locale::classic();
locale loc_us = locale("en_US");
! locale loc_fr = locale("fr_FR");
locale loc_de = locale("de_DE");
VERIFY( loc_c != loc_de );
! VERIFY( loc_us != loc_fr );
VERIFY( loc_us != loc_de );
! VERIFY( loc_de != loc_fr );
// cache the numpunct facets
const numpunct<char>& nump_c = use_facet<numpunct<char> >(loc_c);
const numpunct<char>& nump_us = use_facet<numpunct<char> >(loc_us);
! const numpunct<char>& nump_fr = use_facet<numpunct<char> >(loc_fr);
const numpunct<char>& nump_de = use_facet<numpunct<char> >(loc_de);
// sanity check the data is correct.
--- 35,51 ----
// basic construction
locale loc_c = locale::classic();
locale loc_us = locale("en_US");
! locale loc_is = locale("is_IS");
locale loc_de = locale("de_DE");
VERIFY( loc_c != loc_de );
! VERIFY( loc_us != loc_is );
VERIFY( loc_us != loc_de );
! VERIFY( loc_de != loc_is );
// cache the numpunct facets
const numpunct<char>& nump_c = use_facet<numpunct<char> >(loc_c);
const numpunct<char>& nump_us = use_facet<numpunct<char> >(loc_us);
! const numpunct<char>& nump_is = use_facet<numpunct<char> >(loc_is);
const numpunct<char>& nump_de = use_facet<numpunct<char> >(loc_de);
// sanity check the data is correct.
*************** void test02()
*** 58,68 ****
string t2 = nump_us.truename();
string f2 = nump_us.falsename();
! char dp3 = nump_fr.decimal_point();
! char th3 = nump_fr.thousands_sep();
! string g3 = nump_fr.grouping();
! string t3 = nump_fr.truename();
! string f3 = nump_fr.falsename();
char dp4 = nump_de.decimal_point();
char th4 = nump_de.thousands_sep();
--- 59,69 ----
string t2 = nump_us.truename();
string f2 = nump_us.falsename();
! char dp3 = nump_is.decimal_point();
! char th3 = nump_is.thousands_sep();
! string g3 = nump_is.grouping();
! string t3 = nump_is.truename();
! string f3 = nump_is.falsename();
char dp4 = nump_de.decimal_point();
char th4 = nump_de.thousands_sep();