aboutsummaryrefslogtreecommitdiff
path: root/libstdc++-v3/config/cpu
diff options
context:
space:
mode:
authorBenjamin Kosnik <bkoz@redhat.com>2006-10-09 23:53:35 +0000
committerBenjamin Kosnik <bkoz@gcc.gnu.org>2006-10-09 23:53:35 +0000
commit3c6430a3146d2961f538cc733930118318493a0e (patch)
tree9183031544ef3b0acec40a21d55f5512e2b17b72 /libstdc++-v3/config/cpu
parent175ff229587ac8bd05d302befa738fb4bddca623 (diff)
downloadgcc-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.h7
-rw-r--r--libstdc++-v3/config/cpu/generic/cxxabi_tweaks.h7
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