diff options
author | Jakub Jelinek <jakub@redhat.com> | 2022-04-02 12:49:38 +0200 |
---|---|---|
committer | Jakub Jelinek <jakub@redhat.com> | 2022-04-02 12:49:38 +0200 |
commit | 2a82301d409d3aa0e0b3b884e4c6daeaa0486d6b (patch) | |
tree | 43de7f092e1afc698a3272b4b65091a44cb0400b /gcc | |
parent | f0ccbe10f152b55fb809264d2ae11c724ab09ff6 (diff) | |
download | gcc-2a82301d409d3aa0e0b3b884e4c6daeaa0486d6b.zip gcc-2a82301d409d3aa0e0b3b884e4c6daeaa0486d6b.tar.gz gcc-2a82301d409d3aa0e0b3b884e4c6daeaa0486d6b.tar.bz2 |
libstdc++: Tweak source_location for clang trunk [PR105128]
Apparently clang trunk implemented __builtin_source_location(), but the
using __builtin_ret_type = decltype(__builtin_source_location());
which has been added for it isn't enough, they also need the
std::source_location::__impl class to be defined (but incomplete seems
to be good enough) before the builtin is used.
The following has been tested on godbolt with clang trunk (old version
fails with
error: 'std::source_location::__impl' was not found; it must be defined before '__builtin_source_location' is called
and some follow-up errors), getting back to just void * instead of
__builtin_ret_type and commenting out using doesn't work either and
just struct __impl; before using __builtin_ret_type doesn't work too.
2022-04-02 Jakub Jelinek <jakub@redhat.com>
PR libstdc++/105128
* include/std/source_location (std::source_location::__impl): Move
definition before using __builtin_ret_type.
Diffstat (limited to 'gcc')
0 files changed, 0 insertions, 0 deletions