diff options
author | Benjamin Kosnik <bkoz@redhat.com> | 2006-10-09 23:53:35 +0000 |
---|---|---|
committer | Benjamin Kosnik <bkoz@gcc.gnu.org> | 2006-10-09 23:53:35 +0000 |
commit | 3c6430a3146d2961f538cc733930118318493a0e (patch) | |
tree | 9183031544ef3b0acec40a21d55f5512e2b17b72 /libstdc++-v3/testsuite/abi/demangle/regression/cw-10.cc | |
parent | 175ff229587ac8bd05d302befa738fb4bddca623 (diff) | |
download | gcc-3c6430a3146d2961f538cc733930118318493a0e.tar.gz |
re PR libstdc++/29095 (cxxabi.h __cxa_cdtor_type not declared when included from "C")
2006-10-09 Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/29095
* libsupc++/cxxabi.h (__cxa_cdtor_type): Explicit "C" linkage.
* config/cpu/arm/cxxabi_tweaks.h: Same.
* config/cpu/generic/cxxabi_tweaks.h: Same.
* testsuite/abi: Add.
* testsuite/abi/header_cxxabi.cc: New.
* testsuite/demangle: Move...
* testsuite/abi/demangle: ...here.
* testsuite/libstdc++-dg/conformance.exp: Adjust testsuite file
calculation.
* scripts/create_testsuite_files: Same.
* testsuite/lib/libstdc++.exp (v3_target_compile_as_c): New.
(libstdc++-dg-test): Use it.
From-SVN: r117589
Diffstat (limited to 'libstdc++-v3/testsuite/abi/demangle/regression/cw-10.cc')
-rw-r--r-- | libstdc++-v3/testsuite/abi/demangle/regression/cw-10.cc | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/libstdc++-v3/testsuite/abi/demangle/regression/cw-10.cc b/libstdc++-v3/testsuite/abi/demangle/regression/cw-10.cc new file mode 100644 index 00000000000..61fe7c9e8e4 --- /dev/null +++ b/libstdc++-v3/testsuite/abi/demangle/regression/cw-10.cc @@ -0,0 +1,52 @@ +// 2003-02-26 Carlo Wood <carlo@alinoe.com> + +// Copyright (C) 2003 Free Software Foundation, Inc. +// +// 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 +// terms of the GNU General Public License as published by the +// Free Software Foundation; either version 2, or (at your option) +// any later version. + +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// You should have received a copy of the GNU General Public License along +// with this library; see the file COPYING. If not, write to the Free +// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, +// USA. + +// IA 64 C++ ABI - 5.1 External Names (a.k.a. Mangling) + +#include <testsuite_hooks.h> + +// libcwd tests +int main() +{ + using namespace __gnu_test; + + +/* + +namespace std { + template<typename T1, typename T2, typename T3> + class D { }; + D<A*, A*&, A**> d; + template<typename T1, typename T2, typename T3> + D<T3, T3&, T3*> B(T1, T1, T2, T3*) { return d; } +} + +void o(void) +{ + std::D<A*, A* const&, A* const*> dummy1; + std::D<A*, A*&, A**> dummy2; + A* dummy3; + std::B(dummy1, dummy1, dummy2, &dummy3); +} +*/ + + verify_demangle("_ZSt1BISt1DIP1ARKS2_PS3_ES0_IS2_RS2_PS2_ES2_ET0_T_SB_SA_PT1_", "std::D<A*, A*&, A**> std::B<std::D<A*, A* const&, A* const*>, std::D<A*, A*&, A**>, A*>(std::D<A*, A* const&, A* const*>, std::D<A*, A* const&, A* const*>, std::D<A*, A*&, A**>, A**)"); + return 0; +} |