1// 2003-02-26 Carlo Wood <carlo@alinoe.com> 2 3// Copyright (C) 2003 Free Software Foundation, Inc. 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 2, 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 COPYING. If not, write to the Free 18// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, 19// USA. 20 21// IA 64 C++ ABI - 5.1 External Names (a.k.a. Mangling) 22 23#include <testsuite_hooks.h> 24 25// libcwd tests 26int main() 27{ 28 using namespace __gnu_test; 29 30/* 31namespace std { 32 template<bool b, int i> 33 class __default_alloc_template { }; 34 35 template<typename CHAR> 36 class string_char_traits { }; 37 38 template<class BASIC_STRING, class ADAPTOR> 39 struct _Alloc_traits { 40 static char _S_instanceless; 41 }; 42 template<class BASIC_STRING, class ADAPTOR> 43 char _Alloc_traits<BASIC_STRING, ADAPTOR>::_S_instanceless; 44} 45namespace libcw { 46 namespace debug { 47 namespace _private_ { 48 template<typename CHAR, class ALLOCATOR, bool b> 49 class allocator_adaptor { }; 50 } 51 } 52} 53 54char x; 55void q(void) 56{ 57 std::_Alloc_traits< 58 std::basic_string< 59 char, 60 std::string_char_traits<char>, 61 libcw::debug::_private_::allocator_adaptor< 62 char, 63 std::__default_alloc_template<false, 327664>, 64 true 65 > 66 >, 67 libcw::debug::_private_::allocator_adaptor< 68 std::basic_string< 69 char, 70 std::string_char_traits<char>, 71 libcw::debug::_private_::allocator_adaptor< 72 char, 73 std::__default_alloc_template<false, 327664>, 74 true 75 > 76 >, 77 std::__default_alloc_template<false, 327664>, 78 true 79 > 80 > dummy1; 81 x = dummy1._S_instanceless; 82} 83*/ 84 // cplus-dem FAIL 85 verify_demangle("_ZNSt13_Alloc_traitsISbIcSt18string_char_traitsIcEN5libcw5debug9_private_17allocator_adaptorIcSt24__default_alloc_templateILb0ELi327664EELb1EEEENS5_IS9_S7_Lb1EEEE15_S_instancelessE","std::_Alloc_traits<std::basic_string<char, std::string_char_traits<char>, libcw::debug::_private_::allocator_adaptor<char, std::__default_alloc_template<false, 327664>, true> >, libcw::debug::_private_::allocator_adaptor<std::basic_string<char, std::string_char_traits<char>, libcw::debug::_private_::allocator_adaptor<char, std::__default_alloc_template<false, 327664>, true> >, std::__default_alloc_template<false, 327664>, true> >::_S_instanceless"); 86 87 return 0; 88} 89