1// { dg-options "-std=gnu++0x" } 2// { dg-require-cstdint "" } 3 4// 2009-11-10 Benjamin Kosnik <benjamin@redhat.com> 5 6// Copyright (C) 2009 Free Software Foundation, Inc. 7// 8// This file is part of the GNU ISO C++ Library. This library is free 9// software; you can redistribute it and/or modify it under the 10// terms of the GNU General Public License as published by the 11// Free Software Foundation; either version 3, or (at your option) 12// any later version. 13 14// This library is distributed in the hope that it will be useful, 15// but WITHOUT ANY WARRANTY; without even the implied warranty of 16// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17// GNU General Public License for more details. 18 19// You should have received a copy of the GNU General Public License along 20// with this library; see the file COPYING3. If not see 21// <http://www.gnu.org/licenses/>. 22 23#include <ext/vstring.h> 24#include <exception/safety.h> 25 26void 27value() 28{ 29#if 1 30 typedef char value_type; 31#else 32 // XXX 33 // __gnu_cxx::__rc_string_base<>::_Rep::_M_align��� with constructor 34 // not allowed in union 35 // typedef __gnu_cxx::throw_value_limit value_type; 36#endif 37 typedef __gnu_cxx::throw_allocator_limit<value_type> allocator_type; 38 typedef std::char_traits<value_type> traits_type; 39 40 typedef __gnu_cxx::__versa_string<value_type, traits_type, 41 allocator_type, __gnu_cxx::__rc_string_base> test_type_rc; 42 43 typedef __gnu_cxx::__versa_string<value_type, traits_type, 44 allocator_type, __gnu_cxx::__sso_string_base> test_type_sso; 45 46 __gnu_test::basic_safety<test_type_rc> test_rc; 47 __gnu_test::basic_safety<test_type_sso> test_sso; 48} 49 50// Container requirement testing, exceptional behavior 51int main() 52{ 53 value(); 54 return 0; 55} 56