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

            Bug ID: 89297
           Summary: ICE: unexpected expression 'id' of kind overload
           Product: gcc
           Version: 9.0
            Status: UNCONFIRMED
          Keywords: ice-on-valid-code
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: flast at flast dot jp
  Target Milestone: ---

ICE caused by list-initializer within template function that contains call of
overloads, like following.

```
int id(int v) { return v; }
float id(float v) { return v; }

template <typename>
int foo(int v)
{
    return int{id(v)}; // ICE on here
}
```

https://wandbox.org/permlink/XtHobAXA7lQ1jPTy

I encountered this issue after upgrade from 8 to 9, so I think it's a 9's
regression.

Reply via email to