[Bug c++/91673] New: GCC ICE when partially specialising class template on a function-signature type with deduced noexcept qualifier
lewissbaker.opensource at gmail dot com
gcc-bugzilla@gcc.gnu.org
Thu Sep 5 16:33:00 GMT 2019
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91673
Bug ID: 91673
Summary: GCC ICE when partially specialising class template on
a function-signature type with deduced noexcept
qualifier
Product: gcc
Version: unknown
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: lewissbaker.opensource at gmail dot com
Target Milestone: ---
See https://godbolt.org/z/BndP6r
Version: GCC trunk
Command-line: -std=c++1z
Compiling the following code:
```
template<typename Sig>
struct overload;
template<typename Ret, typename... Args, bool NoExcept>
struct overload<Ret(Args...) noexcept(NoExcept)> {
using signature_t = Ret(Args...) noexcept(NoExcept);
};
overload<void()> x;
```
results in the following output:
```
<source>: In instantiation of 'struct overload<void()>':
<source>:9:18: required from here
<source>:6:11: internal compiler error: in tsubst_copy, at cp/pt.c:16183
6 | using signature_t = Ret(Args...) noexcept(NoExcept);
| ^~~~~~~~~~~
```
This seemed to compile without error under earlier releases of GCC.
More information about the Gcc-bugs
mailing list