1// 2005-12-15 Paolo Carlini <pcarlini@suse.de> 2 3// Copyright (C) 2005, 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.1.2 - class locale::facet [lib.locale.facet] 21 22#include <stdexcept> 23#include <locale> 24#include <testsuite_hooks.h> 25 26// libstdc++/25421 27void test01() 28{ 29 bool test __attribute__((unused)) = true; 30 using namespace std; 31 32 try 33 { 34 new codecvt_byname<char, char, mbstate_t>("invalid-loc"); 35 new collate_byname<char>("invalid-loc"); 36 new ctype_byname<char>("invalid-loc"); 37 new messages_byname<char>("invalid-loc"); 38 new moneypunct_byname<char, true>("invalid-loc"); 39 new numpunct_byname<char>("invalid-loc"); 40 41#ifdef _GLIBCXX_USE_WCHAR_T 42 new codecvt_byname<wchar_t, char, mbstate_t>("invalid-loc"); 43 new collate_byname<wchar_t>("invalid-loc"); 44 new ctype_byname<wchar_t>("invalid-loc"); 45 new messages_byname<wchar_t>("invalid-loc"); 46 new moneypunct_byname<wchar_t, true>("invalid-loc"); 47 new numpunct_byname<wchar_t>("invalid-loc"); 48#endif 49 } 50 catch(const std::runtime_error&) 51 { 52 // named locale not valid 53 VERIFY( true ); 54 } 55 catch(...) 56 { 57 // some other error 58 VERIFY( false ); 59 } 60} 61 62int main() 63{ 64 test01(); 65 return 0; 66} 67