[gcc r12-6283] libstdc++: Adjust friend declarations to work with Clang
Jonathan Wakely
redi@gcc.gnu.org
Thu Jan 6 14:58:05 GMT 2022
https://gcc.gnu.org/g:ec12ddd1e7f7d6b48a593df865e7846039e7d62e
commit r12-6283-gec12ddd1e7f7d6b48a593df865e7846039e7d62e
Author: Jonathan Wakely <jwakely@redhat.com>
Date: Thu Jan 6 11:11:52 2022 +0000
libstdc++: Adjust friend declarations to work with Clang
I think this code is valid but it fails with Clang, possibly due to
https://llvm.org/PR38882
Qualifying the names makes it work for all compilers.
libstdc++-v3/ChangeLog:
* include/bits/regex.h (basic_regex, match_results): Qualify
name in friend declaration, to work around Clang bug.
Diff:
---
libstdc++-v3/include/bits/regex.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/libstdc++-v3/include/bits/regex.h b/libstdc++-v3/include/bits/regex.h
index 7480b0a5f97..46c168010bf 100644
--- a/libstdc++-v3/include/bits/regex.h
+++ b/libstdc++-v3/include/bits/regex.h
@@ -796,7 +796,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CXX11
__detail::__regex_algo_impl(_Bp, _Bp, match_results<_Bp, _Ap>&,
const basic_regex<_Cp, _Rp>&,
regex_constants::match_flag_type,
- _RegexExecutorPolicy, bool);
+ __detail::_RegexExecutorPolicy, bool);
template<typename, typename, typename, bool>
friend class __detail::_Executor;
@@ -2067,7 +2067,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CXX11
__detail::__regex_algo_impl(_Bp, _Bp, match_results<_Bp, _Ap>&,
const basic_regex<_Cp, _Rp>&,
regex_constants::match_flag_type,
- _RegexExecutorPolicy, bool);
+ __detail::_RegexExecutorPolicy, bool);
// Reset contents to __size unmatched sub_match objects
// (plus additional objects for prefix, suffix and unmatched sub).
More information about the Gcc-cvs
mailing list