https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96531
Patrick Palka <ppalka at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Known to fail| |10.1.0, 10.2.0, 11.0
Keywords| |ice-on-valid-code
Last reconfirmed| |2020-08-12
Status|UNCONFIRMED |NEW
Summary|ICE for concepts here. |[10/11 Regression] ICE for
| |concepts here.
Ever confirmed|0 |1
Target Milestone|--- |10.3
Known to work| |9.1.0, 9.2.0, 9.3.0
CC| |nathan at acm dot org,
| |ppalka at gcc dot gnu.org
--- Comment #1 from Patrick Palka <ppalka at gcc dot gnu.org> ---
Confirmed. Here's a reduced valid testcase which exhibits a regression:
template<typename T>
constexpr bool is_bool = false;
template<>
constexpr bool is_bool<bool> = true;
template <typename... Ts>
concept C = requires {
requires (is_bool<Ts> || ...);
};
template <typename... Ts> requires C<Ts...>
void bar() {}
int main() {
bar<int, char, bool>();
}
GCC 9.1-9.3 accept this testcase with -std=c++2a -fconcepts, and GCC 10.1, 10.2
and trunk do not (by way of ICE).
It looks like we began ICEing here starting with r10-8077.