diff options
author | Jonathan Wakely <jwakely@redhat.com> | 2019-12-20 17:10:18 +0000 |
---|---|---|
committer | Jonathan Wakely <redi@gcc.gnu.org> | 2019-12-20 17:10:18 +0000 |
commit | 7770bd7e9a889532b1970f372f3566fe86b13f09 (patch) | |
tree | f72d4d17ca34785016a26d1269e3bedb242046f4 /libstdc++-v3 | |
parent | 9260fb066b7ed0b237a3300e05fca9bffe018c6b (diff) |
libstdc++: Add inline to maybe-constexpr functions (PR 92927)
Originally these functions were always inline. I changed them in r277342
to be always constexpr, then in r277588 changed them to be constexpr for
C++14, but I didn't restore the 'inline' for C++11. That leads to linker
errors when libstdc++.so is built unoptimized, because those functions
don't get instantiated in src/c++11/string-inst.o
PR libstdc++/92927
* include/bits/alloc_traits.h (__alloc_on_copy, __alloc_on_move)
(__alloc_on_swap): Add inline specifier.
From-SVN: r279656
Diffstat (limited to 'libstdc++-v3')
-rw-r--r-- | libstdc++-v3/ChangeLog | 6 | ||||
-rw-r--r-- | libstdc++-v3/include/bits/alloc_traits.h | 6 |
2 files changed, 9 insertions, 3 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 81f7bb9b853..663312da1e3 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,9 @@ +2019-12-20 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/92927 + * include/bits/alloc_traits.h (__alloc_on_copy, __alloc_on_move) + (__alloc_on_swap): Add inline specifier. + 2019-12-20 Jerome Lambourg <lambourg@adacore.com> * acinclude.m4 (GLIBCXX_CHECK_SETRLIMIT): Test with AC_LANG_CPLUSPLUS. diff --git a/libstdc++-v3/include/bits/alloc_traits.h b/libstdc++-v3/include/bits/alloc_traits.h index 142b23fe00f..812cff0fabe 100644 --- a/libstdc++-v3/include/bits/alloc_traits.h +++ b/libstdc++-v3/include/bits/alloc_traits.h @@ -567,7 +567,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION #endif template<typename _Alloc> - _GLIBCXX14_CONSTEXPR void + _GLIBCXX14_CONSTEXPR inline void __alloc_on_copy(_Alloc& __one, const _Alloc& __two) { typedef allocator_traits<_Alloc> __traits; @@ -599,7 +599,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION #endif template<typename _Alloc> - _GLIBCXX14_CONSTEXPR void + _GLIBCXX14_CONSTEXPR inline void __alloc_on_move(_Alloc& __one, _Alloc& __two) { typedef allocator_traits<_Alloc> __traits; @@ -626,7 +626,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION #endif template<typename _Alloc> - _GLIBCXX14_CONSTEXPR void + _GLIBCXX14_CONSTEXPR inline void __alloc_on_swap(_Alloc& __one, _Alloc& __two) { typedef allocator_traits<_Alloc> __traits; |