diff options
-rw-r--r-- | libstdc++-v3/ChangeLog | 16 | ||||
-rw-r--r-- | libstdc++-v3/config/cpu/arm/cxxabi_tweaks.h | 7 | ||||
-rw-r--r-- | libstdc++-v3/config/cpu/generic/cxxabi_tweaks.h | 7 | ||||
-rw-r--r-- | libstdc++-v3/libsupc++/cxxabi.h | 6 | ||||
-rwxr-xr-x | libstdc++-v3/scripts/create_testsuite_files | 2 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/abi/demangle/abi_examples/01.cc (renamed from libstdc++-v3/testsuite/demangle/abi_examples/01.cc) | 0 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/abi/demangle/abi_examples/02.cc (renamed from libstdc++-v3/testsuite/demangle/abi_examples/02.cc) | 0 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/abi/demangle/abi_examples/03.cc (renamed from libstdc++-v3/testsuite/demangle/abi_examples/03.cc) | 0 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/abi/demangle/abi_examples/04.cc (renamed from libstdc++-v3/testsuite/demangle/abi_examples/04.cc) | 0 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/abi/demangle/abi_examples/05.cc (renamed from libstdc++-v3/testsuite/demangle/abi_examples/05.cc) | 0 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/abi/demangle/abi_examples/06.cc (renamed from libstdc++-v3/testsuite/demangle/abi_examples/06.cc) | 0 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/abi/demangle/abi_examples/07.cc (renamed from libstdc++-v3/testsuite/demangle/abi_examples/07.cc) | 0 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/abi/demangle/abi_examples/08.cc (renamed from libstdc++-v3/testsuite/demangle/abi_examples/08.cc) | 0 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/abi/demangle/abi_examples/09.cc (renamed from libstdc++-v3/testsuite/demangle/abi_examples/09.cc) | 0 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/abi/demangle/abi_examples/10.cc (renamed from libstdc++-v3/testsuite/demangle/abi_examples/10.cc) | 0 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/abi/demangle/abi_examples/11.cc (renamed from libstdc++-v3/testsuite/demangle/abi_examples/11.cc) | 0 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/abi/demangle/abi_examples/12.cc (renamed from libstdc++-v3/testsuite/demangle/abi_examples/12.cc) | 0 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/abi/demangle/abi_examples/13.cc (renamed from libstdc++-v3/testsuite/demangle/abi_examples/13.cc) | 0 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/abi/demangle/abi_examples/14.cc (renamed from libstdc++-v3/testsuite/demangle/abi_examples/14.cc) | 0 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/abi/demangle/abi_examples/15.cc (renamed from libstdc++-v3/testsuite/demangle/abi_examples/15.cc) | 0 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/abi/demangle/abi_examples/16.cc (renamed from libstdc++-v3/testsuite/demangle/abi_examples/16.cc) | 0 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/abi/demangle/abi_examples/17.cc (renamed from libstdc++-v3/testsuite/demangle/abi_examples/17.cc) | 0 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/abi/demangle/abi_examples/18.cc (renamed from libstdc++-v3/testsuite/demangle/abi_examples/18.cc) | 0 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/abi/demangle/abi_examples/19.cc (renamed from libstdc++-v3/testsuite/demangle/abi_examples/19.cc) | 0 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/abi/demangle/abi_examples/20.cc (renamed from libstdc++-v3/testsuite/demangle/abi_examples/20.cc) | 0 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/abi/demangle/abi_examples/21.cc (renamed from libstdc++-v3/testsuite/demangle/abi_examples/21.cc) | 0 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/abi/demangle/abi_examples/22.cc (renamed from libstdc++-v3/testsuite/demangle/abi_examples/22.cc) | 0 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/abi/demangle/abi_examples/23.cc (renamed from libstdc++-v3/testsuite/demangle/abi_examples/23.cc) | 0 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/abi/demangle/abi_examples/24.cc (renamed from libstdc++-v3/testsuite/demangle/abi_examples/24.cc) | 0 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/abi/demangle/abi_examples/25.cc (renamed from libstdc++-v3/testsuite/demangle/abi_examples/25.cc) | 0 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/abi/demangle/abi_examples/26.cc (renamed from libstdc++-v3/testsuite/demangle/abi_examples/26.cc) | 0 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/abi/demangle/abi_text/01.cc (renamed from libstdc++-v3/testsuite/demangle/abi_text/01.cc) | 0 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/abi/demangle/abi_text/02.cc (renamed from libstdc++-v3/testsuite/demangle/abi_text/02.cc) | 0 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/abi/demangle/abi_text/03.cc (renamed from libstdc++-v3/testsuite/demangle/abi_text/03.cc) | 0 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/abi/demangle/abi_text/04.cc (renamed from libstdc++-v3/testsuite/demangle/abi_text/04.cc) | 0 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/abi/demangle/abi_text/05.cc (renamed from libstdc++-v3/testsuite/demangle/abi_text/05.cc) | 0 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/abi/demangle/abi_text/06.cc (renamed from libstdc++-v3/testsuite/demangle/abi_text/06.cc) | 0 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/abi/demangle/abi_text/07.cc (renamed from libstdc++-v3/testsuite/demangle/abi_text/07.cc) | 0 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/abi/demangle/abi_text/08.cc (renamed from libstdc++-v3/testsuite/demangle/abi_text/08.cc) | 0 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/abi/demangle/abi_text/09.cc (renamed from libstdc++-v3/testsuite/demangle/abi_text/09.cc) | 0 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/abi/demangle/abi_text/10.cc (renamed from libstdc++-v3/testsuite/demangle/abi_text/10.cc) | 0 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/abi/demangle/abi_text/11.cc (renamed from libstdc++-v3/testsuite/demangle/abi_text/11.cc) | 0 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/abi/demangle/abi_text/12.cc (renamed from libstdc++-v3/testsuite/demangle/abi_text/12.cc) | 0 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/abi/demangle/abi_text/13.cc (renamed from libstdc++-v3/testsuite/demangle/abi_text/13.cc) | 0 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/abi/demangle/abi_text/14.cc (renamed from libstdc++-v3/testsuite/demangle/abi_text/14.cc) | 0 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/abi/demangle/regression/3111-1.cc (renamed from libstdc++-v3/testsuite/demangle/regression/3111-1.cc) | 0 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/abi/demangle/regression/3111-2.cc (renamed from libstdc++-v3/testsuite/demangle/regression/3111-2.cc) | 0 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/abi/demangle/regression/7986-01.cc (renamed from libstdc++-v3/testsuite/demangle/regression/7986-01.cc) | 0 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/abi/demangle/regression/7986-02.cc (renamed from libstdc++-v3/testsuite/demangle/regression/7986-02.cc) | 0 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/abi/demangle/regression/7986-03.cc (renamed from libstdc++-v3/testsuite/demangle/regression/7986-03.cc) | 0 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/abi/demangle/regression/7986-04.cc (renamed from libstdc++-v3/testsuite/demangle/regression/7986-04.cc) | 0 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/abi/demangle/regression/7986-05.cc (renamed from libstdc++-v3/testsuite/demangle/regression/7986-05.cc) | 0 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/abi/demangle/regression/7986-06.cc (renamed from libstdc++-v3/testsuite/demangle/regression/7986-06.cc) | 0 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/abi/demangle/regression/7986-07.cc (renamed from libstdc++-v3/testsuite/demangle/regression/7986-07.cc) | 0 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/abi/demangle/regression/7986-08.cc (renamed from libstdc++-v3/testsuite/demangle/regression/7986-08.cc) | 0 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/abi/demangle/regression/7986-09.cc (renamed from libstdc++-v3/testsuite/demangle/regression/7986-09.cc) | 0 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/abi/demangle/regression/7986-10.cc (renamed from libstdc++-v3/testsuite/demangle/regression/7986-10.cc) | 0 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/abi/demangle/regression/7986-11.cc (renamed from libstdc++-v3/testsuite/demangle/regression/7986-11.cc) | 0 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/abi/demangle/regression/7986-12.cc (renamed from libstdc++-v3/testsuite/demangle/regression/7986-12.cc) | 0 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/abi/demangle/regression/7986.cc (renamed from libstdc++-v3/testsuite/demangle/regression/7986.cc) | 0 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/abi/demangle/regression/8897.cc (renamed from libstdc++-v3/testsuite/demangle/regression/8897.cc) | 0 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/abi/demangle/regression/cw-01.cc (renamed from libstdc++-v3/testsuite/demangle/regression/cw-01.cc) | 0 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/abi/demangle/regression/cw-02.cc (renamed from libstdc++-v3/testsuite/demangle/regression/cw-02.cc) | 0 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/abi/demangle/regression/cw-03.cc (renamed from libstdc++-v3/testsuite/demangle/regression/cw-03.cc) | 0 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/abi/demangle/regression/cw-04.cc (renamed from libstdc++-v3/testsuite/demangle/regression/cw-04.cc) | 0 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/abi/demangle/regression/cw-05.cc (renamed from libstdc++-v3/testsuite/demangle/regression/cw-05.cc) | 0 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/abi/demangle/regression/cw-06.cc (renamed from libstdc++-v3/testsuite/demangle/regression/cw-06.cc) | 0 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/abi/demangle/regression/cw-07.cc (renamed from libstdc++-v3/testsuite/demangle/regression/cw-07.cc) | 0 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/abi/demangle/regression/cw-08.cc (renamed from libstdc++-v3/testsuite/demangle/regression/cw-08.cc) | 0 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/abi/demangle/regression/cw-09.cc (renamed from libstdc++-v3/testsuite/demangle/regression/cw-09.cc) | 0 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/abi/demangle/regression/cw-10.cc (renamed from libstdc++-v3/testsuite/demangle/regression/cw-10.cc) | 0 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/abi/demangle/regression/cw-11.cc (renamed from libstdc++-v3/testsuite/demangle/regression/cw-11.cc) | 0 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/abi/demangle/regression/cw-12.cc (renamed from libstdc++-v3/testsuite/demangle/regression/cw-12.cc) | 0 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/abi/demangle/regression/cw-13.cc (renamed from libstdc++-v3/testsuite/demangle/regression/cw-13.cc) | 0 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/abi/demangle/regression/cw-14.cc (renamed from libstdc++-v3/testsuite/demangle/regression/cw-14.cc) | 0 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/abi/demangle/regression/cw-15.cc (renamed from libstdc++-v3/testsuite/demangle/regression/cw-15.cc) | 0 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/abi/demangle/regression/cw-16.cc (renamed from libstdc++-v3/testsuite/demangle/regression/cw-16.cc) | 0 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/abi/demangle/regression/old.cc (renamed from libstdc++-v3/testsuite/demangle/regression/old.cc) | 0 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/abi/header_cxxabi.c | 22 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/lib/libstdc++.exp | 51 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/libstdc++-dg/conformance.exp | 4 |
81 files changed, 93 insertions, 22 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index f9123f136f1..c88fb9984b1 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -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) diff --git a/libstdc++-v3/config/cpu/arm/cxxabi_tweaks.h b/libstdc++-v3/config/cpu/arm/cxxabi_tweaks.h index 76c8a36400e..f8a1820b734 100644 --- a/libstdc++-v3/config/cpu/arm/cxxabi_tweaks.h +++ b/libstdc++-v3/config/cpu/arm/cxxabi_tweaks.h @@ -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 diff --git a/libstdc++-v3/config/cpu/generic/cxxabi_tweaks.h b/libstdc++-v3/config/cpu/generic/cxxabi_tweaks.h index 4b74805d8b0..4b1e7320851 100644 --- a/libstdc++-v3/config/cpu/generic/cxxabi_tweaks.h +++ b/libstdc++-v3/config/cpu/generic/cxxabi_tweaks.h @@ -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 diff --git a/libstdc++-v3/libsupc++/cxxabi.h b/libstdc++-v3/libsupc++/cxxabi.h index e7b2857bb22..c0418d82588 100644 --- a/libstdc++-v3/libsupc++/cxxabi.h +++ b/libstdc++-v3/libsupc++/cxxabi.h @@ -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. // @@ -54,12 +54,12 @@ #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, diff --git a/libstdc++-v3/scripts/create_testsuite_files b/libstdc++-v3/scripts/create_testsuite_files index 74b2455d061..8d87e09d017 100755 --- a/libstdc++-v3/scripts/create_testsuite_files +++ b/libstdc++-v3/scripts/create_testsuite_files @@ -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/demangle/abi_examples/01.cc b/libstdc++-v3/testsuite/abi/demangle/abi_examples/01.cc index 85cb59d428d..85cb59d428d 100644 --- a/libstdc++-v3/testsuite/demangle/abi_examples/01.cc +++ b/libstdc++-v3/testsuite/abi/demangle/abi_examples/01.cc diff --git a/libstdc++-v3/testsuite/demangle/abi_examples/02.cc b/libstdc++-v3/testsuite/abi/demangle/abi_examples/02.cc index 408d6ae419a..408d6ae419a 100644 --- a/libstdc++-v3/testsuite/demangle/abi_examples/02.cc +++ b/libstdc++-v3/testsuite/abi/demangle/abi_examples/02.cc diff --git a/libstdc++-v3/testsuite/demangle/abi_examples/03.cc b/libstdc++-v3/testsuite/abi/demangle/abi_examples/03.cc index 70673a9a796..70673a9a796 100644 --- a/libstdc++-v3/testsuite/demangle/abi_examples/03.cc +++ b/libstdc++-v3/testsuite/abi/demangle/abi_examples/03.cc diff --git a/libstdc++-v3/testsuite/demangle/abi_examples/04.cc b/libstdc++-v3/testsuite/abi/demangle/abi_examples/04.cc index 9cf22cfa3ef..9cf22cfa3ef 100644 --- a/libstdc++-v3/testsuite/demangle/abi_examples/04.cc +++ b/libstdc++-v3/testsuite/abi/demangle/abi_examples/04.cc diff --git a/libstdc++-v3/testsuite/demangle/abi_examples/05.cc b/libstdc++-v3/testsuite/abi/demangle/abi_examples/05.cc index 293bbd4354d..293bbd4354d 100644 --- a/libstdc++-v3/testsuite/demangle/abi_examples/05.cc +++ b/libstdc++-v3/testsuite/abi/demangle/abi_examples/05.cc diff --git a/libstdc++-v3/testsuite/demangle/abi_examples/06.cc b/libstdc++-v3/testsuite/abi/demangle/abi_examples/06.cc index 3fb40043fcc..3fb40043fcc 100644 --- a/libstdc++-v3/testsuite/demangle/abi_examples/06.cc +++ b/libstdc++-v3/testsuite/abi/demangle/abi_examples/06.cc diff --git a/libstdc++-v3/testsuite/demangle/abi_examples/07.cc b/libstdc++-v3/testsuite/abi/demangle/abi_examples/07.cc index 40a6c5cef8e..40a6c5cef8e 100644 --- a/libstdc++-v3/testsuite/demangle/abi_examples/07.cc +++ b/libstdc++-v3/testsuite/abi/demangle/abi_examples/07.cc diff --git a/libstdc++-v3/testsuite/demangle/abi_examples/08.cc b/libstdc++-v3/testsuite/abi/demangle/abi_examples/08.cc index 087cfd58621..087cfd58621 100644 --- a/libstdc++-v3/testsuite/demangle/abi_examples/08.cc +++ b/libstdc++-v3/testsuite/abi/demangle/abi_examples/08.cc diff --git a/libstdc++-v3/testsuite/demangle/abi_examples/09.cc b/libstdc++-v3/testsuite/abi/demangle/abi_examples/09.cc index 3242cb541b1..3242cb541b1 100644 --- a/libstdc++-v3/testsuite/demangle/abi_examples/09.cc +++ b/libstdc++-v3/testsuite/abi/demangle/abi_examples/09.cc diff --git a/libstdc++-v3/testsuite/demangle/abi_examples/10.cc b/libstdc++-v3/testsuite/abi/demangle/abi_examples/10.cc index a47c9235462..a47c9235462 100644 --- a/libstdc++-v3/testsuite/demangle/abi_examples/10.cc +++ b/libstdc++-v3/testsuite/abi/demangle/abi_examples/10.cc diff --git a/libstdc++-v3/testsuite/demangle/abi_examples/11.cc b/libstdc++-v3/testsuite/abi/demangle/abi_examples/11.cc index 2b1f3b6a1b1..2b1f3b6a1b1 100644 --- a/libstdc++-v3/testsuite/demangle/abi_examples/11.cc +++ b/libstdc++-v3/testsuite/abi/demangle/abi_examples/11.cc diff --git a/libstdc++-v3/testsuite/demangle/abi_examples/12.cc b/libstdc++-v3/testsuite/abi/demangle/abi_examples/12.cc index 60b299f4aa6..60b299f4aa6 100644 --- a/libstdc++-v3/testsuite/demangle/abi_examples/12.cc +++ b/libstdc++-v3/testsuite/abi/demangle/abi_examples/12.cc diff --git a/libstdc++-v3/testsuite/demangle/abi_examples/13.cc b/libstdc++-v3/testsuite/abi/demangle/abi_examples/13.cc index 9c17340d9b7..9c17340d9b7 100644 --- a/libstdc++-v3/testsuite/demangle/abi_examples/13.cc +++ b/libstdc++-v3/testsuite/abi/demangle/abi_examples/13.cc diff --git a/libstdc++-v3/testsuite/demangle/abi_examples/14.cc b/libstdc++-v3/testsuite/abi/demangle/abi_examples/14.cc index fe6879c1034..fe6879c1034 100644 --- a/libstdc++-v3/testsuite/demangle/abi_examples/14.cc +++ b/libstdc++-v3/testsuite/abi/demangle/abi_examples/14.cc diff --git a/libstdc++-v3/testsuite/demangle/abi_examples/15.cc b/libstdc++-v3/testsuite/abi/demangle/abi_examples/15.cc index 9fcb64aa1e7..9fcb64aa1e7 100644 --- a/libstdc++-v3/testsuite/demangle/abi_examples/15.cc +++ b/libstdc++-v3/testsuite/abi/demangle/abi_examples/15.cc diff --git a/libstdc++-v3/testsuite/demangle/abi_examples/16.cc b/libstdc++-v3/testsuite/abi/demangle/abi_examples/16.cc index d3732ead390..d3732ead390 100644 --- a/libstdc++-v3/testsuite/demangle/abi_examples/16.cc +++ b/libstdc++-v3/testsuite/abi/demangle/abi_examples/16.cc diff --git a/libstdc++-v3/testsuite/demangle/abi_examples/17.cc b/libstdc++-v3/testsuite/abi/demangle/abi_examples/17.cc index 29274b2fee9..29274b2fee9 100644 --- a/libstdc++-v3/testsuite/demangle/abi_examples/17.cc +++ b/libstdc++-v3/testsuite/abi/demangle/abi_examples/17.cc diff --git a/libstdc++-v3/testsuite/demangle/abi_examples/18.cc b/libstdc++-v3/testsuite/abi/demangle/abi_examples/18.cc index 526b1d8d1b8..526b1d8d1b8 100644 --- a/libstdc++-v3/testsuite/demangle/abi_examples/18.cc +++ b/libstdc++-v3/testsuite/abi/demangle/abi_examples/18.cc diff --git a/libstdc++-v3/testsuite/demangle/abi_examples/19.cc b/libstdc++-v3/testsuite/abi/demangle/abi_examples/19.cc index 2d6ae3d00fb..2d6ae3d00fb 100644 --- a/libstdc++-v3/testsuite/demangle/abi_examples/19.cc +++ b/libstdc++-v3/testsuite/abi/demangle/abi_examples/19.cc diff --git a/libstdc++-v3/testsuite/demangle/abi_examples/20.cc b/libstdc++-v3/testsuite/abi/demangle/abi_examples/20.cc index eaa5db0430f..eaa5db0430f 100644 --- a/libstdc++-v3/testsuite/demangle/abi_examples/20.cc +++ b/libstdc++-v3/testsuite/abi/demangle/abi_examples/20.cc diff --git a/libstdc++-v3/testsuite/demangle/abi_examples/21.cc b/libstdc++-v3/testsuite/abi/demangle/abi_examples/21.cc index d4c69a91005..d4c69a91005 100644 --- a/libstdc++-v3/testsuite/demangle/abi_examples/21.cc +++ b/libstdc++-v3/testsuite/abi/demangle/abi_examples/21.cc diff --git a/libstdc++-v3/testsuite/demangle/abi_examples/22.cc b/libstdc++-v3/testsuite/abi/demangle/abi_examples/22.cc index d4c69a91005..d4c69a91005 100644 --- a/libstdc++-v3/testsuite/demangle/abi_examples/22.cc +++ b/libstdc++-v3/testsuite/abi/demangle/abi_examples/22.cc diff --git a/libstdc++-v3/testsuite/demangle/abi_examples/23.cc b/libstdc++-v3/testsuite/abi/demangle/abi_examples/23.cc index 57659fb0cd7..57659fb0cd7 100644 --- a/libstdc++-v3/testsuite/demangle/abi_examples/23.cc +++ b/libstdc++-v3/testsuite/abi/demangle/abi_examples/23.cc diff --git a/libstdc++-v3/testsuite/demangle/abi_examples/24.cc b/libstdc++-v3/testsuite/abi/demangle/abi_examples/24.cc index 5be5266a132..5be5266a132 100644 --- a/libstdc++-v3/testsuite/demangle/abi_examples/24.cc +++ b/libstdc++-v3/testsuite/abi/demangle/abi_examples/24.cc diff --git a/libstdc++-v3/testsuite/demangle/abi_examples/25.cc b/libstdc++-v3/testsuite/abi/demangle/abi_examples/25.cc index 3a3c019b22b..3a3c019b22b 100644 --- a/libstdc++-v3/testsuite/demangle/abi_examples/25.cc +++ b/libstdc++-v3/testsuite/abi/demangle/abi_examples/25.cc diff --git a/libstdc++-v3/testsuite/demangle/abi_examples/26.cc b/libstdc++-v3/testsuite/abi/demangle/abi_examples/26.cc index 783eafa3787..783eafa3787 100644 --- a/libstdc++-v3/testsuite/demangle/abi_examples/26.cc +++ b/libstdc++-v3/testsuite/abi/demangle/abi_examples/26.cc diff --git a/libstdc++-v3/testsuite/demangle/abi_text/01.cc b/libstdc++-v3/testsuite/abi/demangle/abi_text/01.cc index 70da290442b..70da290442b 100644 --- a/libstdc++-v3/testsuite/demangle/abi_text/01.cc +++ b/libstdc++-v3/testsuite/abi/demangle/abi_text/01.cc diff --git a/libstdc++-v3/testsuite/demangle/abi_text/02.cc b/libstdc++-v3/testsuite/abi/demangle/abi_text/02.cc index 28a617aef7d..28a617aef7d 100644 --- a/libstdc++-v3/testsuite/demangle/abi_text/02.cc +++ b/libstdc++-v3/testsuite/abi/demangle/abi_text/02.cc diff --git a/libstdc++-v3/testsuite/demangle/abi_text/03.cc b/libstdc++-v3/testsuite/abi/demangle/abi_text/03.cc index deca8721dbf..deca8721dbf 100644 --- a/libstdc++-v3/testsuite/demangle/abi_text/03.cc +++ b/libstdc++-v3/testsuite/abi/demangle/abi_text/03.cc diff --git a/libstdc++-v3/testsuite/demangle/abi_text/04.cc b/libstdc++-v3/testsuite/abi/demangle/abi_text/04.cc index 073240bd96b..073240bd96b 100644 --- a/libstdc++-v3/testsuite/demangle/abi_text/04.cc +++ b/libstdc++-v3/testsuite/abi/demangle/abi_text/04.cc diff --git a/libstdc++-v3/testsuite/demangle/abi_text/05.cc b/libstdc++-v3/testsuite/abi/demangle/abi_text/05.cc index 5b94fd80859..5b94fd80859 100644 --- a/libstdc++-v3/testsuite/demangle/abi_text/05.cc +++ b/libstdc++-v3/testsuite/abi/demangle/abi_text/05.cc diff --git a/libstdc++-v3/testsuite/demangle/abi_text/06.cc b/libstdc++-v3/testsuite/abi/demangle/abi_text/06.cc index caf11256ded..caf11256ded 100644 --- a/libstdc++-v3/testsuite/demangle/abi_text/06.cc +++ b/libstdc++-v3/testsuite/abi/demangle/abi_text/06.cc diff --git a/libstdc++-v3/testsuite/demangle/abi_text/07.cc b/libstdc++-v3/testsuite/abi/demangle/abi_text/07.cc index 6c3285a84f1..6c3285a84f1 100644 --- a/libstdc++-v3/testsuite/demangle/abi_text/07.cc +++ b/libstdc++-v3/testsuite/abi/demangle/abi_text/07.cc diff --git a/libstdc++-v3/testsuite/demangle/abi_text/08.cc b/libstdc++-v3/testsuite/abi/demangle/abi_text/08.cc index ff7e8bb1f3a..ff7e8bb1f3a 100644 --- a/libstdc++-v3/testsuite/demangle/abi_text/08.cc +++ b/libstdc++-v3/testsuite/abi/demangle/abi_text/08.cc diff --git a/libstdc++-v3/testsuite/demangle/abi_text/09.cc b/libstdc++-v3/testsuite/abi/demangle/abi_text/09.cc index 67abf85a660..67abf85a660 100644 --- a/libstdc++-v3/testsuite/demangle/abi_text/09.cc +++ b/libstdc++-v3/testsuite/abi/demangle/abi_text/09.cc diff --git a/libstdc++-v3/testsuite/demangle/abi_text/10.cc b/libstdc++-v3/testsuite/abi/demangle/abi_text/10.cc index f9c651f1f8d..f9c651f1f8d 100644 --- a/libstdc++-v3/testsuite/demangle/abi_text/10.cc +++ b/libstdc++-v3/testsuite/abi/demangle/abi_text/10.cc diff --git a/libstdc++-v3/testsuite/demangle/abi_text/11.cc b/libstdc++-v3/testsuite/abi/demangle/abi_text/11.cc index 8c458e91414..8c458e91414 100644 --- a/libstdc++-v3/testsuite/demangle/abi_text/11.cc +++ b/libstdc++-v3/testsuite/abi/demangle/abi_text/11.cc diff --git a/libstdc++-v3/testsuite/demangle/abi_text/12.cc b/libstdc++-v3/testsuite/abi/demangle/abi_text/12.cc index 4db3df44f62..4db3df44f62 100644 --- a/libstdc++-v3/testsuite/demangle/abi_text/12.cc +++ b/libstdc++-v3/testsuite/abi/demangle/abi_text/12.cc diff --git a/libstdc++-v3/testsuite/demangle/abi_text/13.cc b/libstdc++-v3/testsuite/abi/demangle/abi_text/13.cc index 5b6f64afc71..5b6f64afc71 100644 --- a/libstdc++-v3/testsuite/demangle/abi_text/13.cc +++ b/libstdc++-v3/testsuite/abi/demangle/abi_text/13.cc diff --git a/libstdc++-v3/testsuite/demangle/abi_text/14.cc b/libstdc++-v3/testsuite/abi/demangle/abi_text/14.cc index cde1cbf28d2..cde1cbf28d2 100644 --- a/libstdc++-v3/testsuite/demangle/abi_text/14.cc +++ b/libstdc++-v3/testsuite/abi/demangle/abi_text/14.cc diff --git a/libstdc++-v3/testsuite/demangle/regression/3111-1.cc b/libstdc++-v3/testsuite/abi/demangle/regression/3111-1.cc index f21aed06fdc..f21aed06fdc 100644 --- a/libstdc++-v3/testsuite/demangle/regression/3111-1.cc +++ b/libstdc++-v3/testsuite/abi/demangle/regression/3111-1.cc diff --git a/libstdc++-v3/testsuite/demangle/regression/3111-2.cc b/libstdc++-v3/testsuite/abi/demangle/regression/3111-2.cc index 725cc55f16c..725cc55f16c 100644 --- a/libstdc++-v3/testsuite/demangle/regression/3111-2.cc +++ b/libstdc++-v3/testsuite/abi/demangle/regression/3111-2.cc diff --git a/libstdc++-v3/testsuite/demangle/regression/7986-01.cc b/libstdc++-v3/testsuite/abi/demangle/regression/7986-01.cc index 67eeb67c64e..67eeb67c64e 100644 --- a/libstdc++-v3/testsuite/demangle/regression/7986-01.cc +++ b/libstdc++-v3/testsuite/abi/demangle/regression/7986-01.cc diff --git a/libstdc++-v3/testsuite/demangle/regression/7986-02.cc b/libstdc++-v3/testsuite/abi/demangle/regression/7986-02.cc index 4d9e3ad9ed6..4d9e3ad9ed6 100644 --- a/libstdc++-v3/testsuite/demangle/regression/7986-02.cc +++ b/libstdc++-v3/testsuite/abi/demangle/regression/7986-02.cc diff --git a/libstdc++-v3/testsuite/demangle/regression/7986-03.cc b/libstdc++-v3/testsuite/abi/demangle/regression/7986-03.cc index c4da14d780f..c4da14d780f 100644 --- a/libstdc++-v3/testsuite/demangle/regression/7986-03.cc +++ b/libstdc++-v3/testsuite/abi/demangle/regression/7986-03.cc diff --git a/libstdc++-v3/testsuite/demangle/regression/7986-04.cc b/libstdc++-v3/testsuite/abi/demangle/regression/7986-04.cc index 46507944df9..46507944df9 100644 --- a/libstdc++-v3/testsuite/demangle/regression/7986-04.cc +++ b/libstdc++-v3/testsuite/abi/demangle/regression/7986-04.cc diff --git a/libstdc++-v3/testsuite/demangle/regression/7986-05.cc b/libstdc++-v3/testsuite/abi/demangle/regression/7986-05.cc index 4ca3eb4f9c0..4ca3eb4f9c0 100644 --- a/libstdc++-v3/testsuite/demangle/regression/7986-05.cc +++ b/libstdc++-v3/testsuite/abi/demangle/regression/7986-05.cc diff --git a/libstdc++-v3/testsuite/demangle/regression/7986-06.cc b/libstdc++-v3/testsuite/abi/demangle/regression/7986-06.cc index 04881ebc9df..04881ebc9df 100644 --- a/libstdc++-v3/testsuite/demangle/regression/7986-06.cc +++ b/libstdc++-v3/testsuite/abi/demangle/regression/7986-06.cc diff --git a/libstdc++-v3/testsuite/demangle/regression/7986-07.cc b/libstdc++-v3/testsuite/abi/demangle/regression/7986-07.cc index 45ebff7b61e..45ebff7b61e 100644 --- a/libstdc++-v3/testsuite/demangle/regression/7986-07.cc +++ b/libstdc++-v3/testsuite/abi/demangle/regression/7986-07.cc diff --git a/libstdc++-v3/testsuite/demangle/regression/7986-08.cc b/libstdc++-v3/testsuite/abi/demangle/regression/7986-08.cc index 148add2d21e..148add2d21e 100644 --- a/libstdc++-v3/testsuite/demangle/regression/7986-08.cc +++ b/libstdc++-v3/testsuite/abi/demangle/regression/7986-08.cc diff --git a/libstdc++-v3/testsuite/demangle/regression/7986-09.cc b/libstdc++-v3/testsuite/abi/demangle/regression/7986-09.cc index 7ac3ac0f3b7..7ac3ac0f3b7 100644 --- a/libstdc++-v3/testsuite/demangle/regression/7986-09.cc +++ b/libstdc++-v3/testsuite/abi/demangle/regression/7986-09.cc diff --git a/libstdc++-v3/testsuite/demangle/regression/7986-10.cc b/libstdc++-v3/testsuite/abi/demangle/regression/7986-10.cc index 592a9fda9cc..592a9fda9cc 100644 --- a/libstdc++-v3/testsuite/demangle/regression/7986-10.cc +++ b/libstdc++-v3/testsuite/abi/demangle/regression/7986-10.cc diff --git a/libstdc++-v3/testsuite/demangle/regression/7986-11.cc b/libstdc++-v3/testsuite/abi/demangle/regression/7986-11.cc index 34bc8835861..34bc8835861 100644 --- a/libstdc++-v3/testsuite/demangle/regression/7986-11.cc +++ b/libstdc++-v3/testsuite/abi/demangle/regression/7986-11.cc diff --git a/libstdc++-v3/testsuite/demangle/regression/7986-12.cc b/libstdc++-v3/testsuite/abi/demangle/regression/7986-12.cc index 819a915726c..819a915726c 100644 --- a/libstdc++-v3/testsuite/demangle/regression/7986-12.cc +++ b/libstdc++-v3/testsuite/abi/demangle/regression/7986-12.cc diff --git a/libstdc++-v3/testsuite/demangle/regression/7986.cc b/libstdc++-v3/testsuite/abi/demangle/regression/7986.cc index 7cea89643ef..7cea89643ef 100644 --- a/libstdc++-v3/testsuite/demangle/regression/7986.cc +++ b/libstdc++-v3/testsuite/abi/demangle/regression/7986.cc diff --git a/libstdc++-v3/testsuite/demangle/regression/8897.cc b/libstdc++-v3/testsuite/abi/demangle/regression/8897.cc index 1a7e54532cb..1a7e54532cb 100644 --- a/libstdc++-v3/testsuite/demangle/regression/8897.cc +++ b/libstdc++-v3/testsuite/abi/demangle/regression/8897.cc diff --git a/libstdc++-v3/testsuite/demangle/regression/cw-01.cc b/libstdc++-v3/testsuite/abi/demangle/regression/cw-01.cc index 920c14d878d..920c14d878d 100644 --- a/libstdc++-v3/testsuite/demangle/regression/cw-01.cc +++ b/libstdc++-v3/testsuite/abi/demangle/regression/cw-01.cc diff --git a/libstdc++-v3/testsuite/demangle/regression/cw-02.cc b/libstdc++-v3/testsuite/abi/demangle/regression/cw-02.cc index b38c323eca1..b38c323eca1 100644 --- a/libstdc++-v3/testsuite/demangle/regression/cw-02.cc +++ b/libstdc++-v3/testsuite/abi/demangle/regression/cw-02.cc diff --git a/libstdc++-v3/testsuite/demangle/regression/cw-03.cc b/libstdc++-v3/testsuite/abi/demangle/regression/cw-03.cc index 710dea6d7bf..710dea6d7bf 100644 --- a/libstdc++-v3/testsuite/demangle/regression/cw-03.cc +++ b/libstdc++-v3/testsuite/abi/demangle/regression/cw-03.cc diff --git a/libstdc++-v3/testsuite/demangle/regression/cw-04.cc b/libstdc++-v3/testsuite/abi/demangle/regression/cw-04.cc index 8a524f3480c..8a524f3480c 100644 --- a/libstdc++-v3/testsuite/demangle/regression/cw-04.cc +++ b/libstdc++-v3/testsuite/abi/demangle/regression/cw-04.cc diff --git a/libstdc++-v3/testsuite/demangle/regression/cw-05.cc b/libstdc++-v3/testsuite/abi/demangle/regression/cw-05.cc index 2b776853346..2b776853346 100644 --- a/libstdc++-v3/testsuite/demangle/regression/cw-05.cc +++ b/libstdc++-v3/testsuite/abi/demangle/regression/cw-05.cc diff --git a/libstdc++-v3/testsuite/demangle/regression/cw-06.cc b/libstdc++-v3/testsuite/abi/demangle/regression/cw-06.cc index a131d4c5f5c..a131d4c5f5c 100644 --- a/libstdc++-v3/testsuite/demangle/regression/cw-06.cc +++ b/libstdc++-v3/testsuite/abi/demangle/regression/cw-06.cc diff --git a/libstdc++-v3/testsuite/demangle/regression/cw-07.cc b/libstdc++-v3/testsuite/abi/demangle/regression/cw-07.cc index da278ac6c16..da278ac6c16 100644 --- a/libstdc++-v3/testsuite/demangle/regression/cw-07.cc +++ b/libstdc++-v3/testsuite/abi/demangle/regression/cw-07.cc diff --git a/libstdc++-v3/testsuite/demangle/regression/cw-08.cc b/libstdc++-v3/testsuite/abi/demangle/regression/cw-08.cc index 01a29c0db9c..01a29c0db9c 100644 --- a/libstdc++-v3/testsuite/demangle/regression/cw-08.cc +++ b/libstdc++-v3/testsuite/abi/demangle/regression/cw-08.cc diff --git a/libstdc++-v3/testsuite/demangle/regression/cw-09.cc b/libstdc++-v3/testsuite/abi/demangle/regression/cw-09.cc index 2e48a63efd5..2e48a63efd5 100644 --- a/libstdc++-v3/testsuite/demangle/regression/cw-09.cc +++ b/libstdc++-v3/testsuite/abi/demangle/regression/cw-09.cc diff --git a/libstdc++-v3/testsuite/demangle/regression/cw-10.cc b/libstdc++-v3/testsuite/abi/demangle/regression/cw-10.cc index 61fe7c9e8e4..61fe7c9e8e4 100644 --- a/libstdc++-v3/testsuite/demangle/regression/cw-10.cc +++ b/libstdc++-v3/testsuite/abi/demangle/regression/cw-10.cc diff --git a/libstdc++-v3/testsuite/demangle/regression/cw-11.cc b/libstdc++-v3/testsuite/abi/demangle/regression/cw-11.cc index fbb869e8487..fbb869e8487 100644 --- a/libstdc++-v3/testsuite/demangle/regression/cw-11.cc +++ b/libstdc++-v3/testsuite/abi/demangle/regression/cw-11.cc diff --git a/libstdc++-v3/testsuite/demangle/regression/cw-12.cc b/libstdc++-v3/testsuite/abi/demangle/regression/cw-12.cc index 84667159378..84667159378 100644 --- a/libstdc++-v3/testsuite/demangle/regression/cw-12.cc +++ b/libstdc++-v3/testsuite/abi/demangle/regression/cw-12.cc diff --git a/libstdc++-v3/testsuite/demangle/regression/cw-13.cc b/libstdc++-v3/testsuite/abi/demangle/regression/cw-13.cc index ae621f0bfd1..ae621f0bfd1 100644 --- a/libstdc++-v3/testsuite/demangle/regression/cw-13.cc +++ b/libstdc++-v3/testsuite/abi/demangle/regression/cw-13.cc diff --git a/libstdc++-v3/testsuite/demangle/regression/cw-14.cc b/libstdc++-v3/testsuite/abi/demangle/regression/cw-14.cc index aa250f0d4af..aa250f0d4af 100644 --- a/libstdc++-v3/testsuite/demangle/regression/cw-14.cc +++ b/libstdc++-v3/testsuite/abi/demangle/regression/cw-14.cc diff --git a/libstdc++-v3/testsuite/demangle/regression/cw-15.cc b/libstdc++-v3/testsuite/abi/demangle/regression/cw-15.cc index cca8e96c0f0..cca8e96c0f0 100644 --- a/libstdc++-v3/testsuite/demangle/regression/cw-15.cc +++ b/libstdc++-v3/testsuite/abi/demangle/regression/cw-15.cc diff --git a/libstdc++-v3/testsuite/demangle/regression/cw-16.cc b/libstdc++-v3/testsuite/abi/demangle/regression/cw-16.cc index 0c8c29f28af..0c8c29f28af 100644 --- a/libstdc++-v3/testsuite/demangle/regression/cw-16.cc +++ b/libstdc++-v3/testsuite/abi/demangle/regression/cw-16.cc diff --git a/libstdc++-v3/testsuite/demangle/regression/old.cc b/libstdc++-v3/testsuite/abi/demangle/regression/old.cc index 736ede7a70e..736ede7a70e 100644 --- a/libstdc++-v3/testsuite/demangle/regression/old.cc +++ b/libstdc++-v3/testsuite/abi/demangle/regression/old.cc diff --git a/libstdc++-v3/testsuite/abi/header_cxxabi.c b/libstdc++-v3/testsuite/abi/header_cxxabi.c new file mode 100644 index 00000000000..de6ae7ec6ca --- /dev/null +++ b/libstdc++-v3/testsuite/abi/header_cxxabi.c @@ -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/lib/libstdc++.exp b/libstdc++-v3/testsuite/lib/libstdc++.exp index 0d059cf1d76..9aa32665c09 100644 --- a/libstdc++-v3/testsuite/lib/libstdc++.exp +++ b/libstdc++-v3/testsuite/lib/libstdc++.exp @@ -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. diff --git a/libstdc++-v3/testsuite/libstdc++-dg/conformance.exp b/libstdc++-v3/testsuite/libstdc++-dg/conformance.exp index a05ad3adb3f..6a05a27ff8d 100644 --- a/libstdc++-v3/testsuite/libstdc++-dg/conformance.exp +++ b/libstdc++-v3/testsuite/libstdc++-dg/conformance.exp @@ -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. |