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.

Reply via email to