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

Patrick Palka <ppalka at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |ice-checking
                 CC|                            |ppalka at gcc dot gnu.org
      Known to fail|                            |10.1.0, 8.4.0, 9.3.0
            Summary|internal compiler error: in |[8/9/10/11 Regression]
                   |build_over_call             |internal compiler error: in
                   |                            |build_over_call
      Known to work|                            |6.4.0

--- Comment #3 from Patrick Palka <ppalka at gcc dot gnu.org> ---
Here's a reduced testcase that ICEs when compiled with -std=c++17 since r7-3599
(when GCC is configured with --enable-checking=yes):

$ cat 95675.C
struct a {};
template <typename> struct b;
template <typename bq, typename br> struct b<bq(br)> {
  decltype(bq()(br())) c;
};
struct e {
  operator a();
};
b<e (*(e))(a)> d;

$ g++ -std=c++17 95675.C
95675.C: In instantiation of ‘struct b<e (*(e))(a)>’:                           
95675.C:9:16:   required from here                                              
95675.C:4:16: internal compiler error: in build_over_call, at cp/call.c:8945    
    4 |   decltype(bq()(br())) c;                                               
      |            ~~~~^~~~~~

Reply via email to