diff options
author | Jonathan Wakely <jwakely@redhat.com> | 2022-09-29 11:30:05 +0100 |
---|---|---|
committer | Jonathan Wakely <jwakely@redhat.com> | 2022-09-29 12:47:37 +0100 |
commit | df7f2736509cfe5e1dd7d9f263355c5043347a9c (patch) | |
tree | 1b652a884d94d32fda304908fdb83f8598d71398 /gcc | |
parent | a1f7f9541c2b20eb44750b9c15cd831c62d67f21 (diff) | |
download | gcc-df7f2736509cfe5e1dd7d9f263355c5043347a9c.zip gcc-df7f2736509cfe5e1dd7d9f263355c5043347a9c.tar.gz gcc-df7f2736509cfe5e1dd7d9f263355c5043347a9c.tar.bz2 |
libstdc++: Guard use of new built-in with __has_builtin
I forgot that non-GCC compilers don't have this built-in yet.
For Clang we could do something like the check below (as described in
P2255), but for now I'm just fixing the regression.
#if __has_builtin((__reference_binds_to_temporary)
bool _Dangle = __reference_binds_to_temporary(_Tp, _Res_t)
&& __and_<is_reference<_Tp>,
__not_<is_reference<_Res_t>>,
is_convertible<__remove_cvref_t<_Res_t>*,
__remove_cvref_t<_Tp>*>>::value
#endif
libstdc++-v3/ChangeLog:
* include/std/type_traits (__is_invocable_impl): Check
__has_builtin(__reference_converts_from_temporary) before using
built-in.
Diffstat (limited to 'gcc')
0 files changed, 0 insertions, 0 deletions