diff options
author | Benjamin Kosnik <bkoz@redhat.com> | 2006-10-09 23:53:35 +0000 |
---|---|---|
committer | Benjamin Kosnik <bkoz@gcc.gnu.org> | 2006-10-09 23:53:35 +0000 |
commit | 3c6430a3146d2961f538cc733930118318493a0e (patch) | |
tree | 9183031544ef3b0acec40a21d55f5512e2b17b72 /libstdc++-v3/config/cpu | |
parent | 175ff229587ac8bd05d302befa738fb4bddca623 (diff) | |
download | gcc-3c6430a3146d2961f538cc733930118318493a0e.zip gcc-3c6430a3146d2961f538cc733930118318493a0e.tar.gz gcc-3c6430a3146d2961f538cc733930118318493a0e.tar.bz2 |
re PR libstdc++/29095 (cxxabi.h __cxa_cdtor_type not declared when included from "C")
2006-10-09 Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/29095
* libsupc++/cxxabi.h (__cxa_cdtor_type): Explicit "C" linkage.
* config/cpu/arm/cxxabi_tweaks.h: Same.
* config/cpu/generic/cxxabi_tweaks.h: Same.
* testsuite/abi: Add.
* testsuite/abi/header_cxxabi.cc: New.
* testsuite/demangle: Move...
* testsuite/abi/demangle: ...here.
* testsuite/libstdc++-dg/conformance.exp: Adjust testsuite file
calculation.
* scripts/create_testsuite_files: Same.
* testsuite/lib/libstdc++.exp (v3_target_compile_as_c): New.
(libstdc++-dg-test): Use it.
From-SVN: r117589
Diffstat (limited to 'libstdc++-v3/config/cpu')
-rw-r--r-- | libstdc++-v3/config/cpu/arm/cxxabi_tweaks.h | 7 | ||||
-rw-r--r-- | libstdc++-v3/config/cpu/generic/cxxabi_tweaks.h | 7 |
2 files changed, 10 insertions, 4 deletions
diff --git a/libstdc++-v3/config/cpu/arm/cxxabi_tweaks.h b/libstdc++-v3/config/cpu/arm/cxxabi_tweaks.h index 76c8a36..f8a1820 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 4b74805..4b1e732 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 |