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

--- Comment #7 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Patrick Palka <ppa...@gcc.gnu.org>:

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

commit r11-738-gaef6e234a8a78db39b4ba034cc4c100c07c294a7
Author: Patrick Palka <ppa...@redhat.com>
Date:   Fri May 29 21:12:21 2020 -0400

    c++: satisfaction value of type typedef to bool [PR95386]

    In the testcase below, the satisfaction value of fn1<int>'s constraint
    is INTEGER_CST '1' of type BOOLEAN_TYPE value_type, which is a typedef
    to the standard boolean_type_node.  But satisfaction_value expects to
    see exactly boolean_true_node or integer_one_node, which this value is
    neither, causing us to trip over the assert therein.

    This patch changes satisfaction_value to accept INTEGER_CST of any
    boolean type.

    gcc/cp/ChangeLog:

            PR c++/95386
            * constraint.cc (satisfaction_value): Accept INTEGER_CST of any
            boolean type.

    gcc/testsuite/ChangeLog:

            PR c++/95386
            * g++.dg/concepts/pr95386.C: New test.

Reply via email to