Hi
Minor patch, just need to confirm that constexpr implies inline, no ?
libstdc++: Avoid _GLIBCXX20_CONSTEXPR in C++ >= 20 code section
libstdc++-v3/ChangeLog:
* include/std/vector (std::erase_if): Replace
_GLIBCXX20_CONSTEXPR
with 'constexpr' and remove implied 'inline' keyword.
Ok to commit ?
François
diff --git a/libstdc++-v3/include/std/vector b/libstdc++-v3/include/std/vector
index cdc30cbff6d..3146f283944 100644
--- a/libstdc++-v3/include/std/vector
+++ b/libstdc++-v3/include/std/vector
@@ -112,8 +112,7 @@ namespace std _GLIBCXX_VISIBILITY(default)
_GLIBCXX_BEGIN_NAMESPACE_VERSION
template<typename _Tp, typename _Alloc, typename _Predicate>
- _GLIBCXX20_CONSTEXPR
- inline typename vector<_Tp, _Alloc>::size_type
+ constexpr typename vector<_Tp, _Alloc>::size_type
erase_if(vector<_Tp, _Alloc>& __cont, _Predicate __pred)
{
using namespace __gnu_cxx;
@@ -134,8 +133,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
template<typename _Tp, typename _Alloc,
typename _Up _GLIBCXX26_DEF_VAL_T(_Tp)>
- _GLIBCXX20_CONSTEXPR
- inline typename vector<_Tp, _Alloc>::size_type
+ constexpr typename vector<_Tp, _Alloc>::size_type
erase(vector<_Tp, _Alloc>& __cont, const _Up& __value)
{ return std::erase_if(__cont, __gnu_cxx::__ops::__equal_to(__value)); }