From daf6948991decedd3089597ed45ca90a9ec91ef2 Mon Sep 17 00:00:00 2001 From: Jonathan Wakely Date: Thu, 10 May 2018 13:35:45 +0100 Subject: [PATCH] PR libstdc++/85729 add linkage specifications to headers PR libstdc++/85729 * include/bits/c++config.h (__replacement_assert): Add linkage specification. * include/bits/std_abs.h: Add comment to closing brace of block. * include/c_global/cstddef: Add linkage specification. * include/c_global/cstring: Likewise. * include/c_global/cwchar: Likewise. From-SVN: r260114 --- libstdc++-v3/ChangeLog | 10 ++++++++++ libstdc++-v3/include/bits/c++config | 2 +- libstdc++-v3/include/bits/std_abs.h | 2 +- libstdc++-v3/include/c_global/cstddef | 7 +++++-- libstdc++-v3/include/c_global/cstring | 3 +++ libstdc++-v3/include/c_global/cwchar | 3 +++ 6 files changed, 23 insertions(+), 4 deletions(-) diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 2416cdca9e5..53d84b09b3a 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,13 @@ +2018-05-10 Jonathan Wakely + + PR libstdc++/85729 + * include/bits/c++config.h (__replacement_assert): Add linkage + specification. + * include/bits/std_abs.h: Add comment to closing brace of block. + * include/c_global/cstddef: Add linkage specification. + * include/c_global/cstring: Likewise. + * include/c_global/cwchar: Likewise. + 2018-05-09 François Dumont * include/debug/safe_iterator.h (_Safe_iterator<>::_M_constant()): diff --git a/libstdc++-v3/include/bits/c++config b/libstdc++-v3/include/bits/c++config index bfe268da825..280f65e1ba0 100644 --- a/libstdc++-v3/include/bits/c++config +++ b/libstdc++-v3/include/bits/c++config @@ -438,7 +438,7 @@ namespace std { // Avoid the use of assert, because we're trying to keep the // include out of the mix. - inline void + extern "C++" inline void __replacement_assert(const char* __file, int __line, const char* __function, const char* __condition) { diff --git a/libstdc++-v3/include/bits/std_abs.h b/libstdc++-v3/include/bits/std_abs.h index 6e4551d6597..bcea4f49203 100644 --- a/libstdc++-v3/include/bits/std_abs.h +++ b/libstdc++-v3/include/bits/std_abs.h @@ -105,6 +105,6 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION _GLIBCXX_END_NAMESPACE_VERSION } // namespace -} +} // extern "C"++" #endif // _GLIBCXX_BITS_STD_ABS_H diff --git a/libstdc++-v3/include/c_global/cstddef b/libstdc++-v3/include/c_global/cstddef index 36d7d716cc3..0ca3b82338a 100644 --- a/libstdc++-v3/include/c_global/cstddef +++ b/libstdc++-v3/include/c_global/cstddef @@ -49,13 +49,15 @@ #include #include +extern "C++" +{ #if __cplusplus >= 201103L namespace std { // We handle size_t, ptrdiff_t, and nullptr_t in c++config.h. using ::max_align_t; } -#endif +#endif // C++11 #if __cplusplus >= 201703L namespace std @@ -186,6 +188,7 @@ namespace std { return _IntegerType(__b); } } // namespace std -#endif +#endif // C++17 +} // extern "C++" #endif // _GLIBCXX_CSTDDEF diff --git a/libstdc++-v3/include/c_global/cstring b/libstdc++-v3/include/c_global/cstring index 399f41fb164..2bca01b7f08 100644 --- a/libstdc++-v3/include/c_global/cstring +++ b/libstdc++-v3/include/c_global/cstring @@ -68,6 +68,8 @@ #undef strtok #undef strxfrm +extern "C++" +{ namespace std _GLIBCXX_VISIBILITY(default) { _GLIBCXX_BEGIN_NAMESPACE_VERSION @@ -119,5 +121,6 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION _GLIBCXX_END_NAMESPACE_VERSION } // namespace +} // extern "C++" #endif diff --git a/libstdc++-v3/include/c_global/cwchar b/libstdc++-v3/include/c_global/cwchar index 475322ee806..7557c7768aa 100644 --- a/libstdc++-v3/include/c_global/cwchar +++ b/libstdc++-v3/include/c_global/cwchar @@ -132,6 +132,8 @@ namespace std #if _GLIBCXX_USE_WCHAR_T +extern "C++" +{ namespace std _GLIBCXX_VISIBILITY(default) { _GLIBCXX_BEGIN_NAMESPACE_VERSION @@ -231,6 +233,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION _GLIBCXX_END_NAMESPACE_VERSION } // namespace +} // extern "C++" #if _GLIBCXX_USE_C99_WCHAR -- 2.30.2