re PR libstdc++/29095 (cxxabi.h __cxa_cdtor_type not declared when included from...
authorBenjamin Kosnik <bkoz@redhat.com>
Mon, 9 Oct 2006 23:53:35 +0000 (23:53 +0000)
committerBenjamin Kosnik <bkoz@gcc.gnu.org>
Mon, 9 Oct 2006 23:53:35 +0000 (23:53 +0000)
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

154 files changed:
libstdc++-v3/ChangeLog
libstdc++-v3/config/cpu/arm/cxxabi_tweaks.h
libstdc++-v3/config/cpu/generic/cxxabi_tweaks.h
libstdc++-v3/libsupc++/cxxabi.h
libstdc++-v3/scripts/create_testsuite_files
libstdc++-v3/testsuite/abi/demangle/abi_examples/01.cc [new file with mode: 0644]
libstdc++-v3/testsuite/abi/demangle/abi_examples/02.cc [new file with mode: 0644]
libstdc++-v3/testsuite/abi/demangle/abi_examples/03.cc [new file with mode: 0644]
libstdc++-v3/testsuite/abi/demangle/abi_examples/04.cc [new file with mode: 0644]
libstdc++-v3/testsuite/abi/demangle/abi_examples/05.cc [new file with mode: 0644]
libstdc++-v3/testsuite/abi/demangle/abi_examples/06.cc [new file with mode: 0644]
libstdc++-v3/testsuite/abi/demangle/abi_examples/07.cc [new file with mode: 0644]
libstdc++-v3/testsuite/abi/demangle/abi_examples/08.cc [new file with mode: 0644]
libstdc++-v3/testsuite/abi/demangle/abi_examples/09.cc [new file with mode: 0644]
libstdc++-v3/testsuite/abi/demangle/abi_examples/10.cc [new file with mode: 0644]
libstdc++-v3/testsuite/abi/demangle/abi_examples/11.cc [new file with mode: 0644]
libstdc++-v3/testsuite/abi/demangle/abi_examples/12.cc [new file with mode: 0644]
libstdc++-v3/testsuite/abi/demangle/abi_examples/13.cc [new file with mode: 0644]
libstdc++-v3/testsuite/abi/demangle/abi_examples/14.cc [new file with mode: 0644]
libstdc++-v3/testsuite/abi/demangle/abi_examples/15.cc [new file with mode: 0644]
libstdc++-v3/testsuite/abi/demangle/abi_examples/16.cc [new file with mode: 0644]
libstdc++-v3/testsuite/abi/demangle/abi_examples/17.cc [new file with mode: 0644]
libstdc++-v3/testsuite/abi/demangle/abi_examples/18.cc [new file with mode: 0644]
libstdc++-v3/testsuite/abi/demangle/abi_examples/19.cc [new file with mode: 0644]
libstdc++-v3/testsuite/abi/demangle/abi_examples/20.cc [new file with mode: 0644]
libstdc++-v3/testsuite/abi/demangle/abi_examples/21.cc [new file with mode: 0644]
libstdc++-v3/testsuite/abi/demangle/abi_examples/22.cc [new file with mode: 0644]
libstdc++-v3/testsuite/abi/demangle/abi_examples/23.cc [new file with mode: 0644]
libstdc++-v3/testsuite/abi/demangle/abi_examples/24.cc [new file with mode: 0644]
libstdc++-v3/testsuite/abi/demangle/abi_examples/25.cc [new file with mode: 0644]
libstdc++-v3/testsuite/abi/demangle/abi_examples/26.cc [new file with mode: 0644]
libstdc++-v3/testsuite/abi/demangle/abi_text/01.cc [new file with mode: 0644]
libstdc++-v3/testsuite/abi/demangle/abi_text/02.cc [new file with mode: 0644]
libstdc++-v3/testsuite/abi/demangle/abi_text/03.cc [new file with mode: 0644]
libstdc++-v3/testsuite/abi/demangle/abi_text/04.cc [new file with mode: 0644]
libstdc++-v3/testsuite/abi/demangle/abi_text/05.cc [new file with mode: 0644]
libstdc++-v3/testsuite/abi/demangle/abi_text/06.cc [new file with mode: 0644]
libstdc++-v3/testsuite/abi/demangle/abi_text/07.cc [new file with mode: 0644]
libstdc++-v3/testsuite/abi/demangle/abi_text/08.cc [new file with mode: 0644]
libstdc++-v3/testsuite/abi/demangle/abi_text/09.cc [new file with mode: 0644]
libstdc++-v3/testsuite/abi/demangle/abi_text/10.cc [new file with mode: 0644]
libstdc++-v3/testsuite/abi/demangle/abi_text/11.cc [new file with mode: 0644]
libstdc++-v3/testsuite/abi/demangle/abi_text/12.cc [new file with mode: 0644]
libstdc++-v3/testsuite/abi/demangle/abi_text/13.cc [new file with mode: 0644]
libstdc++-v3/testsuite/abi/demangle/abi_text/14.cc [new file with mode: 0644]
libstdc++-v3/testsuite/abi/demangle/regression/3111-1.cc [new file with mode: 0644]
libstdc++-v3/testsuite/abi/demangle/regression/3111-2.cc [new file with mode: 0644]
libstdc++-v3/testsuite/abi/demangle/regression/7986-01.cc [new file with mode: 0644]
libstdc++-v3/testsuite/abi/demangle/regression/7986-02.cc [new file with mode: 0644]
libstdc++-v3/testsuite/abi/demangle/regression/7986-03.cc [new file with mode: 0644]
libstdc++-v3/testsuite/abi/demangle/regression/7986-04.cc [new file with mode: 0644]
libstdc++-v3/testsuite/abi/demangle/regression/7986-05.cc [new file with mode: 0644]
libstdc++-v3/testsuite/abi/demangle/regression/7986-06.cc [new file with mode: 0644]
libstdc++-v3/testsuite/abi/demangle/regression/7986-07.cc [new file with mode: 0644]
libstdc++-v3/testsuite/abi/demangle/regression/7986-08.cc [new file with mode: 0644]
libstdc++-v3/testsuite/abi/demangle/regression/7986-09.cc [new file with mode: 0644]
libstdc++-v3/testsuite/abi/demangle/regression/7986-10.cc [new file with mode: 0644]
libstdc++-v3/testsuite/abi/demangle/regression/7986-11.cc [new file with mode: 0644]
libstdc++-v3/testsuite/abi/demangle/regression/7986-12.cc [new file with mode: 0644]
libstdc++-v3/testsuite/abi/demangle/regression/7986.cc [new file with mode: 0644]
libstdc++-v3/testsuite/abi/demangle/regression/8897.cc [new file with mode: 0644]
libstdc++-v3/testsuite/abi/demangle/regression/cw-01.cc [new file with mode: 0644]
libstdc++-v3/testsuite/abi/demangle/regression/cw-02.cc [new file with mode: 0644]
libstdc++-v3/testsuite/abi/demangle/regression/cw-03.cc [new file with mode: 0644]
libstdc++-v3/testsuite/abi/demangle/regression/cw-04.cc [new file with mode: 0644]
libstdc++-v3/testsuite/abi/demangle/regression/cw-05.cc [new file with mode: 0644]
libstdc++-v3/testsuite/abi/demangle/regression/cw-06.cc [new file with mode: 0644]
libstdc++-v3/testsuite/abi/demangle/regression/cw-07.cc [new file with mode: 0644]
libstdc++-v3/testsuite/abi/demangle/regression/cw-08.cc [new file with mode: 0644]
libstdc++-v3/testsuite/abi/demangle/regression/cw-09.cc [new file with mode: 0644]
libstdc++-v3/testsuite/abi/demangle/regression/cw-10.cc [new file with mode: 0644]
libstdc++-v3/testsuite/abi/demangle/regression/cw-11.cc [new file with mode: 0644]
libstdc++-v3/testsuite/abi/demangle/regression/cw-12.cc [new file with mode: 0644]
libstdc++-v3/testsuite/abi/demangle/regression/cw-13.cc [new file with mode: 0644]
libstdc++-v3/testsuite/abi/demangle/regression/cw-14.cc [new file with mode: 0644]
libstdc++-v3/testsuite/abi/demangle/regression/cw-15.cc [new file with mode: 0644]
libstdc++-v3/testsuite/abi/demangle/regression/cw-16.cc [new file with mode: 0644]
libstdc++-v3/testsuite/abi/demangle/regression/old.cc [new file with mode: 0644]
libstdc++-v3/testsuite/abi/header_cxxabi.c [new file with mode: 0644]
libstdc++-v3/testsuite/demangle/abi_examples/01.cc [deleted file]
libstdc++-v3/testsuite/demangle/abi_examples/02.cc [deleted file]
libstdc++-v3/testsuite/demangle/abi_examples/03.cc [deleted file]
libstdc++-v3/testsuite/demangle/abi_examples/04.cc [deleted file]
libstdc++-v3/testsuite/demangle/abi_examples/05.cc [deleted file]
libstdc++-v3/testsuite/demangle/abi_examples/06.cc [deleted file]
libstdc++-v3/testsuite/demangle/abi_examples/07.cc [deleted file]
libstdc++-v3/testsuite/demangle/abi_examples/08.cc [deleted file]
libstdc++-v3/testsuite/demangle/abi_examples/09.cc [deleted file]
libstdc++-v3/testsuite/demangle/abi_examples/10.cc [deleted file]
libstdc++-v3/testsuite/demangle/abi_examples/11.cc [deleted file]
libstdc++-v3/testsuite/demangle/abi_examples/12.cc [deleted file]
libstdc++-v3/testsuite/demangle/abi_examples/13.cc [deleted file]
libstdc++-v3/testsuite/demangle/abi_examples/14.cc [deleted file]
libstdc++-v3/testsuite/demangle/abi_examples/15.cc [deleted file]
libstdc++-v3/testsuite/demangle/abi_examples/16.cc [deleted file]
libstdc++-v3/testsuite/demangle/abi_examples/17.cc [deleted file]
libstdc++-v3/testsuite/demangle/abi_examples/18.cc [deleted file]
libstdc++-v3/testsuite/demangle/abi_examples/19.cc [deleted file]
libstdc++-v3/testsuite/demangle/abi_examples/20.cc [deleted file]
libstdc++-v3/testsuite/demangle/abi_examples/21.cc [deleted file]
libstdc++-v3/testsuite/demangle/abi_examples/22.cc [deleted file]
libstdc++-v3/testsuite/demangle/abi_examples/23.cc [deleted file]
libstdc++-v3/testsuite/demangle/abi_examples/24.cc [deleted file]
libstdc++-v3/testsuite/demangle/abi_examples/25.cc [deleted file]
libstdc++-v3/testsuite/demangle/abi_examples/26.cc [deleted file]
libstdc++-v3/testsuite/demangle/abi_text/01.cc [deleted file]
libstdc++-v3/testsuite/demangle/abi_text/02.cc [deleted file]
libstdc++-v3/testsuite/demangle/abi_text/03.cc [deleted file]
libstdc++-v3/testsuite/demangle/abi_text/04.cc [deleted file]
libstdc++-v3/testsuite/demangle/abi_text/05.cc [deleted file]
libstdc++-v3/testsuite/demangle/abi_text/06.cc [deleted file]
libstdc++-v3/testsuite/demangle/abi_text/07.cc [deleted file]
libstdc++-v3/testsuite/demangle/abi_text/08.cc [deleted file]
libstdc++-v3/testsuite/demangle/abi_text/09.cc [deleted file]
libstdc++-v3/testsuite/demangle/abi_text/10.cc [deleted file]
libstdc++-v3/testsuite/demangle/abi_text/11.cc [deleted file]
libstdc++-v3/testsuite/demangle/abi_text/12.cc [deleted file]
libstdc++-v3/testsuite/demangle/abi_text/13.cc [deleted file]
libstdc++-v3/testsuite/demangle/abi_text/14.cc [deleted file]
libstdc++-v3/testsuite/demangle/regression/3111-1.cc [deleted file]
libstdc++-v3/testsuite/demangle/regression/3111-2.cc [deleted file]
libstdc++-v3/testsuite/demangle/regression/7986-01.cc [deleted file]
libstdc++-v3/testsuite/demangle/regression/7986-02.cc [deleted file]
libstdc++-v3/testsuite/demangle/regression/7986-03.cc [deleted file]
libstdc++-v3/testsuite/demangle/regression/7986-04.cc [deleted file]
libstdc++-v3/testsuite/demangle/regression/7986-05.cc [deleted file]
libstdc++-v3/testsuite/demangle/regression/7986-06.cc [deleted file]
libstdc++-v3/testsuite/demangle/regression/7986-07.cc [deleted file]
libstdc++-v3/testsuite/demangle/regression/7986-08.cc [deleted file]
libstdc++-v3/testsuite/demangle/regression/7986-09.cc [deleted file]
libstdc++-v3/testsuite/demangle/regression/7986-10.cc [deleted file]
libstdc++-v3/testsuite/demangle/regression/7986-11.cc [deleted file]
libstdc++-v3/testsuite/demangle/regression/7986-12.cc [deleted file]
libstdc++-v3/testsuite/demangle/regression/7986.cc [deleted file]
libstdc++-v3/testsuite/demangle/regression/8897.cc [deleted file]
libstdc++-v3/testsuite/demangle/regression/cw-01.cc [deleted file]
libstdc++-v3/testsuite/demangle/regression/cw-02.cc [deleted file]
libstdc++-v3/testsuite/demangle/regression/cw-03.cc [deleted file]
libstdc++-v3/testsuite/demangle/regression/cw-04.cc [deleted file]
libstdc++-v3/testsuite/demangle/regression/cw-05.cc [deleted file]
libstdc++-v3/testsuite/demangle/regression/cw-06.cc [deleted file]
libstdc++-v3/testsuite/demangle/regression/cw-07.cc [deleted file]
libstdc++-v3/testsuite/demangle/regression/cw-08.cc [deleted file]
libstdc++-v3/testsuite/demangle/regression/cw-09.cc [deleted file]
libstdc++-v3/testsuite/demangle/regression/cw-10.cc [deleted file]
libstdc++-v3/testsuite/demangle/regression/cw-11.cc [deleted file]
libstdc++-v3/testsuite/demangle/regression/cw-12.cc [deleted file]
libstdc++-v3/testsuite/demangle/regression/cw-13.cc [deleted file]
libstdc++-v3/testsuite/demangle/regression/cw-14.cc [deleted file]
libstdc++-v3/testsuite/demangle/regression/cw-15.cc [deleted file]
libstdc++-v3/testsuite/demangle/regression/cw-16.cc [deleted file]
libstdc++-v3/testsuite/demangle/regression/old.cc [deleted file]
libstdc++-v3/testsuite/lib/libstdc++.exp
libstdc++-v3/testsuite/libstdc++-dg/conformance.exp

index f9123f136f1c1228771c6ce7d45e00897cd43495..c88fb9984b1b8ff4afc5a853b652eb788e7d02d7 100644 (file)
@@ -1,3 +1,19 @@
+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.
+       
 2006-10-09  Paolo Carlini  <pcarlini@suse.de>
 
        PR libstdc++/28277 (partial: __add_grouping)
index 76c8a36400e04360d5c5c918d1ca043cb4bd1a28..f8a1820b7343dff62ccde4ba3a2324422538d3e9 100644 (file)
@@ -1,6 +1,6 @@
 // Control various target specific ABI tweaks.  ARM version.
 
-// Copyright (C) 2004 Free Software Foundation, Inc.
+// Copyright (C) 2004, 2006 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
@@ -33,6 +33,8 @@
 #ifdef __cplusplus
 namespace __cxxabiv1
 {
+  extern "C" 
+  {
 #endif
 
 #ifdef __ARM_EABI__
@@ -67,7 +69,8 @@ namespace __cxxabiv1
 #endif //!__ARM_EABI__
 
 #ifdef __cplusplus
+  }
 } // namespace __cxxabiv1
 #endif
 
-#endif // __cxxabiv1
+#endif 
index 4b74805d8b045f3d10a704402e59e65ff2e3a9b6..4b1e7320851ccbb88be39094b4fed668cb5afae0 100644 (file)
@@ -1,6 +1,6 @@
 // Control various target specific ABI tweaks.  Generic version.
 
-// Copyright (C) 2004 Free Software Foundation, Inc.
+// Copyright (C) 2004, 2006 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
@@ -33,6 +33,8 @@
 #ifdef __cplusplus
 namespace __cxxabiv1
 {
+  extern "C" 
+  {
 #endif
 
   // The generic ABI uses the first byte of a 64-bit guard variable.
@@ -47,7 +49,8 @@ namespace __cxxabiv1
   typedef void __cxa_cdtor_return_type;
 
 #ifdef __cplusplus
+  }
 } // namespace __cxxabiv1
 #endif
 
-#endif // __cxxabiv1
+#endif 
index e7b2857bb22bdf152cff6e9ae9773a0b40a51b1d..c0418d825888f49f31a6a157852b439a17235824 100644 (file)
@@ -1,6 +1,6 @@
 // new abi support -*- C++ -*-
   
-// Copyright (C) 2000, 2002, 2003, 2004 Free Software Foundation, Inc.
+// Copyright (C) 2000, 2002, 2003, 2004, 2006 Free Software Foundation, Inc.
 //
 // This file is part of GCC.
 //
 #ifdef __cplusplus
 namespace __cxxabiv1
 {  
-  typedef __cxa_cdtor_return_type (*__cxa_cdtor_type)(void *);
-
   extern "C" 
   {
 #endif
 
+  typedef __cxa_cdtor_return_type (*__cxa_cdtor_type)(void *);
+
   // Allocate array.
   void* 
   __cxa_vec_new(size_t __element_count, size_t __element_size, 
index 74b2455d061e12cfff478bc66d8a60ced2d98c52..8d87e09d017012874a4ba4f3f11ae494104fc82c 100755 (executable)
@@ -32,7 +32,7 @@ cd $srcdir
 # This is the ugly version of "everything but the current directory".  It's
 # what has to happen when find(1) doesn't support -mindepth, or -xtype.
 dlist=`echo [0-9][0-9]*`
-dlist="$dlist backward demangle ext performance thread tr1"
+dlist="$dlist abi backward ext performance thread tr1"
 find $dlist "(" -type f -o -type l ")" -name "*.cc" -print > $tmp.01
 find $dlist "(" -type f -o -type l ")" -name "*.c" -print > $tmp.02
 cat  $tmp.01 $tmp.02 | sort > $tmp.1
diff --git a/libstdc++-v3/testsuite/abi/demangle/abi_examples/01.cc b/libstdc++-v3/testsuite/abi/demangle/abi_examples/01.cc
new file mode 100644 (file)
index 0000000..85cb59d
--- /dev/null
@@ -0,0 +1,39 @@
+// 2003-02-26 Benjamin Kosnik <bkoz@redhat.com>
+
+// Copyright (C) 2003, 2005 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>
+
+// Examples given in the IA64 C++ ABI 
+// http://www.codesourcery.com/cxx-abi/abi-examples.html#mangling
+int main()
+{
+  using namespace __gnu_test;
+
+  // extern "C" function 
+  // extern "C" float f(void) { };
+  // T f
+  // f is ambiguous between "C" external name and internal built-in type
+  // name.  The ambiguity is resolved to the built-in type name.
+  verify_demangle("f", "float");
+
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/abi/demangle/abi_examples/02.cc b/libstdc++-v3/testsuite/abi/demangle/abi_examples/02.cc
new file mode 100644 (file)
index 0000000..408d6ae
--- /dev/null
@@ -0,0 +1,39 @@
+// 2003-02-26 Benjamin Kosnik <bkoz@redhat.com>
+
+// Copyright (C) 2003, 2005 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>
+
+// Examples given in the IA64 C++ ABI 
+// http://www.codesourcery.com/cxx-abi/abi-examples.html#mangling
+int main()
+{
+  using namespace __gnu_test;
+
+  // or variable "f" 
+  // int f;
+  // B f
+  // f is ambiguous between variable external name and internal built-in type
+  // name.  The ambiguity is resolved to the built-in type name.
+  verify_demangle("f", "float");
+
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/abi/demangle/abi_examples/03.cc b/libstdc++-v3/testsuite/abi/demangle/abi_examples/03.cc
new file mode 100644 (file)
index 0000000..70673a9
--- /dev/null
@@ -0,0 +1,41 @@
+// 2003-02-26 Benjamin Kosnik <bkoz@redhat.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>
+
+// Examples given in the IA64 C++ ABI 
+// http://www.codesourcery.com/cxx-abi/abi-examples.html#mangling
+int main()
+{
+  using namespace __gnu_test;
+
+ // or a global namespace variable "f"
+  /*
+    namespace f
+    {
+    int f;
+    }
+  */
+  verify_demangle("_ZN1f1fE", "f::f");
+
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/abi/demangle/abi_examples/04.cc b/libstdc++-v3/testsuite/abi/demangle/abi_examples/04.cc
new file mode 100644 (file)
index 0000000..9cf22cf
--- /dev/null
@@ -0,0 +1,37 @@
+// 2003-02-26 Benjamin Kosnik <bkoz@redhat.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>
+
+// Examples given in the IA64 C++ ABI 
+// http://www.codesourcery.com/cxx-abi/abi-examples.html#mangling
+int main()
+{
+  using namespace __gnu_test;
+
+  // void f() { };
+  // int  f() { };
+  // verify_demangle("_Z1fv", "f(void)");
+  verify_demangle("_Z1fv", "f()");
+
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/abi/demangle/abi_examples/05.cc b/libstdc++-v3/testsuite/abi/demangle/abi_examples/05.cc
new file mode 100644 (file)
index 0000000..293bbd4
--- /dev/null
@@ -0,0 +1,36 @@
+// 2003-02-26 Benjamin Kosnik <bkoz@redhat.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>
+
+// Examples given in the IA64 C++ ABI 
+// http://www.codesourcery.com/cxx-abi/abi-examples.html#mangling
+int main()
+{
+  using namespace __gnu_test;
+
+  // void f(int) { };
+  // int  f(int) { };
+  verify_demangle("_Z1fi", "f(int)");
+
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/abi/demangle/abi_examples/06.cc b/libstdc++-v3/testsuite/abi/demangle/abi_examples/06.cc
new file mode 100644 (file)
index 0000000..3fb4004
--- /dev/null
@@ -0,0 +1,36 @@
+// 2003-02-26 Benjamin Kosnik <bkoz@redhat.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>
+
+// Examples given in the IA64 C++ ABI 
+// http://www.codesourcery.com/cxx-abi/abi-examples.html#mangling
+int main()
+{
+  using namespace __gnu_test;
+
+  // class bar { };
+  // void foo(bar) { };
+  verify_demangle("_Z3foo3bar", "foo(bar)");
+
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/abi/demangle/abi_examples/07.cc b/libstdc++-v3/testsuite/abi/demangle/abi_examples/07.cc
new file mode 100644 (file)
index 0000000..40a6c5c
--- /dev/null
@@ -0,0 +1,36 @@
+// 2003-02-26 Benjamin Kosnik <bkoz@redhat.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>
+
+// Examples given in the IA64 C++ ABI 
+// http://www.codesourcery.com/cxx-abi/abi-examples.html#mangling
+int main()
+{
+  using namespace __gnu_test;
+
+  // class X { };
+  // int operator%(X, X) { };
+  verify_demangle("_Zrm1XS_", "operator%(X, X)");
+
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/abi/demangle/abi_examples/08.cc b/libstdc++-v3/testsuite/abi/demangle/abi_examples/08.cc
new file mode 100644 (file)
index 0000000..087cfd5
--- /dev/null
@@ -0,0 +1,35 @@
+// 2003-02-26 Benjamin Kosnik <bkoz@redhat.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>
+
+// Examples given in the IA64 C++ ABI 
+// http://www.codesourcery.com/cxx-abi/abi-examples.html#mangling
+int main()
+{
+  using namespace __gnu_test;
+
+ // int operator+(X&, X&) { };
+  verify_demangle("_ZplR1XS0_", "operator+(X&, X&)"); // XXX
+
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/abi/demangle/abi_examples/09.cc b/libstdc++-v3/testsuite/abi/demangle/abi_examples/09.cc
new file mode 100644 (file)
index 0000000..3242cb5
--- /dev/null
@@ -0,0 +1,35 @@
+// 2003-02-26 Benjamin Kosnik <bkoz@redhat.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>
+
+// Examples given in the IA64 C++ ABI 
+// http://www.codesourcery.com/cxx-abi/abi-examples.html#mangling
+int main()
+{
+  using namespace __gnu_test;
+
+  // int operator<< (X const&, X const&) { };
+  verify_demangle("_ZlsRK1XS1_", "operator<<(X const&, X const&)");
+
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/abi/demangle/abi_examples/10.cc b/libstdc++-v3/testsuite/abi/demangle/abi_examples/10.cc
new file mode 100644 (file)
index 0000000..a47c923
--- /dev/null
@@ -0,0 +1,40 @@
+// 2003-02-26 Benjamin Kosnik <bkoz@redhat.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>
+
+// Examples given in the IA64 C++ ABI 
+// http://www.codesourcery.com/cxx-abi/abi-examples.html#mangling
+int main()
+{
+  using namespace __gnu_test;
+
+  /*
+    template<typename T> 
+      class Foo 
+      { static int bar; };
+    int Foo<int[4]>::bar;
+  */
+  verify_demangle("_ZN3FooIA4_iE3barE", "Foo<int [4]>::bar");
+
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/abi/demangle/abi_examples/11.cc b/libstdc++-v3/testsuite/abi/demangle/abi_examples/11.cc
new file mode 100644 (file)
index 0000000..2b1f3b6
--- /dev/null
@@ -0,0 +1,38 @@
+// 2003-02-26 Benjamin Kosnik <bkoz@redhat.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>
+
+// Examples given in the IA64 C++ ABI 
+// http://www.codesourcery.com/cxx-abi/abi-examples.html#mangling
+int main()
+{
+  using namespace __gnu_test;
+
+  // template<typename T> void f(int) { }
+  // template void f<int>(int);
+  // NB: the return type is always explicitly encoded for template
+  // functions taking parameters.
+  verify_demangle("_Z1fIiEvi", "void f<int>(int)");
+
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/abi/demangle/abi_examples/12.cc b/libstdc++-v3/testsuite/abi/demangle/abi_examples/12.cc
new file mode 100644 (file)
index 0000000..60b299f
--- /dev/null
@@ -0,0 +1,39 @@
+// 2003-02-26 Benjamin Kosnik <bkoz@redhat.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>
+
+// Examples given in the IA64 C++ ABI 
+// http://www.codesourcery.com/cxx-abi/abi-examples.html#mangling
+int main()
+{
+  using namespace __gnu_test;
+
+  /*
+    class Duo { };
+    template<typename T> void first(Duo) { }
+    template void first<Duo>(Duo);
+  */
+  verify_demangle("_Z5firstI3DuoEvS0_", "void first<Duo>(Duo)");
+
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/abi/demangle/abi_examples/13.cc b/libstdc++-v3/testsuite/abi/demangle/abi_examples/13.cc
new file mode 100644 (file)
index 0000000..9c17340
--- /dev/null
@@ -0,0 +1,39 @@
+// 2003-02-26 Benjamin Kosnik <bkoz@redhat.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>
+
+// Examples given in the IA64 C++ ABI 
+// http://www.codesourcery.com/cxx-abi/abi-examples.html#mangling
+int main()
+{
+  using namespace __gnu_test;
+
+  /*
+    class Duo { };
+    template<typename T> void first(T obj) { }
+    template void first(Duo);
+  */
+  verify_demangle("_Z5firstI3DuoEvT_", "void first<Duo>(Duo)");
+
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/abi/demangle/abi_examples/14.cc b/libstdc++-v3/testsuite/abi/demangle/abi_examples/14.cc
new file mode 100644 (file)
index 0000000..fe6879c
--- /dev/null
@@ -0,0 +1,40 @@
+// 2003-02-26 Benjamin Kosnik <bkoz@redhat.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>
+
+// Examples given in the IA64 C++ ABI 
+// http://www.codesourcery.com/cxx-abi/abi-examples.html#mangling
+int main()
+{
+  using namespace __gnu_test;
+
+  /*
+    typedef void fun(double);
+    template<typename I, typename T, typename J> void foo() { }
+    template void foo<int, fun, int>();
+  */
+  //demangle("_Z3fooIiPFidEiEvv", "void foo<int, int (*)(double), int>(void)");
+  verify_demangle("_Z3fooIiFvdEiEvv", "void foo<int, void ()(double), int>()");
+
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/abi/demangle/abi_examples/15.cc b/libstdc++-v3/testsuite/abi/demangle/abi_examples/15.cc
new file mode 100644 (file)
index 0000000..9fcb64a
--- /dev/null
@@ -0,0 +1,40 @@
+// 2003-02-26 Benjamin Kosnik <bkoz@redhat.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>
+
+// Examples given in the IA64 C++ ABI 
+// http://www.codesourcery.com/cxx-abi/abi-examples.html#mangling
+int main()
+{
+  using namespace __gnu_test;
+
+  /* 
+     namespace N
+     {
+     int f;
+     }
+  */
+  verify_demangle("_ZN1N1fE", "N::f");
+
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/abi/demangle/abi_examples/16.cc b/libstdc++-v3/testsuite/abi/demangle/abi_examples/16.cc
new file mode 100644 (file)
index 0000000..d3732ea
--- /dev/null
@@ -0,0 +1,46 @@
+// 2003-02-26 Benjamin Kosnik <bkoz@redhat.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>
+
+// Examples given in the IA64 C++ ABI 
+// http://www.codesourcery.com/cxx-abi/abi-examples.html#mangling
+int main()
+{
+  using namespace __gnu_test;
+
+  /*
+    namespace System
+    {
+    struct Sound
+    {
+    int beep();
+    };
+    
+    int Sound::beep() { };
+    }
+  */
+  // verify_demangle("_ZN6System5Sound4beepEv", "System::Sound::beep(void)");
+  verify_demangle("_ZN6System5Sound4beepEv", "System::Sound::beep()");
+
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/abi/demangle/abi_examples/17.cc b/libstdc++-v3/testsuite/abi/demangle/abi_examples/17.cc
new file mode 100644 (file)
index 0000000..29274b2
--- /dev/null
@@ -0,0 +1,40 @@
+// 2003-02-26 Benjamin Kosnik <bkoz@redhat.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>
+
+// Examples given in the IA64 C++ ABI 
+// http://www.codesourcery.com/cxx-abi/abi-examples.html#mangling
+int main()
+{
+  using namespace __gnu_test;
+
+  /* 
+     namespace Arena
+     {
+     int level;
+     }
+  */
+  verify_demangle("_ZN5Arena5levelE", "Arena::level");
+
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/abi/demangle/abi_examples/18.cc b/libstdc++-v3/testsuite/abi/demangle/abi_examples/18.cc
new file mode 100644 (file)
index 0000000..526b1d8
--- /dev/null
@@ -0,0 +1,42 @@
+// 2003-02-26 Benjamin Kosnik <bkoz@redhat.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>
+
+// Examples given in the IA64 C++ ABI 
+// http://www.codesourcery.com/cxx-abi/abi-examples.html#mangling
+int main()
+{
+  using namespace __gnu_test;
+
+ /*
+    template<typename T1, typename T2> struct Stack
+    {
+    static int level;
+    int return_level() { return level; }
+    };
+    template struct Stack<int, int>;
+  */
+  verify_demangle("_ZN5StackIiiE5levelE", "Stack<int, int>::level");
+
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/abi/demangle/abi_examples/19.cc b/libstdc++-v3/testsuite/abi/demangle/abi_examples/19.cc
new file mode 100644 (file)
index 0000000..2d6ae3d
--- /dev/null
@@ -0,0 +1,34 @@
+// 2003-02-26 Benjamin Kosnik <bkoz@redhat.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>
+
+// Examples given in the IA64 C++ ABI 
+// http://www.codesourcery.com/cxx-abi/abi-examples.html#mangling
+int main()
+{
+  using namespace __gnu_test;
+
+  verify_demangle("_Z1fI1XEvPVN1AIT_E1TE", "void f<X>(A<X>::T volatile*)");
+
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/abi/demangle/abi_examples/20.cc b/libstdc++-v3/testsuite/abi/demangle/abi_examples/20.cc
new file mode 100644 (file)
index 0000000..eaa5db0
--- /dev/null
@@ -0,0 +1,35 @@
+// 2003-02-26 Benjamin Kosnik <bkoz@redhat.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>
+
+// Examples given in the IA64 C++ ABI 
+// http://www.codesourcery.com/cxx-abi/abi-examples.html#mangling
+int main()
+{
+  using namespace __gnu_test;
+
+  verify_demangle("_ZngILi42EEvN1AIXplT_Li2EEE1TE", 
+       "void operator-<42>(A<(42) + (2)>::T)");
+
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/abi/demangle/abi_examples/21.cc b/libstdc++-v3/testsuite/abi/demangle/abi_examples/21.cc
new file mode 100644 (file)
index 0000000..d4c69a9
--- /dev/null
@@ -0,0 +1,35 @@
+// 2003-02-26 Benjamin Kosnik <bkoz@redhat.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>
+
+// Examples given in the IA64 C++ ABI 
+// http://www.codesourcery.com/cxx-abi/abi-examples.html#mangling
+int main()
+{
+  using namespace __gnu_test;
+
+  verify_demangle("_Z4makeI7FactoryiET_IT0_Ev", 
+                 "Factory<int> make<Factory, int>()");
+
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/abi/demangle/abi_examples/22.cc b/libstdc++-v3/testsuite/abi/demangle/abi_examples/22.cc
new file mode 100644 (file)
index 0000000..d4c69a9
--- /dev/null
@@ -0,0 +1,35 @@
+// 2003-02-26 Benjamin Kosnik <bkoz@redhat.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>
+
+// Examples given in the IA64 C++ ABI 
+// http://www.codesourcery.com/cxx-abi/abi-examples.html#mangling
+int main()
+{
+  using namespace __gnu_test;
+
+  verify_demangle("_Z4makeI7FactoryiET_IT0_Ev", 
+                 "Factory<int> make<Factory, int>()");
+
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/abi/demangle/abi_examples/23.cc b/libstdc++-v3/testsuite/abi/demangle/abi_examples/23.cc
new file mode 100644 (file)
index 0000000..57659fb
--- /dev/null
@@ -0,0 +1,34 @@
+// 2003-02-26 Benjamin Kosnik <bkoz@redhat.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>
+
+// Examples given in the IA64 C++ ABI 
+// http://www.codesourcery.com/cxx-abi/abi-examples.html#mangling
+int main()
+{
+  using namespace __gnu_test;
+
+  verify_demangle("_Z3foo5Hello5WorldS0_S_", 
+                 "foo(Hello, World, World, Hello)");
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/abi/demangle/abi_examples/24.cc b/libstdc++-v3/testsuite/abi/demangle/abi_examples/24.cc
new file mode 100644 (file)
index 0000000..5be5266
--- /dev/null
@@ -0,0 +1,34 @@
+// 2003-02-26 Benjamin Kosnik <bkoz@redhat.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>
+
+// Examples given in the IA64 C++ ABI 
+// http://www.codesourcery.com/cxx-abi/abi-examples.html#mangling
+int main()
+{
+  using namespace __gnu_test;
+
+  verify_demangle("_Z3fooPM2ABi", "foo(int AB::**)");
+
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/abi/demangle/abi_examples/25.cc b/libstdc++-v3/testsuite/abi/demangle/abi_examples/25.cc
new file mode 100644 (file)
index 0000000..3a3c019
--- /dev/null
@@ -0,0 +1,39 @@
+// 2003-02-26 Benjamin Kosnik <bkoz@redhat.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>
+
+// Examples given in the IA64 C++ ABI 
+// http://www.codesourcery.com/cxx-abi/abi-examples.html#mangling
+int main()
+{
+  using namespace __gnu_test;
+
+  // Equivalent 
+  // uncompressed, cp-dem
+  //  verify_demangle("_ZlsRSoRKSs", "operator<<(std::basic_ostream<char, std::char_traits<char> >&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)");
+  // compressed (good!), new __cxa_demangle
+  verify_demangle("_ZlsRSoRKSs", 
+                 "operator<<(std::ostream&, std::string const&)");
+
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/abi/demangle/abi_examples/26.cc b/libstdc++-v3/testsuite/abi/demangle/abi_examples/26.cc
new file mode 100644 (file)
index 0000000..783eafa
--- /dev/null
@@ -0,0 +1,34 @@
+// 2003-02-26 Benjamin Kosnik <bkoz@redhat.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>
+
+// Examples given in the IA64 C++ ABI 
+// http://www.codesourcery.com/cxx-abi/abi-examples.html#mangling
+int main()
+{
+  using namespace __gnu_test;
+
+  verify_demangle("_ZTI7a_class", "typeinfo for a_class");
+
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/abi/demangle/abi_text/01.cc b/libstdc++-v3/testsuite/abi/demangle/abi_text/01.cc
new file mode 100644 (file)
index 0000000..70da290
--- /dev/null
@@ -0,0 +1,42 @@
+// 2003-02-26 Benjamin Kosnik <bkoz@redhat.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>
+
+// Examples given in the IA64 C++ ABI 
+// http://www.codesourcery.com/cxx-abi/abi-examples.html#mangling
+int main()
+{
+  using namespace __gnu_test;
+
+  //  5.1.5 Type encodings.
+  // int* volatile const restrict _far p;
+  // cplus-dem FAIL
+  // icc CORE
+  // Equivalent as considered order-insensitive.
+  // standard text
+  // verify_demangle("U4_farrVKPi", "int* volatile const restrict _far");
+  // new __cxa_demangle
+  verify_demangle("U4_farrVKPi", "int* const volatile restrict _far");
+
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/abi/demangle/abi_text/02.cc b/libstdc++-v3/testsuite/abi/demangle/abi_text/02.cc
new file mode 100644 (file)
index 0000000..28a617a
--- /dev/null
@@ -0,0 +1,42 @@
+// 2003-02-26 Benjamin Kosnik <bkoz@redhat.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>
+
+// Specific examples mentioned in the IA64 C++ ABI text
+// http://www.codesourcery.com/cxx-abi/abi.html#mangling
+int main()
+{
+  using namespace __gnu_test;
+
+  // template<int I> void foo (int (&)[I + 1]) { };
+  // template void foo<2> (int (&)[3]);    
+  // Equivalent, but formatting difference in void argument and parentheses.
+  // icc, __cxa_demangle
+  verify_demangle("_Z3fooILi2EEvRAplT_Li1E_i", 
+                 "void foo<2>(int (&) [(2) + (1)])");
+  // cplus-dem
+  // verify_demangle("_Z3fooILi2EEvRAplT_Li1E_i", 
+  //      "void foo<(int)2>(int (&) [((int)2)+((int)1)])");
+
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/abi/demangle/abi_text/03.cc b/libstdc++-v3/testsuite/abi/demangle/abi_text/03.cc
new file mode 100644 (file)
index 0000000..deca872
--- /dev/null
@@ -0,0 +1,39 @@
+// 2003-02-26 Benjamin Kosnik <bkoz@redhat.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>
+
+// Specific examples mentioned in the IA64 C++ ABI text
+// http://www.codesourcery.com/cxx-abi/abi.html#mangling
+int main()
+{
+  using namespace __gnu_test;
+
+  // struct A;
+  // void f (void (A::*)() const) {}
+  // cplus-dem FAIL
+  // Equivalent, but formatting difference in void argument.
+  verify_demangle("_Z1fM1AKFvvE", "f(void (A::*)() const)");
+  // verify_demangle("_Z1fM1AKFvvE", "f(void (A::*)(void) const)");
+
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/abi/demangle/abi_text/04.cc b/libstdc++-v3/testsuite/abi/demangle/abi_text/04.cc
new file mode 100644 (file)
index 0000000..073240b
--- /dev/null
@@ -0,0 +1,35 @@
+// 2003-02-26 Benjamin Kosnik <bkoz@redhat.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>
+
+// Specific examples mentioned in the IA64 C++ ABI text
+// http://www.codesourcery.com/cxx-abi/abi.html#mangling
+int main()
+{
+  using namespace __gnu_test;
+
+  // void foo(char);
+  verify_demangle("_Z3fooc", "foo(char)"); 
+
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/abi/demangle/abi_text/05.cc b/libstdc++-v3/testsuite/abi/demangle/abi_text/05.cc
new file mode 100644 (file)
index 0000000..5b94fd8
--- /dev/null
@@ -0,0 +1,39 @@
+// 2003-02-26 Benjamin Kosnik <bkoz@redhat.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>
+
+// Specific examples mentioned in the IA64 C++ ABI text
+// http://www.codesourcery.com/cxx-abi/abi.html#mangling
+int main()
+{
+  using namespace __gnu_test;
+
+  // void foo(char);
+  // template<void (&)(char)> struct CB { };
+  // CB<foo> obj;
+  // cplus-dem FAIL
+  // standard text FAIL "CB<foo>"
+  verify_demangle("2CBIL_Z3foocEE", "CB<foo(char)>");
+
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/abi/demangle/abi_text/06.cc b/libstdc++-v3/testsuite/abi/demangle/abi_text/06.cc
new file mode 100644 (file)
index 0000000..caf1125
--- /dev/null
@@ -0,0 +1,38 @@
+// 2003-02-26 Benjamin Kosnik <bkoz@redhat.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>
+
+// Specific examples mentioned in the IA64 C++ ABI text
+// http://www.codesourcery.com/cxx-abi/abi.html#mangling
+int main()
+{
+  using namespace __gnu_test;
+
+  // extern "C" bool IsEmpty(char *); 
+  // template<void (&)(char *)> struct CB;
+  // CB<IsEmpty> is mangled as 
+  // cplus-dem FAIL
+   verify_demangle("2CBIL_Z7IsEmptyEE", "CB<IsEmpty>");
+
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/abi/demangle/abi_text/07.cc b/libstdc++-v3/testsuite/abi/demangle/abi_text/07.cc
new file mode 100644 (file)
index 0000000..6c3285a
--- /dev/null
@@ -0,0 +1,53 @@
+// 2003-02-26 Benjamin Kosnik <bkoz@redhat.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>
+
+// Specific examples mentioned in the IA64 C++ ABI text
+// http://www.codesourcery.com/cxx-abi/abi.html#mangling
+int main()
+{
+  using namespace __gnu_test;
+
+  // 5.1.6 Scope Encoding 
+  /*
+  namespace N 
+  {
+    inline char* 
+    f(int i) 
+    {
+      static char *p = "Itanium C++ ABI";  // p = 1, "..." = 2
+      {  
+       struct X 
+       {                      // X = 3
+         void g() {}
+       };   
+      }
+      return p[i];
+    }
+  }
+  */
+  // encoding of N::f::p (first local mangled entity)
+  verify_demangle("_ZZN1N1fEiE1p", "N::f(int)::p");
+
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/abi/demangle/abi_text/08.cc b/libstdc++-v3/testsuite/abi/demangle/abi_text/08.cc
new file mode 100644 (file)
index 0000000..ff7e8bb
--- /dev/null
@@ -0,0 +1,35 @@
+// 2003-02-26 Benjamin Kosnik <bkoz@redhat.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>
+
+// Specific examples mentioned in the IA64 C++ ABI text
+// http://www.codesourcery.com/cxx-abi/abi.html#mangling
+int main()
+{
+  using namespace __gnu_test;
+
+  // encoding of N::f::"Itanium C++ ABI" (no discriminator)
+  verify_demangle("_ZZN1N1fEiEs", "N::f(int)::string literal");
+
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/abi/demangle/abi_text/09.cc b/libstdc++-v3/testsuite/abi/demangle/abi_text/09.cc
new file mode 100644 (file)
index 0000000..67abf85
--- /dev/null
@@ -0,0 +1,37 @@
+// 2003-02-26 Benjamin Kosnik <bkoz@redhat.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>
+
+// Specific examples mentioned in the IA64 C++ ABI text
+// http://www.codesourcery.com/cxx-abi/abi.html#mangling
+int main()
+{
+  using namespace __gnu_test;
+
+  // encoding of N::f::X::g() 
+  // (third local mangled entity used as a class-qualifier) 
+  // cplus-dem FAIL
+  // icc CORE
+  verify_demangle("_ZNZN1N1fEiE1X1gE", "error code = -2: invalid mangled name");
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/abi/demangle/abi_text/10.cc b/libstdc++-v3/testsuite/abi/demangle/abi_text/10.cc
new file mode 100644 (file)
index 0000000..f9c651f
--- /dev/null
@@ -0,0 +1,35 @@
+// 2003-02-26 Benjamin Kosnik <bkoz@redhat.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>
+
+// Specific examples mentioned in the IA64 C++ ABI text
+// http://www.codesourcery.com/cxx-abi/abi.html#mangling
+int main()
+{
+  using namespace __gnu_test;
+
+  verify_demangle("_ZNZN1N1fEiE1X1gEv", 
+                 "error code = -2: invalid mangled name");
+
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/abi/demangle/abi_text/11.cc b/libstdc++-v3/testsuite/abi/demangle/abi_text/11.cc
new file mode 100644 (file)
index 0000000..8c458e9
--- /dev/null
@@ -0,0 +1,42 @@
+// 2003-02-26 Benjamin Kosnik <bkoz@redhat.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>
+
+// Specific examples mentioned in the IA64 C++ ABI text
+// http://www.codesourcery.com/cxx-abi/abi.html#mangling
+int main()
+{
+  using namespace __gnu_test;
+
+  // 5.1.7 Compression.
+  // typedef void T();
+  // struct S {};
+  // void f(T*, T (S::*)) { }
+  // Equivalent, void variance.
+  // standard text, not possible
+  // verify_demangle("_Z1fPFvvEM1SFvvE", "void f(T*, T (S::*))");
+  verify_demangle("_Z1fPFvvEM1SFvvE", "f(void (*)(), void (S::*)())");
+  // demangle("_Z1fPFvvEM1SFvvE", "f(void (*)(void), void (S::*)(void))");
+
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/abi/demangle/abi_text/12.cc b/libstdc++-v3/testsuite/abi/demangle/abi_text/12.cc
new file mode 100644 (file)
index 0000000..4db3df4
--- /dev/null
@@ -0,0 +1,36 @@
+// 2003-02-26 Benjamin Kosnik <bkoz@redhat.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>
+
+// Specific examples mentioned in the IA64 C++ ABI text
+// http://www.codesourcery.com/cxx-abi/abi.html#mangling
+int main()
+{
+  using namespace __gnu_test;
+
+  // N::T<int, int>::mf(N::T<double, double>)
+  verify_demangle("_ZN1N1TIiiE2mfES0_IddE", 
+                 "N::T<int, int>::mf(N::T<double, double>)");
+
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/abi/demangle/abi_text/13.cc b/libstdc++-v3/testsuite/abi/demangle/abi_text/13.cc
new file mode 100644 (file)
index 0000000..5b6f64a
--- /dev/null
@@ -0,0 +1,35 @@
+// 2003-02-26 Benjamin Kosnik <bkoz@redhat.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>
+
+// Specific examples mentioned in the IA64 C++ ABI text
+// http://www.codesourcery.com/cxx-abi/abi.html#mangling
+int main()
+{
+  using namespace __gnu_test;
+
+  // std::state
+  verify_demangle("_ZSt5state", "std::state"); 
+
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/abi/demangle/abi_text/14.cc b/libstdc++-v3/testsuite/abi/demangle/abi_text/14.cc
new file mode 100644 (file)
index 0000000..cde1cbf
--- /dev/null
@@ -0,0 +1,35 @@
+// 2003-02-26 Benjamin Kosnik <bkoz@redhat.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>
+
+// Specific examples mentioned in the IA64 C++ ABI text
+// http://www.codesourcery.com/cxx-abi/abi.html#mangling
+int main()
+{
+  using namespace __gnu_test;
+
+  // std::_In::ward
+  verify_demangle("_ZNSt3_In4wardE", "std::_In::ward");
+
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/abi/demangle/regression/3111-1.cc b/libstdc++-v3/testsuite/abi/demangle/regression/3111-1.cc
new file mode 100644 (file)
index 0000000..f21aed0
--- /dev/null
@@ -0,0 +1,33 @@
+// 2003-02-26 Benjamin Kosnik <bkoz@redhat.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>
+
+// c++/3111
+int main()
+{
+  using namespace __gnu_test;
+
+  verify_demangle("_Z1fKPFiiE", "f(int (* const)(int))");
+
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/abi/demangle/regression/3111-2.cc b/libstdc++-v3/testsuite/abi/demangle/regression/3111-2.cc
new file mode 100644 (file)
index 0000000..725cc55
--- /dev/null
@@ -0,0 +1,38 @@
+// 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>
+
+// c++/3111
+int main()
+{
+  using namespace __gnu_test;
+
+  // cplus-dem FAIL
+  // icc FAIL
+  // verify_demangle("_Z1fAszL_ZZNK1N1A1fEvE3foo_0E_i", 
+  //       "f(int[sizeof(N::A::f() const::foo())])");
+  verify_demangle("_Z1fAszL_ZZNK1N1A1fEvE3foo_0E_i", 
+                 "f(int [sizeof (N::A::f() const::foo)])");
+
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/abi/demangle/regression/7986-01.cc b/libstdc++-v3/testsuite/abi/demangle/regression/7986-01.cc
new file mode 100644 (file)
index 0000000..67eeb67
--- /dev/null
@@ -0,0 +1,33 @@
+// 2003-02-26 Benjamin Kosnik <bkoz@redhat.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>
+
+// libstdc++/7986
+int main()
+{
+  using namespace __gnu_test;
+  // cplus-dem FAIL
+  verify_demangle("_Z1fA37_iPS_", "f(int [37], int (*) [37])");
+
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/abi/demangle/regression/7986-02.cc b/libstdc++-v3/testsuite/abi/demangle/regression/7986-02.cc
new file mode 100644 (file)
index 0000000..4d9e3ad
--- /dev/null
@@ -0,0 +1,35 @@
+// 2003-02-26 Benjamin Kosnik <bkoz@redhat.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>
+
+// libstdc++/7986
+int main()
+{
+  using namespace __gnu_test;
+
+  // Equivalent, but formatting difference in void argument.
+  //  verify_demangle("_Z1fM1AFivEPS0_", "f(int (A::*)(void), int (*)(void))");
+  verify_demangle("_Z1fM1AFivEPS0_", "f(int (A::*)(), int (*)())");
+
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/abi/demangle/regression/7986-03.cc b/libstdc++-v3/testsuite/abi/demangle/regression/7986-03.cc
new file mode 100644 (file)
index 0000000..c4da14d
--- /dev/null
@@ -0,0 +1,34 @@
+// 2003-02-26 Benjamin Kosnik <bkoz@redhat.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>
+
+// libstdc++/7986
+int main()
+{
+  using namespace __gnu_test;
+
+  // cplus-dem FAIL
+  verify_demangle("_Z1fPFPA1_ivE", "f(int (*(*)()) [1])");
+
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/abi/demangle/regression/7986-04.cc b/libstdc++-v3/testsuite/abi/demangle/regression/7986-04.cc
new file mode 100644 (file)
index 0000000..4650794
--- /dev/null
@@ -0,0 +1,34 @@
+// 2003-02-26 Benjamin Kosnik <bkoz@redhat.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>
+
+// libstdc++/7986
+int main()
+{
+  using namespace __gnu_test;
+
+  // cplus-dem FAIL
+  verify_demangle("_Z1fPKM1AFivE", "f(int (A::* const*)())");
+
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/abi/demangle/regression/7986-05.cc b/libstdc++-v3/testsuite/abi/demangle/regression/7986-05.cc
new file mode 100644 (file)
index 0000000..4ca3eb4
--- /dev/null
@@ -0,0 +1,34 @@
+// 2003-02-26 Benjamin Kosnik <bkoz@redhat.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>
+
+// libstdc++/7986
+int main()
+{
+  using namespace __gnu_test;
+
+  // cplus-dem FAIL  
+  verify_demangle("_Z1jM1AFivEPS1_", "j(int (A::*)(), int (A::**)())");
+
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/abi/demangle/regression/7986-06.cc b/libstdc++-v3/testsuite/abi/demangle/regression/7986-06.cc
new file mode 100644 (file)
index 0000000..04881eb
--- /dev/null
@@ -0,0 +1,34 @@
+// 2003-02-26 Benjamin Kosnik <bkoz@redhat.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>
+
+// libstdc++/7986
+int main()
+{
+  using namespace __gnu_test;
+
+  // cplus-dem FAIL
+  verify_demangle("_Z1sPA37_iPS0_", "s(int (*) [37], int (**) [37])");
+
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/abi/demangle/regression/7986-07.cc b/libstdc++-v3/testsuite/abi/demangle/regression/7986-07.cc
new file mode 100644 (file)
index 0000000..45ebff7
--- /dev/null
@@ -0,0 +1,35 @@
+// 2003-02-26 Benjamin Kosnik <bkoz@redhat.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>
+
+// libstdc++/7986
+int main()
+{
+  using namespace __gnu_test;
+
+ // cplus-dem FAIL
+  verify_demangle("_Z3fooA30_A_i", "foo(int [30][])");
+
+
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/abi/demangle/regression/7986-08.cc b/libstdc++-v3/testsuite/abi/demangle/regression/7986-08.cc
new file mode 100644 (file)
index 0000000..148add2
--- /dev/null
@@ -0,0 +1,34 @@
+// 2003-02-26 Benjamin Kosnik <bkoz@redhat.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>
+
+// libstdc++/7986
+int main()
+{
+  using namespace __gnu_test;
+
+  // cplus-dem FAIL
+  verify_demangle("_Z3kooPA28_A30_i", "koo(int (*) [28][30])");
+
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/abi/demangle/regression/7986-09.cc b/libstdc++-v3/testsuite/abi/demangle/regression/7986-09.cc
new file mode 100644 (file)
index 0000000..7ac3ac0
--- /dev/null
@@ -0,0 +1,40 @@
+// 2003-02-26 Benjamin Kosnik <bkoz@redhat.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>
+
+// libstdc++/7986
+int main()
+{
+  using namespace __gnu_test;
+
+ // cplus-dem FAIL
+  // Equivalent as considered order-insensitive?
+  // standard text, icc FAIL
+  //  verify_demangle("_ZlsRKU3fooU4bart1XS0_", 
+  //     "operator<<(X const foo bart&, X const foo bart)");
+  // new __cxa_demangle
+  verify_demangle("_ZlsRKU3fooU4bart1XS0_", 
+                 "operator<<(X bart foo const&, X bart)");
+
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/abi/demangle/regression/7986-10.cc b/libstdc++-v3/testsuite/abi/demangle/regression/7986-10.cc
new file mode 100644 (file)
index 0000000..592a9fd
--- /dev/null
@@ -0,0 +1,34 @@
+// 2003-02-26 Benjamin Kosnik <bkoz@redhat.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>
+
+// libstdc++/7986
+int main()
+{
+  using namespace __gnu_test;
+
+  verify_demangle("_ZlsRKU3fooU4bart1XS2_", 
+                 "operator<<(X bart foo const&, X bart foo const)");
+
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/abi/demangle/regression/7986-11.cc b/libstdc++-v3/testsuite/abi/demangle/regression/7986-11.cc
new file mode 100644 (file)
index 0000000..34bc883
--- /dev/null
@@ -0,0 +1,34 @@
+// 2003-02-26 Benjamin Kosnik <bkoz@redhat.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>
+
+// libstdc++/7986
+int main()
+{
+  using namespace __gnu_test;
+
+  // cplus-dem FAIL
+  verify_demangle("_Z1fM1AKFivE", "f(int (A::*)() const)");
+
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/abi/demangle/regression/7986-12.cc b/libstdc++-v3/testsuite/abi/demangle/regression/7986-12.cc
new file mode 100644 (file)
index 0000000..819a915
--- /dev/null
@@ -0,0 +1,47 @@
+// 2003-02-26 Benjamin Kosnik <bkoz@redhat.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>
+
+// libstdc++/7986
+int main()
+{
+  using namespace __gnu_test;
+
+  // ICE on figmative float template parameters?
+  /*
+  demangle("_Z3absILd1c1f1496f8a44219EEvv", "void abs<3.14159e-173>()");
+  demangle("_Z3absILd40092acd9e83e426EEvv", "void abs<3.1459>()");
+  demangl("_Z3absILe08042191a6cc56a2fe117becEEvv", "void abs<1.234e-2345l>()");
+  demangle("_Z3absILf4016147bEEvv", "void abs<2.345f>()");
+  demangle("_Z3absILfc1800000EEvv", " void abs<-16f>()");
+  demangle("_Z3absILe804bfff8000000000000000EEvv", "void abs<-1l>()");
+  */
+
+  // template<int D> void abs(void) { };
+  // template void abs<11>(void);
+  // Equivalent, but formatting difference in void argument.
+  // verify_demangle("_Z3absILi11EEvv", "void abs<(int)11>()");
+  verify_demangle("_Z3absILi11EEvv", "void abs<11>()");
+
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/abi/demangle/regression/7986.cc b/libstdc++-v3/testsuite/abi/demangle/regression/7986.cc
new file mode 100644 (file)
index 0000000..7cea896
--- /dev/null
@@ -0,0 +1,32 @@
+// 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;
+
+
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/abi/demangle/regression/8897.cc b/libstdc++-v3/testsuite/abi/demangle/regression/8897.cc
new file mode 100644 (file)
index 0000000..1a7e545
--- /dev/null
@@ -0,0 +1,61 @@
+// 2003-02-26  Martin v. Loewis  <martin@v.loewis.de>
+
+// 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>
+
+// c++/8897
+int main()
+{
+  using namespace __gnu_test;
+
+  /*
+    template<typename T1>
+      struct A 
+      {
+        template<typename T2>
+         operator T2();
+      };
+    
+    A<float> a;
+    (int)a;            <-- that function.
+  */
+  /*  
+      Using "operator int()" is ambigious because that
+      could be either:
+    
+      operator int();
+      
+      or
+      
+      template<typename T>
+      operator T();      
+      with T = int.
+
+      - Carlo Wood
+  */
+  // cplus-dem FAIL  
+  // icc FAIL
+  // new __cxa_demangle FAIL
+  verify_demangle("_ZN1AIfEcvT_IiEEv", "A<float>::operator int<int>()");
+
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/abi/demangle/regression/cw-01.cc b/libstdc++-v3/testsuite/abi/demangle/regression/cw-01.cc
new file mode 100644 (file)
index 0000000..920c14d
--- /dev/null
@@ -0,0 +1,54 @@
+// 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;
+
+  /*
+class libcw_app_ct {
+public:
+  void dummy(char const*) { }
+  template<typename T>
+    static void add_option(void (T::*)(char const*), char const*, char, 
+                           char const*, char const*);
+};
+
+template<typename T>
+  void libcw_app_ct::add_option(void (T::*)(char const*), char const*, char, 
+                                char const*, char const*)
+{ }
+
+void fn(void)
+{
+  // Instantiation.
+  libcw_app_ct::add_option(&libcw_app_ct::dummy, "", '\0', "", "");
+}
+*/
+verify_demangle("_ZN12libcw_app_ct10add_optionIS_EEvMT_FvPKcES3_cS3_S3_",
+       "void libcw_app_ct::add_option<libcw_app_ct>(void (libcw_app_ct::*)(char const*), char const*, char, char const*, char const*)");
+
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/abi/demangle/regression/cw-02.cc b/libstdc++-v3/testsuite/abi/demangle/regression/cw-02.cc
new file mode 100644 (file)
index 0000000..b38c323
--- /dev/null
@@ -0,0 +1,59 @@
+// 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 libcw {
+  namespace debug {
+    class memblk_types_manipulator_data_ct { };
+  }
+  template<typename T>
+    class omanip_id_tct { };
+  namespace {
+    template<typename T>
+      class compiler_bug_workaround {
+      public:
+       static std::vector<int> ids;
+      };
+    template<typename T>
+      std::vector<int> compiler_bug_workaround<T>::ids;
+    typedef std::vector<libcw::omanip_id_tct<libcw::debug::memblk_types_manipulator_data_ct> > vector_t;
+    compiler_bug_workaround<vector_t> dummy;
+  }
+}
+
+void g(void)
+{
+  // Instantiation.
+  libcw::dummy.ids.size();
+}
+*/
+  verify_demangle("_ZGVN5libcw24_GLOBAL__N_cbll.cc0ZhUKa23compiler_bug_workaroundISt6vectorINS_13omanip_id_tctINS_5debug32memblk_types_manipulator_data_ctEEESaIS6_EEE3idsE", "guard variable for libcw::(anonymous namespace)::compiler_bug_workaround<std::vector<libcw::omanip_id_tct<libcw::debug::memblk_types_manipulator_data_ct>, std::allocator<libcw::omanip_id_tct<libcw::debug::memblk_types_manipulator_data_ct> > > >::ids");
+
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/abi/demangle/regression/cw-03.cc b/libstdc++-v3/testsuite/abi/demangle/regression/cw-03.cc
new file mode 100644 (file)
index 0000000..710dea6
--- /dev/null
@@ -0,0 +1,54 @@
+// 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 libcw {
+  namespace _private_ {
+    class GlobalObject { public: void dummy(std::ostream&) const; };
+  }
+  namespace debug {
+    template<typename T>
+      class cwprint_using_tct { };
+    template<typename T>
+      cwprint_using_tct<T> cwprint_using(T const&, void (T::*)(std::ostream&) const);
+  }
+}
+
+void h(void)
+{
+  // Instantiation.
+  libcw::_private_::GlobalObject dummy;
+  (void)libcw::debug::cwprint_using(dummy, &libcw::_private_::GlobalObject::dummy);
+}
+*/
+  // cplus-dem CORE
+  verify_demangle("_ZN5libcw5debug13cwprint_usingINS_9_private_12GlobalObjectEEENS0_17cwprint_using_tctIT_EERKS5_MS5_KFvRSt7ostreamE", "libcw::debug::cwprint_using_tct<libcw::_private_::GlobalObject> libcw::debug::cwprint_using<libcw::_private_::GlobalObject>(libcw::_private_::GlobalObject const&, void (libcw::_private_::GlobalObject::*)(std::ostream&) const)");
+
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/abi/demangle/regression/cw-04.cc b/libstdc++-v3/testsuite/abi/demangle/regression/cw-04.cc
new file mode 100644 (file)
index 0000000..8a524f3
--- /dev/null
@@ -0,0 +1,45 @@
+// 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;
+
+
+/*
+class timer_event_request_base_ct { };
+struct timer_greater { };
+
+void i(void)
+{
+  // Instantiation.
+  std::priority_queue<timer_event_request_base_ct*, std::deque<timer_event_request_base_ct*>, timer_greater> dummy;
+  dummy.top();
+}
+*/
+  verify_demangle("_ZNKSt14priority_queueIP27timer_event_request_base_ctSt5dequeIS1_SaIS1_EE13timer_greaterE3topEv", "std::priority_queue<timer_event_request_base_ct*, std::deque<timer_event_request_base_ct*, std::allocator<timer_event_request_base_ct*> >, timer_greater>::top() const");
+
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/abi/demangle/regression/cw-05.cc b/libstdc++-v3/testsuite/abi/demangle/regression/cw-05.cc
new file mode 100644 (file)
index 0000000..2b77685
--- /dev/null
@@ -0,0 +1,51 @@
+// 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;
+
+/*
+struct memory_block_st { };
+namespace std {
+  template<typename T, typename R = T const&, typename P = T const*>
+    class _Deque_iterator {
+    public:
+      void operator==(_Deque_iterator const&) const { }
+    };
+}
+
+void j(void)
+{
+  // Instantiation.
+  std::_Deque_iterator<memory_block_st*> dummy;
+  dummy.operator==(dummy);
+}
+*/
+  verify_demangle("_ZNKSt15_Deque_iteratorIP15memory_block_stRKS1_PS2_EeqERKS5_",
+       "std::_Deque_iterator<memory_block_st*, memory_block_st* const&, memory_block_st* const*>::operator==(std::_Deque_iterator<memory_block_st*, memory_block_st* const&, memory_block_st* const*> const&) const");
+
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/abi/demangle/regression/cw-06.cc b/libstdc++-v3/testsuite/abi/demangle/regression/cw-06.cc
new file mode 100644 (file)
index 0000000..a131d4c
--- /dev/null
@@ -0,0 +1,51 @@
+// 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;
+
+/*
+struct option { };
+namespace std {
+  template<typename T1, typename T2>
+    class __normal_iterator {
+    public:
+      void operator-(__normal_iterator const&) const { }
+    };
+}
+
+void k(void)
+{
+  // Instantiation.
+  std::__normal_iterator<option const*, std::vector<option> > dummy;
+  dummy.operator-(dummy);
+}
+*/
+  verify_demangle("_ZNKSt17__normal_iteratorIPK6optionSt6vectorIS0_SaIS0_EEEmiERKS6_",
+       "std::__normal_iterator<option const*, std::vector<option, std::allocator<option> > >::operator-(std::__normal_iterator<option const*, std::vector<option, std::allocator<option> > > const&) const");
+
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/abi/demangle/regression/cw-07.cc b/libstdc++-v3/testsuite/abi/demangle/regression/cw-07.cc
new file mode 100644 (file)
index 0000000..da278ac
--- /dev/null
@@ -0,0 +1,62 @@
+// 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 libcw {
+  namespace debug {
+    class no_alloc_checking_allocator { };
+  }
+}
+namespace std {
+  template<typename T>
+    class char_traits { };
+  template<typename T, class _Traits, class _Alloc>
+    class basic_string {
+    public:
+      template<typename T2>
+       char* _S_construct(T2, T2, _Alloc const&) { return (char*)0; }
+    };
+}
+
+void l(void)
+{
+  // Instantiation.
+  std::basic_string<char, std::char_traits<char>, 
+                    libcw::debug::no_alloc_checking_allocator> dummy;
+  char* cp;
+  libcw::debug::no_alloc_checking_allocator alloc;
+  dummy._S_construct(cp, cp, alloc);
+}
+*/
+  verify_demangle("_ZNSbIcSt11char_traitsIcEN5libcw5debug27no_alloc_checking_allocatorEE12_S_constructIPcEES6_T_S7_RKS3_", "char* std::basic_string<char, std::char_traits<char>, libcw::debug::no_alloc_checking_allocator>::_S_construct<char*>(char*, char*, libcw::debug::no_alloc_checking_allocator const&)");
+
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/abi/demangle/regression/cw-08.cc b/libstdc++-v3/testsuite/abi/demangle/regression/cw-08.cc
new file mode 100644 (file)
index 0000000..01a29c0
--- /dev/null
@@ -0,0 +1,54 @@
+// 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;
+
+/*
+class A { };
+typedef A const* a4_t[4];
+typedef a4_t* ap4_t;
+class C {
+public:
+  ap4_t c;
+};
+template<typename T1, typename T2, typename T3>
+  void f(T1, T2, T3, ap4_t, ap4_t (C::*)) { }
+
+void m(void)
+{
+  // Instantiation.
+  A a;
+  a4_t a4;
+  f(a, &a, static_cast<A const*>(&a), &a4, &C::c);
+}
+*/
+  // Equivalent, spacing differences with icc.
+  // cplus-dem FAIL
+  verify_demangle("_Z1fI1APS0_PKS0_EvT_T0_T1_PA4_S3_M1CS8_", "void f<A, A*, A const*>(A, A*, A const*, A const* (*) [4], A const* (* C::*) [4])");
+
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/abi/demangle/regression/cw-09.cc b/libstdc++-v3/testsuite/abi/demangle/regression/cw-09.cc
new file mode 100644 (file)
index 0000000..2e48a63
--- /dev/null
@@ -0,0 +1,62 @@
+// 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;
+
+
+/*
+
+void foo(int, int*, int**, int***, int****, int*****, int******, int*******, int********, int*********, int**********, int***********, int************, int*************, int**************, int***************)
+{
+}
+
+void n(void)
+{
+  int i0;
+  int* i1;
+  int** i2;
+  int*** i3;
+  int**** i4;
+  int***** i5;
+  int****** i6;
+  int******* i7;
+  int******** i8;
+  int********* i9;
+  int********** i10;
+  int*********** i11;
+  int************ i12;
+  int************* i13;
+  int************** i14;
+  int*************** i15;
+  foo(i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15);
+}
+*/
+  // cplus-dem FAIL  
+   verify_demangle("_Z3fooiPiPS_PS0_PS1_PS2_PS3_PS4_PS5_PS6_PS7_PS8_PS9_PSA_PSB_PSC_", "foo(int, int*, int**, int***, int****, int*****, int******, int*******, int********, int*********, int**********, int***********, int************, int*************, int**************, int***************)");
+
+  return 0;
+}
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 (file)
index 0000000..61fe7c9
--- /dev/null
@@ -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;
+}
diff --git a/libstdc++-v3/testsuite/abi/demangle/regression/cw-11.cc b/libstdc++-v3/testsuite/abi/demangle/regression/cw-11.cc
new file mode 100644 (file)
index 0000000..fbb869e
--- /dev/null
@@ -0,0 +1,35 @@
+// 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;
+
+  // cplus-dem CORE
+  verify_demangle("_X11TransParseAddress",
+                 "error code = -2: invalid mangled name");
+
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/abi/demangle/regression/cw-12.cc b/libstdc++-v3/testsuite/abi/demangle/regression/cw-12.cc
new file mode 100644 (file)
index 0000000..8466715
--- /dev/null
@@ -0,0 +1,88 @@
+// 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<bool b, int i>
+    class __default_alloc_template { };
+
+  template<typename CHAR>
+    class string_char_traits { };
+
+  template<class BASIC_STRING, class ADAPTOR>
+    struct _Alloc_traits {
+      static char _S_instanceless;
+    };
+  template<class BASIC_STRING, class ADAPTOR>
+    char _Alloc_traits<BASIC_STRING, ADAPTOR>::_S_instanceless;
+}
+namespace libcw {
+  namespace debug {
+    namespace _private_ {
+      template<typename CHAR, class ALLOCATOR, bool b>
+       class allocator_adaptor { };
+    }
+  }
+}
+
+char x;
+void q(void)
+{
+  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
+    >
+  > dummy1;
+  x = dummy1._S_instanceless;
+}
+*/
+    // cplus-dem FAIL 
+    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");
+
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/abi/demangle/regression/cw-13.cc b/libstdc++-v3/testsuite/abi/demangle/regression/cw-13.cc
new file mode 100644 (file)
index 0000000..ae621f0
--- /dev/null
@@ -0,0 +1,34 @@
+// 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;
+
+  // cplus-dem CORE
+  verify_demangle("_GLOBAL__I__Z2fnv", "global constructors keyed to _Z2fnv");
+
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/abi/demangle/regression/cw-14.cc b/libstdc++-v3/testsuite/abi/demangle/regression/cw-14.cc
new file mode 100644 (file)
index 0000000..aa250f0
--- /dev/null
@@ -0,0 +1,72 @@
+// 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;
+
+/*
+struct G {
+  int m(void) const { return 0; }
+  int n(void) { return 0; }
+};
+
+struct H {
+  int m(void) const { return 0; }
+  int n(void) { return 0; }
+};
+
+template<typename T>
+  class what
+  {
+  };
+
+template<typename T>
+  class what2
+  {
+  };
+
+void r(int (G::*)(void),
+       int (G::*)(void) const,
+       G, // S_ 
+       int (H::*)(void), // M1HS0_
+       int (G::*)(void), // S1_
+       what<G const>, // what<S2_>
+  what2<G const>, // what2<S8_>
+    int (G::*)(void) const // S3_ 
+{
+  G g;
+  what<G const> y;
+  what2<G const> y2;
+  r(&G::n, &G::m, g, &H::n, &G::n, y, y2, &G::m);
+}
+*/
+
+  // cplus-dem CORE
+verify_demangle("_Z1rM1GFivEMS_KFivES_M1HFivES1_4whatIKS_E5what2IS8_ES3_",
+               "r(int (G::*)(), int (G::*)() const, G, int (H::*)(), int (G::*)(), what<G const>, what2<G const>, int (G::*)() const)");
+
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/abi/demangle/regression/cw-15.cc b/libstdc++-v3/testsuite/abi/demangle/regression/cw-15.cc
new file mode 100644 (file)
index 0000000..cca8e96
--- /dev/null
@@ -0,0 +1,35 @@
+// 2003-10-14  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;
+
+  // cplus-dem CORE
+verify_demangle("_Z1xINiEE",
+               "error code = -2: invalid mangled name");
+
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/abi/demangle/regression/cw-16.cc b/libstdc++-v3/testsuite/abi/demangle/regression/cw-16.cc
new file mode 100644 (file)
index 0000000..0c8c29f
--- /dev/null
@@ -0,0 +1,53 @@
+// 2003-11-07  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>
+
+// Torturing by Carlo Wood.
+int main()
+{
+  using namespace __gnu_test;
+
+// 2003/11/07, libstdc++/12736
+verify_demangle("_Z3fooIA6_KiEvA9_KT_rVPrS4_",
+               "void foo<int const [6]>(int const [9][6], int restrict const (* volatile restrict) [9][6])");
+// 2003/11/12, libstdc++/12947
+verify_demangle("_Z1fILi5E1AEvN1CIXqugtT_Li0ELi1ELi2EEE1qE",
+                "void f<5, A>(C<(((5) > (0))) ? (1) : (2)>::q)");
+verify_demangle("_Z1fILi5EEvN1AIXcvimlT_Li22EEE1qE",
+                "void f<5>(A<(int)((5) * (22))>::q)");
+verify_demangle("_Z1fPFYPFiiEiE",
+                "f(int (*(*)(int))(int))");
+verify_demangle("_Z1fI1XENT_1tES2_",
+                "X::t f<X>(X::t)");
+verify_demangle("_Z1fILi5E1AEvN1CIXstN1T1tEEXszsrS2_1tEE1qE",
+                "void f<5, A>(C<sizeof (T::t), sizeof (T::t)>::q)");
+// 2003/12/03, libstdc++/13045
+verify_demangle("_Z1fILi1ELc120EEv1AIXplT_cviLd4028ae147ae147aeEEE",
+                "void f<1, (char)120>(A<(1) + ((int)((double)[4028ae147ae147ae]))>)");
+verify_demangle("_Z1fILi1ELc120EEv1AIXplT_cviLf3f800000EEE",
+                "void f<1, (char)120>(A<(1) + ((int)((float)[3f800000]))>)");
+verify_demangle("_Z9hairyfuncM1YKFPVPFrPA2_PM1XKFKPA3_ilEPcEiE",
+                "hairyfunc(int (* const (X::** (* restrict (* volatile* (Y::*)(int) const)(char*)) [2])(long) const) [3])");
+
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/abi/demangle/regression/old.cc b/libstdc++-v3/testsuite/abi/demangle/regression/old.cc
new file mode 100644 (file)
index 0000000..736ede7
--- /dev/null
@@ -0,0 +1,31 @@
+// 2003-02-26 Benjamin Kosnik <bkoz@redhat.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>
+
+// old libiberty tests for gnu-v3
+int main()
+{
+  using namespace __gnu_test;
+  verify_demangle("St9bad_alloc", "std::bad_alloc");
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/abi/header_cxxabi.c b/libstdc++-v3/testsuite/abi/header_cxxabi.c
new file mode 100644 (file)
index 0000000..de6ae7e
--- /dev/null
@@ -0,0 +1,22 @@
+// { dg-do compile }
+// { dg-options "-x c" }
+// Copyright (C) 2006 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.
+
+// Must be compilable as "C"
+#include <cxxabi.h>
diff --git a/libstdc++-v3/testsuite/demangle/abi_examples/01.cc b/libstdc++-v3/testsuite/demangle/abi_examples/01.cc
deleted file mode 100644 (file)
index 85cb59d..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-// 2003-02-26 Benjamin Kosnik <bkoz@redhat.com>
-
-// Copyright (C) 2003, 2005 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>
-
-// Examples given in the IA64 C++ ABI 
-// http://www.codesourcery.com/cxx-abi/abi-examples.html#mangling
-int main()
-{
-  using namespace __gnu_test;
-
-  // extern "C" function 
-  // extern "C" float f(void) { };
-  // T f
-  // f is ambiguous between "C" external name and internal built-in type
-  // name.  The ambiguity is resolved to the built-in type name.
-  verify_demangle("f", "float");
-
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/demangle/abi_examples/02.cc b/libstdc++-v3/testsuite/demangle/abi_examples/02.cc
deleted file mode 100644 (file)
index 408d6ae..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-// 2003-02-26 Benjamin Kosnik <bkoz@redhat.com>
-
-// Copyright (C) 2003, 2005 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>
-
-// Examples given in the IA64 C++ ABI 
-// http://www.codesourcery.com/cxx-abi/abi-examples.html#mangling
-int main()
-{
-  using namespace __gnu_test;
-
-  // or variable "f" 
-  // int f;
-  // B f
-  // f is ambiguous between variable external name and internal built-in type
-  // name.  The ambiguity is resolved to the built-in type name.
-  verify_demangle("f", "float");
-
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/demangle/abi_examples/03.cc b/libstdc++-v3/testsuite/demangle/abi_examples/03.cc
deleted file mode 100644 (file)
index 70673a9..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-// 2003-02-26 Benjamin Kosnik <bkoz@redhat.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>
-
-// Examples given in the IA64 C++ ABI 
-// http://www.codesourcery.com/cxx-abi/abi-examples.html#mangling
-int main()
-{
-  using namespace __gnu_test;
-
- // or a global namespace variable "f"
-  /*
-    namespace f
-    {
-    int f;
-    }
-  */
-  verify_demangle("_ZN1f1fE", "f::f");
-
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/demangle/abi_examples/04.cc b/libstdc++-v3/testsuite/demangle/abi_examples/04.cc
deleted file mode 100644 (file)
index 9cf22cf..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-// 2003-02-26 Benjamin Kosnik <bkoz@redhat.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>
-
-// Examples given in the IA64 C++ ABI 
-// http://www.codesourcery.com/cxx-abi/abi-examples.html#mangling
-int main()
-{
-  using namespace __gnu_test;
-
-  // void f() { };
-  // int  f() { };
-  // verify_demangle("_Z1fv", "f(void)");
-  verify_demangle("_Z1fv", "f()");
-
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/demangle/abi_examples/05.cc b/libstdc++-v3/testsuite/demangle/abi_examples/05.cc
deleted file mode 100644 (file)
index 293bbd4..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-// 2003-02-26 Benjamin Kosnik <bkoz@redhat.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>
-
-// Examples given in the IA64 C++ ABI 
-// http://www.codesourcery.com/cxx-abi/abi-examples.html#mangling
-int main()
-{
-  using namespace __gnu_test;
-
-  // void f(int) { };
-  // int  f(int) { };
-  verify_demangle("_Z1fi", "f(int)");
-
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/demangle/abi_examples/06.cc b/libstdc++-v3/testsuite/demangle/abi_examples/06.cc
deleted file mode 100644 (file)
index 3fb4004..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-// 2003-02-26 Benjamin Kosnik <bkoz@redhat.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>
-
-// Examples given in the IA64 C++ ABI 
-// http://www.codesourcery.com/cxx-abi/abi-examples.html#mangling
-int main()
-{
-  using namespace __gnu_test;
-
-  // class bar { };
-  // void foo(bar) { };
-  verify_demangle("_Z3foo3bar", "foo(bar)");
-
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/demangle/abi_examples/07.cc b/libstdc++-v3/testsuite/demangle/abi_examples/07.cc
deleted file mode 100644 (file)
index 40a6c5c..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-// 2003-02-26 Benjamin Kosnik <bkoz@redhat.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>
-
-// Examples given in the IA64 C++ ABI 
-// http://www.codesourcery.com/cxx-abi/abi-examples.html#mangling
-int main()
-{
-  using namespace __gnu_test;
-
-  // class X { };
-  // int operator%(X, X) { };
-  verify_demangle("_Zrm1XS_", "operator%(X, X)");
-
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/demangle/abi_examples/08.cc b/libstdc++-v3/testsuite/demangle/abi_examples/08.cc
deleted file mode 100644 (file)
index 087cfd5..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-// 2003-02-26 Benjamin Kosnik <bkoz@redhat.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>
-
-// Examples given in the IA64 C++ ABI 
-// http://www.codesourcery.com/cxx-abi/abi-examples.html#mangling
-int main()
-{
-  using namespace __gnu_test;
-
- // int operator+(X&, X&) { };
-  verify_demangle("_ZplR1XS0_", "operator+(X&, X&)"); // XXX
-
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/demangle/abi_examples/09.cc b/libstdc++-v3/testsuite/demangle/abi_examples/09.cc
deleted file mode 100644 (file)
index 3242cb5..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-// 2003-02-26 Benjamin Kosnik <bkoz@redhat.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>
-
-// Examples given in the IA64 C++ ABI 
-// http://www.codesourcery.com/cxx-abi/abi-examples.html#mangling
-int main()
-{
-  using namespace __gnu_test;
-
-  // int operator<< (X const&, X const&) { };
-  verify_demangle("_ZlsRK1XS1_", "operator<<(X const&, X const&)");
-
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/demangle/abi_examples/10.cc b/libstdc++-v3/testsuite/demangle/abi_examples/10.cc
deleted file mode 100644 (file)
index a47c923..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-// 2003-02-26 Benjamin Kosnik <bkoz@redhat.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>
-
-// Examples given in the IA64 C++ ABI 
-// http://www.codesourcery.com/cxx-abi/abi-examples.html#mangling
-int main()
-{
-  using namespace __gnu_test;
-
-  /*
-    template<typename T> 
-      class Foo 
-      { static int bar; };
-    int Foo<int[4]>::bar;
-  */
-  verify_demangle("_ZN3FooIA4_iE3barE", "Foo<int [4]>::bar");
-
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/demangle/abi_examples/11.cc b/libstdc++-v3/testsuite/demangle/abi_examples/11.cc
deleted file mode 100644 (file)
index 2b1f3b6..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-// 2003-02-26 Benjamin Kosnik <bkoz@redhat.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>
-
-// Examples given in the IA64 C++ ABI 
-// http://www.codesourcery.com/cxx-abi/abi-examples.html#mangling
-int main()
-{
-  using namespace __gnu_test;
-
-  // template<typename T> void f(int) { }
-  // template void f<int>(int);
-  // NB: the return type is always explicitly encoded for template
-  // functions taking parameters.
-  verify_demangle("_Z1fIiEvi", "void f<int>(int)");
-
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/demangle/abi_examples/12.cc b/libstdc++-v3/testsuite/demangle/abi_examples/12.cc
deleted file mode 100644 (file)
index 60b299f..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-// 2003-02-26 Benjamin Kosnik <bkoz@redhat.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>
-
-// Examples given in the IA64 C++ ABI 
-// http://www.codesourcery.com/cxx-abi/abi-examples.html#mangling
-int main()
-{
-  using namespace __gnu_test;
-
-  /*
-    class Duo { };
-    template<typename T> void first(Duo) { }
-    template void first<Duo>(Duo);
-  */
-  verify_demangle("_Z5firstI3DuoEvS0_", "void first<Duo>(Duo)");
-
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/demangle/abi_examples/13.cc b/libstdc++-v3/testsuite/demangle/abi_examples/13.cc
deleted file mode 100644 (file)
index 9c17340..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-// 2003-02-26 Benjamin Kosnik <bkoz@redhat.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>
-
-// Examples given in the IA64 C++ ABI 
-// http://www.codesourcery.com/cxx-abi/abi-examples.html#mangling
-int main()
-{
-  using namespace __gnu_test;
-
-  /*
-    class Duo { };
-    template<typename T> void first(T obj) { }
-    template void first(Duo);
-  */
-  verify_demangle("_Z5firstI3DuoEvT_", "void first<Duo>(Duo)");
-
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/demangle/abi_examples/14.cc b/libstdc++-v3/testsuite/demangle/abi_examples/14.cc
deleted file mode 100644 (file)
index fe6879c..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-// 2003-02-26 Benjamin Kosnik <bkoz@redhat.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>
-
-// Examples given in the IA64 C++ ABI 
-// http://www.codesourcery.com/cxx-abi/abi-examples.html#mangling
-int main()
-{
-  using namespace __gnu_test;
-
-  /*
-    typedef void fun(double);
-    template<typename I, typename T, typename J> void foo() { }
-    template void foo<int, fun, int>();
-  */
-  //demangle("_Z3fooIiPFidEiEvv", "void foo<int, int (*)(double), int>(void)");
-  verify_demangle("_Z3fooIiFvdEiEvv", "void foo<int, void ()(double), int>()");
-
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/demangle/abi_examples/15.cc b/libstdc++-v3/testsuite/demangle/abi_examples/15.cc
deleted file mode 100644 (file)
index 9fcb64a..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-// 2003-02-26 Benjamin Kosnik <bkoz@redhat.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>
-
-// Examples given in the IA64 C++ ABI 
-// http://www.codesourcery.com/cxx-abi/abi-examples.html#mangling
-int main()
-{
-  using namespace __gnu_test;
-
-  /* 
-     namespace N
-     {
-     int f;
-     }
-  */
-  verify_demangle("_ZN1N1fE", "N::f");
-
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/demangle/abi_examples/16.cc b/libstdc++-v3/testsuite/demangle/abi_examples/16.cc
deleted file mode 100644 (file)
index d3732ea..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-// 2003-02-26 Benjamin Kosnik <bkoz@redhat.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>
-
-// Examples given in the IA64 C++ ABI 
-// http://www.codesourcery.com/cxx-abi/abi-examples.html#mangling
-int main()
-{
-  using namespace __gnu_test;
-
-  /*
-    namespace System
-    {
-    struct Sound
-    {
-    int beep();
-    };
-    
-    int Sound::beep() { };
-    }
-  */
-  // verify_demangle("_ZN6System5Sound4beepEv", "System::Sound::beep(void)");
-  verify_demangle("_ZN6System5Sound4beepEv", "System::Sound::beep()");
-
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/demangle/abi_examples/17.cc b/libstdc++-v3/testsuite/demangle/abi_examples/17.cc
deleted file mode 100644 (file)
index 29274b2..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-// 2003-02-26 Benjamin Kosnik <bkoz@redhat.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>
-
-// Examples given in the IA64 C++ ABI 
-// http://www.codesourcery.com/cxx-abi/abi-examples.html#mangling
-int main()
-{
-  using namespace __gnu_test;
-
-  /* 
-     namespace Arena
-     {
-     int level;
-     }
-  */
-  verify_demangle("_ZN5Arena5levelE", "Arena::level");
-
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/demangle/abi_examples/18.cc b/libstdc++-v3/testsuite/demangle/abi_examples/18.cc
deleted file mode 100644 (file)
index 526b1d8..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-// 2003-02-26 Benjamin Kosnik <bkoz@redhat.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>
-
-// Examples given in the IA64 C++ ABI 
-// http://www.codesourcery.com/cxx-abi/abi-examples.html#mangling
-int main()
-{
-  using namespace __gnu_test;
-
- /*
-    template<typename T1, typename T2> struct Stack
-    {
-    static int level;
-    int return_level() { return level; }
-    };
-    template struct Stack<int, int>;
-  */
-  verify_demangle("_ZN5StackIiiE5levelE", "Stack<int, int>::level");
-
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/demangle/abi_examples/19.cc b/libstdc++-v3/testsuite/demangle/abi_examples/19.cc
deleted file mode 100644 (file)
index 2d6ae3d..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-// 2003-02-26 Benjamin Kosnik <bkoz@redhat.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>
-
-// Examples given in the IA64 C++ ABI 
-// http://www.codesourcery.com/cxx-abi/abi-examples.html#mangling
-int main()
-{
-  using namespace __gnu_test;
-
-  verify_demangle("_Z1fI1XEvPVN1AIT_E1TE", "void f<X>(A<X>::T volatile*)");
-
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/demangle/abi_examples/20.cc b/libstdc++-v3/testsuite/demangle/abi_examples/20.cc
deleted file mode 100644 (file)
index eaa5db0..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-// 2003-02-26 Benjamin Kosnik <bkoz@redhat.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>
-
-// Examples given in the IA64 C++ ABI 
-// http://www.codesourcery.com/cxx-abi/abi-examples.html#mangling
-int main()
-{
-  using namespace __gnu_test;
-
-  verify_demangle("_ZngILi42EEvN1AIXplT_Li2EEE1TE", 
-       "void operator-<42>(A<(42) + (2)>::T)");
-
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/demangle/abi_examples/21.cc b/libstdc++-v3/testsuite/demangle/abi_examples/21.cc
deleted file mode 100644 (file)
index d4c69a9..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-// 2003-02-26 Benjamin Kosnik <bkoz@redhat.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>
-
-// Examples given in the IA64 C++ ABI 
-// http://www.codesourcery.com/cxx-abi/abi-examples.html#mangling
-int main()
-{
-  using namespace __gnu_test;
-
-  verify_demangle("_Z4makeI7FactoryiET_IT0_Ev", 
-                 "Factory<int> make<Factory, int>()");
-
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/demangle/abi_examples/22.cc b/libstdc++-v3/testsuite/demangle/abi_examples/22.cc
deleted file mode 100644 (file)
index d4c69a9..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-// 2003-02-26 Benjamin Kosnik <bkoz@redhat.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>
-
-// Examples given in the IA64 C++ ABI 
-// http://www.codesourcery.com/cxx-abi/abi-examples.html#mangling
-int main()
-{
-  using namespace __gnu_test;
-
-  verify_demangle("_Z4makeI7FactoryiET_IT0_Ev", 
-                 "Factory<int> make<Factory, int>()");
-
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/demangle/abi_examples/23.cc b/libstdc++-v3/testsuite/demangle/abi_examples/23.cc
deleted file mode 100644 (file)
index 57659fb..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-// 2003-02-26 Benjamin Kosnik <bkoz@redhat.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>
-
-// Examples given in the IA64 C++ ABI 
-// http://www.codesourcery.com/cxx-abi/abi-examples.html#mangling
-int main()
-{
-  using namespace __gnu_test;
-
-  verify_demangle("_Z3foo5Hello5WorldS0_S_", 
-                 "foo(Hello, World, World, Hello)");
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/demangle/abi_examples/24.cc b/libstdc++-v3/testsuite/demangle/abi_examples/24.cc
deleted file mode 100644 (file)
index 5be5266..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-// 2003-02-26 Benjamin Kosnik <bkoz@redhat.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>
-
-// Examples given in the IA64 C++ ABI 
-// http://www.codesourcery.com/cxx-abi/abi-examples.html#mangling
-int main()
-{
-  using namespace __gnu_test;
-
-  verify_demangle("_Z3fooPM2ABi", "foo(int AB::**)");
-
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/demangle/abi_examples/25.cc b/libstdc++-v3/testsuite/demangle/abi_examples/25.cc
deleted file mode 100644 (file)
index 3a3c019..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-// 2003-02-26 Benjamin Kosnik <bkoz@redhat.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>
-
-// Examples given in the IA64 C++ ABI 
-// http://www.codesourcery.com/cxx-abi/abi-examples.html#mangling
-int main()
-{
-  using namespace __gnu_test;
-
-  // Equivalent 
-  // uncompressed, cp-dem
-  //  verify_demangle("_ZlsRSoRKSs", "operator<<(std::basic_ostream<char, std::char_traits<char> >&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)");
-  // compressed (good!), new __cxa_demangle
-  verify_demangle("_ZlsRSoRKSs", 
-                 "operator<<(std::ostream&, std::string const&)");
-
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/demangle/abi_examples/26.cc b/libstdc++-v3/testsuite/demangle/abi_examples/26.cc
deleted file mode 100644 (file)
index 783eafa..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-// 2003-02-26 Benjamin Kosnik <bkoz@redhat.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>
-
-// Examples given in the IA64 C++ ABI 
-// http://www.codesourcery.com/cxx-abi/abi-examples.html#mangling
-int main()
-{
-  using namespace __gnu_test;
-
-  verify_demangle("_ZTI7a_class", "typeinfo for a_class");
-
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/demangle/abi_text/01.cc b/libstdc++-v3/testsuite/demangle/abi_text/01.cc
deleted file mode 100644 (file)
index 70da290..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-// 2003-02-26 Benjamin Kosnik <bkoz@redhat.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>
-
-// Examples given in the IA64 C++ ABI 
-// http://www.codesourcery.com/cxx-abi/abi-examples.html#mangling
-int main()
-{
-  using namespace __gnu_test;
-
-  //  5.1.5 Type encodings.
-  // int* volatile const restrict _far p;
-  // cplus-dem FAIL
-  // icc CORE
-  // Equivalent as considered order-insensitive.
-  // standard text
-  // verify_demangle("U4_farrVKPi", "int* volatile const restrict _far");
-  // new __cxa_demangle
-  verify_demangle("U4_farrVKPi", "int* const volatile restrict _far");
-
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/demangle/abi_text/02.cc b/libstdc++-v3/testsuite/demangle/abi_text/02.cc
deleted file mode 100644 (file)
index 28a617a..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-// 2003-02-26 Benjamin Kosnik <bkoz@redhat.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>
-
-// Specific examples mentioned in the IA64 C++ ABI text
-// http://www.codesourcery.com/cxx-abi/abi.html#mangling
-int main()
-{
-  using namespace __gnu_test;
-
-  // template<int I> void foo (int (&)[I + 1]) { };
-  // template void foo<2> (int (&)[3]);    
-  // Equivalent, but formatting difference in void argument and parentheses.
-  // icc, __cxa_demangle
-  verify_demangle("_Z3fooILi2EEvRAplT_Li1E_i", 
-                 "void foo<2>(int (&) [(2) + (1)])");
-  // cplus-dem
-  // verify_demangle("_Z3fooILi2EEvRAplT_Li1E_i", 
-  //      "void foo<(int)2>(int (&) [((int)2)+((int)1)])");
-
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/demangle/abi_text/03.cc b/libstdc++-v3/testsuite/demangle/abi_text/03.cc
deleted file mode 100644 (file)
index deca872..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-// 2003-02-26 Benjamin Kosnik <bkoz@redhat.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>
-
-// Specific examples mentioned in the IA64 C++ ABI text
-// http://www.codesourcery.com/cxx-abi/abi.html#mangling
-int main()
-{
-  using namespace __gnu_test;
-
-  // struct A;
-  // void f (void (A::*)() const) {}
-  // cplus-dem FAIL
-  // Equivalent, but formatting difference in void argument.
-  verify_demangle("_Z1fM1AKFvvE", "f(void (A::*)() const)");
-  // verify_demangle("_Z1fM1AKFvvE", "f(void (A::*)(void) const)");
-
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/demangle/abi_text/04.cc b/libstdc++-v3/testsuite/demangle/abi_text/04.cc
deleted file mode 100644 (file)
index 073240b..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-// 2003-02-26 Benjamin Kosnik <bkoz@redhat.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>
-
-// Specific examples mentioned in the IA64 C++ ABI text
-// http://www.codesourcery.com/cxx-abi/abi.html#mangling
-int main()
-{
-  using namespace __gnu_test;
-
-  // void foo(char);
-  verify_demangle("_Z3fooc", "foo(char)"); 
-
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/demangle/abi_text/05.cc b/libstdc++-v3/testsuite/demangle/abi_text/05.cc
deleted file mode 100644 (file)
index 5b94fd8..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-// 2003-02-26 Benjamin Kosnik <bkoz@redhat.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>
-
-// Specific examples mentioned in the IA64 C++ ABI text
-// http://www.codesourcery.com/cxx-abi/abi.html#mangling
-int main()
-{
-  using namespace __gnu_test;
-
-  // void foo(char);
-  // template<void (&)(char)> struct CB { };
-  // CB<foo> obj;
-  // cplus-dem FAIL
-  // standard text FAIL "CB<foo>"
-  verify_demangle("2CBIL_Z3foocEE", "CB<foo(char)>");
-
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/demangle/abi_text/06.cc b/libstdc++-v3/testsuite/demangle/abi_text/06.cc
deleted file mode 100644 (file)
index caf1125..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-// 2003-02-26 Benjamin Kosnik <bkoz@redhat.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>
-
-// Specific examples mentioned in the IA64 C++ ABI text
-// http://www.codesourcery.com/cxx-abi/abi.html#mangling
-int main()
-{
-  using namespace __gnu_test;
-
-  // extern "C" bool IsEmpty(char *); 
-  // template<void (&)(char *)> struct CB;
-  // CB<IsEmpty> is mangled as 
-  // cplus-dem FAIL
-   verify_demangle("2CBIL_Z7IsEmptyEE", "CB<IsEmpty>");
-
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/demangle/abi_text/07.cc b/libstdc++-v3/testsuite/demangle/abi_text/07.cc
deleted file mode 100644 (file)
index 6c3285a..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-// 2003-02-26 Benjamin Kosnik <bkoz@redhat.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>
-
-// Specific examples mentioned in the IA64 C++ ABI text
-// http://www.codesourcery.com/cxx-abi/abi.html#mangling
-int main()
-{
-  using namespace __gnu_test;
-
-  // 5.1.6 Scope Encoding 
-  /*
-  namespace N 
-  {
-    inline char* 
-    f(int i) 
-    {
-      static char *p = "Itanium C++ ABI";  // p = 1, "..." = 2
-      {  
-       struct X 
-       {                      // X = 3
-         void g() {}
-       };   
-      }
-      return p[i];
-    }
-  }
-  */
-  // encoding of N::f::p (first local mangled entity)
-  verify_demangle("_ZZN1N1fEiE1p", "N::f(int)::p");
-
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/demangle/abi_text/08.cc b/libstdc++-v3/testsuite/demangle/abi_text/08.cc
deleted file mode 100644 (file)
index ff7e8bb..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-// 2003-02-26 Benjamin Kosnik <bkoz@redhat.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>
-
-// Specific examples mentioned in the IA64 C++ ABI text
-// http://www.codesourcery.com/cxx-abi/abi.html#mangling
-int main()
-{
-  using namespace __gnu_test;
-
-  // encoding of N::f::"Itanium C++ ABI" (no discriminator)
-  verify_demangle("_ZZN1N1fEiEs", "N::f(int)::string literal");
-
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/demangle/abi_text/09.cc b/libstdc++-v3/testsuite/demangle/abi_text/09.cc
deleted file mode 100644 (file)
index 67abf85..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-// 2003-02-26 Benjamin Kosnik <bkoz@redhat.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>
-
-// Specific examples mentioned in the IA64 C++ ABI text
-// http://www.codesourcery.com/cxx-abi/abi.html#mangling
-int main()
-{
-  using namespace __gnu_test;
-
-  // encoding of N::f::X::g() 
-  // (third local mangled entity used as a class-qualifier) 
-  // cplus-dem FAIL
-  // icc CORE
-  verify_demangle("_ZNZN1N1fEiE1X1gE", "error code = -2: invalid mangled name");
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/demangle/abi_text/10.cc b/libstdc++-v3/testsuite/demangle/abi_text/10.cc
deleted file mode 100644 (file)
index f9c651f..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-// 2003-02-26 Benjamin Kosnik <bkoz@redhat.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>
-
-// Specific examples mentioned in the IA64 C++ ABI text
-// http://www.codesourcery.com/cxx-abi/abi.html#mangling
-int main()
-{
-  using namespace __gnu_test;
-
-  verify_demangle("_ZNZN1N1fEiE1X1gEv", 
-                 "error code = -2: invalid mangled name");
-
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/demangle/abi_text/11.cc b/libstdc++-v3/testsuite/demangle/abi_text/11.cc
deleted file mode 100644 (file)
index 8c458e9..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-// 2003-02-26 Benjamin Kosnik <bkoz@redhat.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>
-
-// Specific examples mentioned in the IA64 C++ ABI text
-// http://www.codesourcery.com/cxx-abi/abi.html#mangling
-int main()
-{
-  using namespace __gnu_test;
-
-  // 5.1.7 Compression.
-  // typedef void T();
-  // struct S {};
-  // void f(T*, T (S::*)) { }
-  // Equivalent, void variance.
-  // standard text, not possible
-  // verify_demangle("_Z1fPFvvEM1SFvvE", "void f(T*, T (S::*))");
-  verify_demangle("_Z1fPFvvEM1SFvvE", "f(void (*)(), void (S::*)())");
-  // demangle("_Z1fPFvvEM1SFvvE", "f(void (*)(void), void (S::*)(void))");
-
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/demangle/abi_text/12.cc b/libstdc++-v3/testsuite/demangle/abi_text/12.cc
deleted file mode 100644 (file)
index 4db3df4..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-// 2003-02-26 Benjamin Kosnik <bkoz@redhat.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>
-
-// Specific examples mentioned in the IA64 C++ ABI text
-// http://www.codesourcery.com/cxx-abi/abi.html#mangling
-int main()
-{
-  using namespace __gnu_test;
-
-  // N::T<int, int>::mf(N::T<double, double>)
-  verify_demangle("_ZN1N1TIiiE2mfES0_IddE", 
-                 "N::T<int, int>::mf(N::T<double, double>)");
-
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/demangle/abi_text/13.cc b/libstdc++-v3/testsuite/demangle/abi_text/13.cc
deleted file mode 100644 (file)
index 5b6f64a..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-// 2003-02-26 Benjamin Kosnik <bkoz@redhat.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>
-
-// Specific examples mentioned in the IA64 C++ ABI text
-// http://www.codesourcery.com/cxx-abi/abi.html#mangling
-int main()
-{
-  using namespace __gnu_test;
-
-  // std::state
-  verify_demangle("_ZSt5state", "std::state"); 
-
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/demangle/abi_text/14.cc b/libstdc++-v3/testsuite/demangle/abi_text/14.cc
deleted file mode 100644 (file)
index cde1cbf..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-// 2003-02-26 Benjamin Kosnik <bkoz@redhat.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>
-
-// Specific examples mentioned in the IA64 C++ ABI text
-// http://www.codesourcery.com/cxx-abi/abi.html#mangling
-int main()
-{
-  using namespace __gnu_test;
-
-  // std::_In::ward
-  verify_demangle("_ZNSt3_In4wardE", "std::_In::ward");
-
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/demangle/regression/3111-1.cc b/libstdc++-v3/testsuite/demangle/regression/3111-1.cc
deleted file mode 100644 (file)
index f21aed0..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-// 2003-02-26 Benjamin Kosnik <bkoz@redhat.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>
-
-// c++/3111
-int main()
-{
-  using namespace __gnu_test;
-
-  verify_demangle("_Z1fKPFiiE", "f(int (* const)(int))");
-
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/demangle/regression/3111-2.cc b/libstdc++-v3/testsuite/demangle/regression/3111-2.cc
deleted file mode 100644 (file)
index 725cc55..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-// 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>
-
-// c++/3111
-int main()
-{
-  using namespace __gnu_test;
-
-  // cplus-dem FAIL
-  // icc FAIL
-  // verify_demangle("_Z1fAszL_ZZNK1N1A1fEvE3foo_0E_i", 
-  //       "f(int[sizeof(N::A::f() const::foo())])");
-  verify_demangle("_Z1fAszL_ZZNK1N1A1fEvE3foo_0E_i", 
-                 "f(int [sizeof (N::A::f() const::foo)])");
-
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/demangle/regression/7986-01.cc b/libstdc++-v3/testsuite/demangle/regression/7986-01.cc
deleted file mode 100644 (file)
index 67eeb67..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-// 2003-02-26 Benjamin Kosnik <bkoz@redhat.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>
-
-// libstdc++/7986
-int main()
-{
-  using namespace __gnu_test;
-  // cplus-dem FAIL
-  verify_demangle("_Z1fA37_iPS_", "f(int [37], int (*) [37])");
-
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/demangle/regression/7986-02.cc b/libstdc++-v3/testsuite/demangle/regression/7986-02.cc
deleted file mode 100644 (file)
index 4d9e3ad..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-// 2003-02-26 Benjamin Kosnik <bkoz@redhat.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>
-
-// libstdc++/7986
-int main()
-{
-  using namespace __gnu_test;
-
-  // Equivalent, but formatting difference in void argument.
-  //  verify_demangle("_Z1fM1AFivEPS0_", "f(int (A::*)(void), int (*)(void))");
-  verify_demangle("_Z1fM1AFivEPS0_", "f(int (A::*)(), int (*)())");
-
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/demangle/regression/7986-03.cc b/libstdc++-v3/testsuite/demangle/regression/7986-03.cc
deleted file mode 100644 (file)
index c4da14d..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-// 2003-02-26 Benjamin Kosnik <bkoz@redhat.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>
-
-// libstdc++/7986
-int main()
-{
-  using namespace __gnu_test;
-
-  // cplus-dem FAIL
-  verify_demangle("_Z1fPFPA1_ivE", "f(int (*(*)()) [1])");
-
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/demangle/regression/7986-04.cc b/libstdc++-v3/testsuite/demangle/regression/7986-04.cc
deleted file mode 100644 (file)
index 4650794..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-// 2003-02-26 Benjamin Kosnik <bkoz@redhat.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>
-
-// libstdc++/7986
-int main()
-{
-  using namespace __gnu_test;
-
-  // cplus-dem FAIL
-  verify_demangle("_Z1fPKM1AFivE", "f(int (A::* const*)())");
-
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/demangle/regression/7986-05.cc b/libstdc++-v3/testsuite/demangle/regression/7986-05.cc
deleted file mode 100644 (file)
index 4ca3eb4..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-// 2003-02-26 Benjamin Kosnik <bkoz@redhat.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>
-
-// libstdc++/7986
-int main()
-{
-  using namespace __gnu_test;
-
-  // cplus-dem FAIL  
-  verify_demangle("_Z1jM1AFivEPS1_", "j(int (A::*)(), int (A::**)())");
-
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/demangle/regression/7986-06.cc b/libstdc++-v3/testsuite/demangle/regression/7986-06.cc
deleted file mode 100644 (file)
index 04881eb..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-// 2003-02-26 Benjamin Kosnik <bkoz@redhat.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>
-
-// libstdc++/7986
-int main()
-{
-  using namespace __gnu_test;
-
-  // cplus-dem FAIL
-  verify_demangle("_Z1sPA37_iPS0_", "s(int (*) [37], int (**) [37])");
-
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/demangle/regression/7986-07.cc b/libstdc++-v3/testsuite/demangle/regression/7986-07.cc
deleted file mode 100644 (file)
index 45ebff7..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-// 2003-02-26 Benjamin Kosnik <bkoz@redhat.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>
-
-// libstdc++/7986
-int main()
-{
-  using namespace __gnu_test;
-
- // cplus-dem FAIL
-  verify_demangle("_Z3fooA30_A_i", "foo(int [30][])");
-
-
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/demangle/regression/7986-08.cc b/libstdc++-v3/testsuite/demangle/regression/7986-08.cc
deleted file mode 100644 (file)
index 148add2..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-// 2003-02-26 Benjamin Kosnik <bkoz@redhat.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>
-
-// libstdc++/7986
-int main()
-{
-  using namespace __gnu_test;
-
-  // cplus-dem FAIL
-  verify_demangle("_Z3kooPA28_A30_i", "koo(int (*) [28][30])");
-
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/demangle/regression/7986-09.cc b/libstdc++-v3/testsuite/demangle/regression/7986-09.cc
deleted file mode 100644 (file)
index 7ac3ac0..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-// 2003-02-26 Benjamin Kosnik <bkoz@redhat.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>
-
-// libstdc++/7986
-int main()
-{
-  using namespace __gnu_test;
-
- // cplus-dem FAIL
-  // Equivalent as considered order-insensitive?
-  // standard text, icc FAIL
-  //  verify_demangle("_ZlsRKU3fooU4bart1XS0_", 
-  //     "operator<<(X const foo bart&, X const foo bart)");
-  // new __cxa_demangle
-  verify_demangle("_ZlsRKU3fooU4bart1XS0_", 
-                 "operator<<(X bart foo const&, X bart)");
-
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/demangle/regression/7986-10.cc b/libstdc++-v3/testsuite/demangle/regression/7986-10.cc
deleted file mode 100644 (file)
index 592a9fd..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-// 2003-02-26 Benjamin Kosnik <bkoz@redhat.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>
-
-// libstdc++/7986
-int main()
-{
-  using namespace __gnu_test;
-
-  verify_demangle("_ZlsRKU3fooU4bart1XS2_", 
-                 "operator<<(X bart foo const&, X bart foo const)");
-
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/demangle/regression/7986-11.cc b/libstdc++-v3/testsuite/demangle/regression/7986-11.cc
deleted file mode 100644 (file)
index 34bc883..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-// 2003-02-26 Benjamin Kosnik <bkoz@redhat.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>
-
-// libstdc++/7986
-int main()
-{
-  using namespace __gnu_test;
-
-  // cplus-dem FAIL
-  verify_demangle("_Z1fM1AKFivE", "f(int (A::*)() const)");
-
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/demangle/regression/7986-12.cc b/libstdc++-v3/testsuite/demangle/regression/7986-12.cc
deleted file mode 100644 (file)
index 819a915..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-// 2003-02-26 Benjamin Kosnik <bkoz@redhat.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>
-
-// libstdc++/7986
-int main()
-{
-  using namespace __gnu_test;
-
-  // ICE on figmative float template parameters?
-  /*
-  demangle("_Z3absILd1c1f1496f8a44219EEvv", "void abs<3.14159e-173>()");
-  demangle("_Z3absILd40092acd9e83e426EEvv", "void abs<3.1459>()");
-  demangl("_Z3absILe08042191a6cc56a2fe117becEEvv", "void abs<1.234e-2345l>()");
-  demangle("_Z3absILf4016147bEEvv", "void abs<2.345f>()");
-  demangle("_Z3absILfc1800000EEvv", " void abs<-16f>()");
-  demangle("_Z3absILe804bfff8000000000000000EEvv", "void abs<-1l>()");
-  */
-
-  // template<int D> void abs(void) { };
-  // template void abs<11>(void);
-  // Equivalent, but formatting difference in void argument.
-  // verify_demangle("_Z3absILi11EEvv", "void abs<(int)11>()");
-  verify_demangle("_Z3absILi11EEvv", "void abs<11>()");
-
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/demangle/regression/7986.cc b/libstdc++-v3/testsuite/demangle/regression/7986.cc
deleted file mode 100644 (file)
index 7cea896..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-// 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;
-
-
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/demangle/regression/8897.cc b/libstdc++-v3/testsuite/demangle/regression/8897.cc
deleted file mode 100644 (file)
index 1a7e545..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-// 2003-02-26  Martin v. Loewis  <martin@v.loewis.de>
-
-// 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>
-
-// c++/8897
-int main()
-{
-  using namespace __gnu_test;
-
-  /*
-    template<typename T1>
-      struct A 
-      {
-        template<typename T2>
-         operator T2();
-      };
-    
-    A<float> a;
-    (int)a;            <-- that function.
-  */
-  /*  
-      Using "operator int()" is ambigious because that
-      could be either:
-    
-      operator int();
-      
-      or
-      
-      template<typename T>
-      operator T();      
-      with T = int.
-
-      - Carlo Wood
-  */
-  // cplus-dem FAIL  
-  // icc FAIL
-  // new __cxa_demangle FAIL
-  verify_demangle("_ZN1AIfEcvT_IiEEv", "A<float>::operator int<int>()");
-
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/demangle/regression/cw-01.cc b/libstdc++-v3/testsuite/demangle/regression/cw-01.cc
deleted file mode 100644 (file)
index 920c14d..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-// 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;
-
-  /*
-class libcw_app_ct {
-public:
-  void dummy(char const*) { }
-  template<typename T>
-    static void add_option(void (T::*)(char const*), char const*, char, 
-                           char const*, char const*);
-};
-
-template<typename T>
-  void libcw_app_ct::add_option(void (T::*)(char const*), char const*, char, 
-                                char const*, char const*)
-{ }
-
-void fn(void)
-{
-  // Instantiation.
-  libcw_app_ct::add_option(&libcw_app_ct::dummy, "", '\0', "", "");
-}
-*/
-verify_demangle("_ZN12libcw_app_ct10add_optionIS_EEvMT_FvPKcES3_cS3_S3_",
-       "void libcw_app_ct::add_option<libcw_app_ct>(void (libcw_app_ct::*)(char const*), char const*, char, char const*, char const*)");
-
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/demangle/regression/cw-02.cc b/libstdc++-v3/testsuite/demangle/regression/cw-02.cc
deleted file mode 100644 (file)
index b38c323..0000000
+++ /dev/null
@@ -1,59 +0,0 @@
-// 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 libcw {
-  namespace debug {
-    class memblk_types_manipulator_data_ct { };
-  }
-  template<typename T>
-    class omanip_id_tct { };
-  namespace {
-    template<typename T>
-      class compiler_bug_workaround {
-      public:
-       static std::vector<int> ids;
-      };
-    template<typename T>
-      std::vector<int> compiler_bug_workaround<T>::ids;
-    typedef std::vector<libcw::omanip_id_tct<libcw::debug::memblk_types_manipulator_data_ct> > vector_t;
-    compiler_bug_workaround<vector_t> dummy;
-  }
-}
-
-void g(void)
-{
-  // Instantiation.
-  libcw::dummy.ids.size();
-}
-*/
-  verify_demangle("_ZGVN5libcw24_GLOBAL__N_cbll.cc0ZhUKa23compiler_bug_workaroundISt6vectorINS_13omanip_id_tctINS_5debug32memblk_types_manipulator_data_ctEEESaIS6_EEE3idsE", "guard variable for libcw::(anonymous namespace)::compiler_bug_workaround<std::vector<libcw::omanip_id_tct<libcw::debug::memblk_types_manipulator_data_ct>, std::allocator<libcw::omanip_id_tct<libcw::debug::memblk_types_manipulator_data_ct> > > >::ids");
-
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/demangle/regression/cw-03.cc b/libstdc++-v3/testsuite/demangle/regression/cw-03.cc
deleted file mode 100644 (file)
index 710dea6..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-// 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 libcw {
-  namespace _private_ {
-    class GlobalObject { public: void dummy(std::ostream&) const; };
-  }
-  namespace debug {
-    template<typename T>
-      class cwprint_using_tct { };
-    template<typename T>
-      cwprint_using_tct<T> cwprint_using(T const&, void (T::*)(std::ostream&) const);
-  }
-}
-
-void h(void)
-{
-  // Instantiation.
-  libcw::_private_::GlobalObject dummy;
-  (void)libcw::debug::cwprint_using(dummy, &libcw::_private_::GlobalObject::dummy);
-}
-*/
-  // cplus-dem CORE
-  verify_demangle("_ZN5libcw5debug13cwprint_usingINS_9_private_12GlobalObjectEEENS0_17cwprint_using_tctIT_EERKS5_MS5_KFvRSt7ostreamE", "libcw::debug::cwprint_using_tct<libcw::_private_::GlobalObject> libcw::debug::cwprint_using<libcw::_private_::GlobalObject>(libcw::_private_::GlobalObject const&, void (libcw::_private_::GlobalObject::*)(std::ostream&) const)");
-
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/demangle/regression/cw-04.cc b/libstdc++-v3/testsuite/demangle/regression/cw-04.cc
deleted file mode 100644 (file)
index 8a524f3..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-// 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;
-
-
-/*
-class timer_event_request_base_ct { };
-struct timer_greater { };
-
-void i(void)
-{
-  // Instantiation.
-  std::priority_queue<timer_event_request_base_ct*, std::deque<timer_event_request_base_ct*>, timer_greater> dummy;
-  dummy.top();
-}
-*/
-  verify_demangle("_ZNKSt14priority_queueIP27timer_event_request_base_ctSt5dequeIS1_SaIS1_EE13timer_greaterE3topEv", "std::priority_queue<timer_event_request_base_ct*, std::deque<timer_event_request_base_ct*, std::allocator<timer_event_request_base_ct*> >, timer_greater>::top() const");
-
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/demangle/regression/cw-05.cc b/libstdc++-v3/testsuite/demangle/regression/cw-05.cc
deleted file mode 100644 (file)
index 2b77685..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-// 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;
-
-/*
-struct memory_block_st { };
-namespace std {
-  template<typename T, typename R = T const&, typename P = T const*>
-    class _Deque_iterator {
-    public:
-      void operator==(_Deque_iterator const&) const { }
-    };
-}
-
-void j(void)
-{
-  // Instantiation.
-  std::_Deque_iterator<memory_block_st*> dummy;
-  dummy.operator==(dummy);
-}
-*/
-  verify_demangle("_ZNKSt15_Deque_iteratorIP15memory_block_stRKS1_PS2_EeqERKS5_",
-       "std::_Deque_iterator<memory_block_st*, memory_block_st* const&, memory_block_st* const*>::operator==(std::_Deque_iterator<memory_block_st*, memory_block_st* const&, memory_block_st* const*> const&) const");
-
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/demangle/regression/cw-06.cc b/libstdc++-v3/testsuite/demangle/regression/cw-06.cc
deleted file mode 100644 (file)
index a131d4c..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-// 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;
-
-/*
-struct option { };
-namespace std {
-  template<typename T1, typename T2>
-    class __normal_iterator {
-    public:
-      void operator-(__normal_iterator const&) const { }
-    };
-}
-
-void k(void)
-{
-  // Instantiation.
-  std::__normal_iterator<option const*, std::vector<option> > dummy;
-  dummy.operator-(dummy);
-}
-*/
-  verify_demangle("_ZNKSt17__normal_iteratorIPK6optionSt6vectorIS0_SaIS0_EEEmiERKS6_",
-       "std::__normal_iterator<option const*, std::vector<option, std::allocator<option> > >::operator-(std::__normal_iterator<option const*, std::vector<option, std::allocator<option> > > const&) const");
-
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/demangle/regression/cw-07.cc b/libstdc++-v3/testsuite/demangle/regression/cw-07.cc
deleted file mode 100644 (file)
index da278ac..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-// 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 libcw {
-  namespace debug {
-    class no_alloc_checking_allocator { };
-  }
-}
-namespace std {
-  template<typename T>
-    class char_traits { };
-  template<typename T, class _Traits, class _Alloc>
-    class basic_string {
-    public:
-      template<typename T2>
-       char* _S_construct(T2, T2, _Alloc const&) { return (char*)0; }
-    };
-}
-
-void l(void)
-{
-  // Instantiation.
-  std::basic_string<char, std::char_traits<char>, 
-                    libcw::debug::no_alloc_checking_allocator> dummy;
-  char* cp;
-  libcw::debug::no_alloc_checking_allocator alloc;
-  dummy._S_construct(cp, cp, alloc);
-}
-*/
-  verify_demangle("_ZNSbIcSt11char_traitsIcEN5libcw5debug27no_alloc_checking_allocatorEE12_S_constructIPcEES6_T_S7_RKS3_", "char* std::basic_string<char, std::char_traits<char>, libcw::debug::no_alloc_checking_allocator>::_S_construct<char*>(char*, char*, libcw::debug::no_alloc_checking_allocator const&)");
-
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/demangle/regression/cw-08.cc b/libstdc++-v3/testsuite/demangle/regression/cw-08.cc
deleted file mode 100644 (file)
index 01a29c0..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-// 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;
-
-/*
-class A { };
-typedef A const* a4_t[4];
-typedef a4_t* ap4_t;
-class C {
-public:
-  ap4_t c;
-};
-template<typename T1, typename T2, typename T3>
-  void f(T1, T2, T3, ap4_t, ap4_t (C::*)) { }
-
-void m(void)
-{
-  // Instantiation.
-  A a;
-  a4_t a4;
-  f(a, &a, static_cast<A const*>(&a), &a4, &C::c);
-}
-*/
-  // Equivalent, spacing differences with icc.
-  // cplus-dem FAIL
-  verify_demangle("_Z1fI1APS0_PKS0_EvT_T0_T1_PA4_S3_M1CS8_", "void f<A, A*, A const*>(A, A*, A const*, A const* (*) [4], A const* (* C::*) [4])");
-
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/demangle/regression/cw-09.cc b/libstdc++-v3/testsuite/demangle/regression/cw-09.cc
deleted file mode 100644 (file)
index 2e48a63..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-// 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;
-
-
-/*
-
-void foo(int, int*, int**, int***, int****, int*****, int******, int*******, int********, int*********, int**********, int***********, int************, int*************, int**************, int***************)
-{
-}
-
-void n(void)
-{
-  int i0;
-  int* i1;
-  int** i2;
-  int*** i3;
-  int**** i4;
-  int***** i5;
-  int****** i6;
-  int******* i7;
-  int******** i8;
-  int********* i9;
-  int********** i10;
-  int*********** i11;
-  int************ i12;
-  int************* i13;
-  int************** i14;
-  int*************** i15;
-  foo(i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15);
-}
-*/
-  // cplus-dem FAIL  
-   verify_demangle("_Z3fooiPiPS_PS0_PS1_PS2_PS3_PS4_PS5_PS6_PS7_PS8_PS9_PSA_PSB_PSC_", "foo(int, int*, int**, int***, int****, int*****, int******, int*******, int********, int*********, int**********, int***********, int************, int*************, int**************, int***************)");
-
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/demangle/regression/cw-10.cc b/libstdc++-v3/testsuite/demangle/regression/cw-10.cc
deleted file mode 100644 (file)
index 61fe7c9..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-// 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;
-}
diff --git a/libstdc++-v3/testsuite/demangle/regression/cw-11.cc b/libstdc++-v3/testsuite/demangle/regression/cw-11.cc
deleted file mode 100644 (file)
index fbb869e..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-// 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;
-
-  // cplus-dem CORE
-  verify_demangle("_X11TransParseAddress",
-                 "error code = -2: invalid mangled name");
-
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/demangle/regression/cw-12.cc b/libstdc++-v3/testsuite/demangle/regression/cw-12.cc
deleted file mode 100644 (file)
index 8466715..0000000
+++ /dev/null
@@ -1,88 +0,0 @@
-// 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<bool b, int i>
-    class __default_alloc_template { };
-
-  template<typename CHAR>
-    class string_char_traits { };
-
-  template<class BASIC_STRING, class ADAPTOR>
-    struct _Alloc_traits {
-      static char _S_instanceless;
-    };
-  template<class BASIC_STRING, class ADAPTOR>
-    char _Alloc_traits<BASIC_STRING, ADAPTOR>::_S_instanceless;
-}
-namespace libcw {
-  namespace debug {
-    namespace _private_ {
-      template<typename CHAR, class ALLOCATOR, bool b>
-       class allocator_adaptor { };
-    }
-  }
-}
-
-char x;
-void q(void)
-{
-  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
-    >
-  > dummy1;
-  x = dummy1._S_instanceless;
-}
-*/
-    // cplus-dem FAIL 
-    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");
-
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/demangle/regression/cw-13.cc b/libstdc++-v3/testsuite/demangle/regression/cw-13.cc
deleted file mode 100644 (file)
index ae621f0..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-// 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;
-
-  // cplus-dem CORE
-  verify_demangle("_GLOBAL__I__Z2fnv", "global constructors keyed to _Z2fnv");
-
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/demangle/regression/cw-14.cc b/libstdc++-v3/testsuite/demangle/regression/cw-14.cc
deleted file mode 100644 (file)
index aa250f0..0000000
+++ /dev/null
@@ -1,72 +0,0 @@
-// 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;
-
-/*
-struct G {
-  int m(void) const { return 0; }
-  int n(void) { return 0; }
-};
-
-struct H {
-  int m(void) const { return 0; }
-  int n(void) { return 0; }
-};
-
-template<typename T>
-  class what
-  {
-  };
-
-template<typename T>
-  class what2
-  {
-  };
-
-void r(int (G::*)(void),
-       int (G::*)(void) const,
-       G, // S_ 
-       int (H::*)(void), // M1HS0_
-       int (G::*)(void), // S1_
-       what<G const>, // what<S2_>
-  what2<G const>, // what2<S8_>
-    int (G::*)(void) const // S3_ 
-{
-  G g;
-  what<G const> y;
-  what2<G const> y2;
-  r(&G::n, &G::m, g, &H::n, &G::n, y, y2, &G::m);
-}
-*/
-
-  // cplus-dem CORE
-verify_demangle("_Z1rM1GFivEMS_KFivES_M1HFivES1_4whatIKS_E5what2IS8_ES3_",
-               "r(int (G::*)(), int (G::*)() const, G, int (H::*)(), int (G::*)(), what<G const>, what2<G const>, int (G::*)() const)");
-
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/demangle/regression/cw-15.cc b/libstdc++-v3/testsuite/demangle/regression/cw-15.cc
deleted file mode 100644 (file)
index cca8e96..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-// 2003-10-14  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;
-
-  // cplus-dem CORE
-verify_demangle("_Z1xINiEE",
-               "error code = -2: invalid mangled name");
-
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/demangle/regression/cw-16.cc b/libstdc++-v3/testsuite/demangle/regression/cw-16.cc
deleted file mode 100644 (file)
index 0c8c29f..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-// 2003-11-07  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>
-
-// Torturing by Carlo Wood.
-int main()
-{
-  using namespace __gnu_test;
-
-// 2003/11/07, libstdc++/12736
-verify_demangle("_Z3fooIA6_KiEvA9_KT_rVPrS4_",
-               "void foo<int const [6]>(int const [9][6], int restrict const (* volatile restrict) [9][6])");
-// 2003/11/12, libstdc++/12947
-verify_demangle("_Z1fILi5E1AEvN1CIXqugtT_Li0ELi1ELi2EEE1qE",
-                "void f<5, A>(C<(((5) > (0))) ? (1) : (2)>::q)");
-verify_demangle("_Z1fILi5EEvN1AIXcvimlT_Li22EEE1qE",
-                "void f<5>(A<(int)((5) * (22))>::q)");
-verify_demangle("_Z1fPFYPFiiEiE",
-                "f(int (*(*)(int))(int))");
-verify_demangle("_Z1fI1XENT_1tES2_",
-                "X::t f<X>(X::t)");
-verify_demangle("_Z1fILi5E1AEvN1CIXstN1T1tEEXszsrS2_1tEE1qE",
-                "void f<5, A>(C<sizeof (T::t), sizeof (T::t)>::q)");
-// 2003/12/03, libstdc++/13045
-verify_demangle("_Z1fILi1ELc120EEv1AIXplT_cviLd4028ae147ae147aeEEE",
-                "void f<1, (char)120>(A<(1) + ((int)((double)[4028ae147ae147ae]))>)");
-verify_demangle("_Z1fILi1ELc120EEv1AIXplT_cviLf3f800000EEE",
-                "void f<1, (char)120>(A<(1) + ((int)((float)[3f800000]))>)");
-verify_demangle("_Z9hairyfuncM1YKFPVPFrPA2_PM1XKFKPA3_ilEPcEiE",
-                "hairyfunc(int (* const (X::** (* restrict (* volatile* (Y::*)(int) const)(char*)) [2])(long) const) [3])");
-
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/demangle/regression/old.cc b/libstdc++-v3/testsuite/demangle/regression/old.cc
deleted file mode 100644 (file)
index 736ede7..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-// 2003-02-26 Benjamin Kosnik <bkoz@redhat.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>
-
-// old libiberty tests for gnu-v3
-int main()
-{
-  using namespace __gnu_test;
-  verify_demangle("St9bad_alloc", "std::bad_alloc");
-  return 0;
-}
index 0d059cf1d767ceb326eb64a680e4433b63700ce7..9aa32665c091b3725668c8cef0c3307d6ab20a2b 100644 (file)
@@ -272,6 +272,7 @@ proc libstdc++-dg-test { prog do_what extra_tool_flags } {
         }
     }
 
+    set select_compile "v3_target_compile"
     set options ""
     if { $extra_tool_flags != "" } {
        verbose -log "extra_tool_flags are:"
@@ -279,16 +280,17 @@ proc libstdc++-dg-test { prog do_what extra_tool_flags } {
        if { [string first "-x c" $extra_tool_flags ] != -1 } {
            # Short-circut a bunch of complicated goo here for the
            # special case of compiling a test file as a "C" file, not
-           # as C++: just use target_compile, instead of the usual
-           # gimmicks.
+           # as C++. Why? So -nostdc++ doesn't trip us up. So all the
+           # extra object files don't trip us up. So automatically
+           # linking in libstdc++ doesn't happen. So CXXFLAGS don't
+           # error.
            verbose -log "compiling and executing as C, not C++"
-            set compile_type "executable"
-            set output_file "./[file rootname [file tail $prog]].exe"
-            remote_file build delete $output_file;
-           lappend options "additional_flags=$extra_tool_flags"
-           set comp_output [target_compile "$prog" "$output_file" "$compile_type" $options];
-           set comp_output [ prune_g++_output $comp_output ];
-           return [list $comp_output $output_file]
+
+           set edit_tool_flags $extra_tool_flags
+           regsub -all ".x c" $edit_tool_flags "" edit_tool_flags
+           lappend options "additional_flags=$edit_tool_flags"
+
+           set select_compile "v3_target_compile_as_c"
         } else {
            lappend options "additional_flags=$extra_tool_flags"
        }
@@ -296,7 +298,7 @@ proc libstdc++-dg-test { prog do_what extra_tool_flags } {
 
     # There is a libstdc++_compile made for us by default (via the tool-
     # and-target file), but the defaults are lacking in goodness.
-    set comp_output [v3_target_compile "$prog" "$output_file" "$compile_type" $options];
+    set comp_output [$select_compile "$prog" "$output_file" "$compile_type" $options];
     set comp_output [ prune_g++_output $comp_output ];
 
     return [list $comp_output $output_file]
@@ -323,7 +325,6 @@ proc v3_target_compile { source dest type options } {
     global cxxflags
     global cxxldflags
     global includes
-    global blddir
     global v3-test_objs
 
     if { [target_info needs_status_wrapper] != "" && [info exists gluefile] } {
@@ -340,8 +341,9 @@ proc v3_target_compile { source dest type options } {
     # Flag setting based on type argument.
     if { $type == "executable" } {
        # Link the support objects into executables.
-       set cxx_final [concat $cxx_final ${v3-test_objs}]
         set cxx_final [concat $cxx_final $cxxldflags]
+       # lappend options "additional_flags=./libtestc++.a"
+       set cxx_final [concat $cxx_final ${v3-test_objs}]
     } else {
        if { $type == "sharedlib" } {
            # Don't link in anything.
@@ -356,6 +358,31 @@ proc v3_target_compile { source dest type options } {
 }
 
 
+# Called from libstdc++-dg-test above, but only for "C" compilation.
+# Calls back into system's target_compile to actually do the work.
+proc v3_target_compile_as_c { source dest type options } {
+    global gluefile 
+    global wrap_flags
+    global includes
+
+    if { [target_info needs_status_wrapper] != "" && [info exists gluefile] } {
+        lappend options "libs=${gluefile}"
+        lappend options "ldflags=${wrap_flags}"
+    }
+
+    set tname [target_info name]
+    set cc_final [board_info $tname compiler]
+    set cxxlibglossflags  [libgloss_link_flags]
+    set cc_final [concat $cc_final $cxxlibglossflags]
+    set cc_final [concat $cc_final $includes]
+    regsub -all ".nostdinc.." $cc_final "" cc_final
+
+    lappend options "compiler=$cc_final"
+    lappend options "timeout=600"
+
+    return [target_compile $source $dest $type $options]
+}
+
 # Build the support objects linked in with the libstdc++ tests.  In
 # addition, set v3-wchar_t, v3-threads, v3-test_objs, and v3-symver
 # appropriately.
index a05ad3adb3fa1d33f84333e58b0ba98808adb40c..6a05a27ff8dc85890d35da33bfbaf0025bf1c892 100644 (file)
@@ -53,12 +53,12 @@ if {[info exists tests_file] && [file exists $tests_file]} {
 } else {
     # Find directories that might have tests.
     set subdirs [glob "$srcdir/\[0-9\]\[0-9\]*"]
+    lappend subdirs "$srcdir/abi"
     lappend subdirs "$srcdir/backward"
-    lappend subdirs "$srcdir/demangle"
     lappend subdirs "$srcdir/ext"
     lappend subdirs "$srcdir/performance"
-    lappend subdirs "$srcdir/tr1"
     lappend subdirs "$srcdir/thread"
+    lappend subdirs "$srcdir/tr1"
     verbose "subdirs are $subdirs"
 
     # Find all the tests.