https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105128
--- Comment #4 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Jakub Jelinek <ja...@gcc.gnu.org>:

https://gcc.gnu.org/g:2a82301d409d3aa0e0b3b884e4c6daeaa0486d6b

commit r12-7968-g2a82301d409d3aa0e0b3b884e4c6daeaa0486d6b
Author: Jakub Jelinek <ja...@redhat.com>
Date:   Sat Apr 2 12:49:38 2022 +0200

    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  <ja...@redhat.com>

            PR libstdc++/105128
            * include/std/source_location (std::source_location::__impl): Move
            definition before using __builtin_ret_type.

Reply via email to