[Bug c++/108179] New: [11/12 regression] ICE related to template template parameters in tsubst, at cp/pt.cc:15782
s at stu dot scot
gcc-bugzilla@gcc.gnu.org
Mon Dec 19 16:11:01 GMT 2022
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108179
Bug ID: 108179
Summary: [11/12 regression] ICE related to template template
parameters in tsubst, at cp/pt.cc:15782
Product: gcc
Version: 12.2.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: s at stu dot scot
Target Milestone: ---
Created attachment 54126
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=54126&action=edit
Bug report from -freport-bug
The following code produces an internal compiler error on all g++ 11 and 12
versions I tried. This is the most minimal example I could come up with. It
compiles fine under g++ 10 and clang.
```
template <class T, T X, template <T> class F>
struct Foo {};
template <class T0, class T1, T1 X, template <T1> class F>
void f(Foo<T1, X, F>) {}
```
Works in:
* g++-10 (Ubuntu 10.4.0-4ubuntu1~22.04) 10.4.0
Doesn't work in:
* g++-11 (Ubuntu 11.3.0-1ubuntu1~22.04) 11.3.0
* g++-12 (Ubuntu 12.1.0-2ubuntu1~22.04) 12.1.0
* x86-64 gcc 12.2 on compiler explorer: https://godbolt.org/z/EMncPKcea
More information about the Gcc-bugs
mailing list