summaryrefslogtreecommitdiff
path: root/libstdc++-v3/testsuite/abi/demangle/regression/cw-10.cc
diff options
context:
space:
mode:
authorBenjamin Kosnik <bkoz@redhat.com>2006-10-09 23:53:35 +0000
committerBenjamin Kosnik <bkoz@gcc.gnu.org>2006-10-09 23:53:35 +0000
commit3c6430a3146d2961f538cc733930118318493a0e (patch)
tree9183031544ef3b0acec40a21d55f5512e2b17b72 /libstdc++-v3/testsuite/abi/demangle/regression/cw-10.cc
parent175ff229587ac8bd05d302befa738fb4bddca623 (diff)
downloadgcc-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.cc52
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;
+}