This avoids a linker error with -fkeep-inline-functions when including
<filesystem>. We can't backport the fix from trunk because it adds an
export to the shared library. By marking the "missing" symbol
always_inline for C++20 mode we don't need a definition in the library.
libstdc++-v3/ChangeLog:
PR libstdc++/108636
* include/bits/shared_ptr_base.h (__shared_ptr::operator bool):
Add always_inline attribute for C++20 and later.
{ return _M_ptr; }
/// Return true if the stored pointer is not null.
+#if __cplusplus >= 202002L
+ [[__gnu__::__always_inline__]]
+#endif
explicit operator bool() const noexcept
{ return _M_ptr != nullptr; }