https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111106

--- Comment #4 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Simon Martin <simar...@gcc.gnu.org>:

https://gcc.gnu.org/g:cfbd8735359d84a2d716549415eac70e885167bf

commit r15-1016-gcfbd8735359d84a2d716549415eac70e885167bf
Author: Simon Martin <si...@nasilyan.com>
Date:   Fri May 24 17:00:17 2024 +0200

    Fix PR c++/111106: missing ; causes internal compiler error

    We currently fail upon the following because an assert in dependent_type_p
    fails for f's parameter

    === cut here ===
    consteval int id (int i) { return i; }
    constexpr int
    f (auto i) requires requires { id (i) } { return i; }
    void g () { f (42); }
    === cut here ===

    This patch fixes this by relaxing the assert to pass during error recovery.

    Successfully tested on x86_64-pc-linux-gnu.

            PR c++/111106

    gcc/cp/ChangeLog:

            * pt.cc (dependent_type_p): Don't fail assert during error
recovery.

    gcc/testsuite/ChangeLog:

            * g++.dg/cpp2a/consteval37.C: New test.

Reply via email to