https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95386
--- Comment #8 from CVS Commits <cvs-commit at gcc dot gnu.org> --- The releases/gcc-10 branch has been updated by Patrick Palka <ppa...@gcc.gnu.org>: https://gcc.gnu.org/g:6632f2920f08f5b45ffd1ada7006d4591ef9b172 commit r10-8215-g6632f2920f08f5b45ffd1ada7006d4591ef9b172 Author: Patrick Palka <ppa...@redhat.com> Date: Fri May 29 13:09:20 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 relaxes satisfaction_value to accept any INTEGER_CST which satisfies integer_zerop or integer_onep. gcc/cp/ChangeLog: PR c++/95386 * constraint.cc (satisfaction_value): Relax to accept any INTEGER_CST that satisfies integer_zerop or integer_onep. gcc/testsuite/ChangeLog: PR c++/95386 * g++.dg/concepts/pr95386.C: New test.