https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66743
Bug ID: 66743
Summary: ICE on formerly working code
Product: gcc
Version: c++-concepts
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: webrown.cpp at gmail dot com
Target Milestone: ---
This appears to be a recently introduced regression. Although I'm using the
concepts branch, no concepts features are used to reproduce the problem.
Reduced test case:
template< class T >
struct
type_is { using type = T; };
template< class T >
using underlying_type = type_is<__underlying_type(T)>;
int
main( )
{
return 0;
}
Compiler version:
concepts-g++ (GCC) 6.0.0 20150702 (experimental)
Command line (numerous -W options elided):
concepts-g++ -Og -std=c++1z ... <filename>
Diagnostic:
internal compiler error: tree check: expected record_type or union_type or
qual_union_type, have underlying_type in for_each_template_parm_r, at
cp/pt.c:8726