1// { dg-require-namedlocale "" } 2 3// Copyright (C) 2009 Free Software Foundation 4// 5// This file is part of the GNU ISO C++ Library. This library is free 6// software; you can redistribute it and/or modify it under the 7// terms of the GNU General Public License as published by the 8// Free Software Foundation; either version 3, or (at your option) 9// any later version. 10 11// This library is distributed in the hope that it will be useful, 12// but WITHOUT ANY WARRANTY; without even the implied warranty of 13// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14// GNU General Public License for more details. 15 16// You should have received a copy of the GNU General Public License along 17// with this library; see the file COPYING3. If not see 18// <http://www.gnu.org/licenses/>. 19 20// 22.1.1.2 locale constructors and destructors [lib.locale.cons] 21 22#include <locale> 23#include <testsuite_hooks.h> 24 25// libstdc++/40184 26void test01() 27{ 28#ifdef _GLIBCXX_USE_WCHAR_T 29 using namespace std; 30 bool test __attribute__((unused)) = true; 31 32 locale locf(locale("C"), "ja_JP.eucjp", locale::monetary); 33 34 const moneypunct<wchar_t, false>& mpf = 35 use_facet<moneypunct<wchar_t, false> >(locf); 36 37 locale locf_copy(locf.name().c_str()); 38 const moneypunct<wchar_t, false>& mpf_copy = 39 use_facet<moneypunct<wchar_t, false> >(locf_copy); 40 41 VERIFY( mpf.curr_symbol() == mpf_copy.curr_symbol() ); 42 43 locale loct(locale("C"), "ja_JP.eucjp", locale::monetary); 44 45 const moneypunct<wchar_t, true>& mpt = 46 use_facet<moneypunct<wchar_t, true> >(loct); 47 48 locale loct_copy(loct.name().c_str()); 49 const moneypunct<wchar_t, true>& mpt_copy = 50 use_facet<moneypunct<wchar_t, true> >(loct_copy); 51 52 VERIFY( mpt.curr_symbol() == mpt_copy.curr_symbol() ); 53#endif 54} 55 56int main() 57{ 58 test01(); 59 return 0; 60} 61