https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63362
Ville Voutilainen <ville.voutilainen at gmail dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |REOPENED Resolution|FIXED |--- --- Comment #9 from Ville Voutilainen <ville.voutilainen at gmail dot com> --- Ouch. The test snippet is extracted from an attempt to implement is_trivially_constructible. #include <type_traits> template <typename T, class... Args> struct mytrait : public std::__and_<std::is_constructible<T, Args...>, std::integral_constant<bool, __is_trivially_constructible(T, Args...)>>::type { } trivial_trait.cpp:5:43: internal compiler error: tree check: expected class ‘type’, have ‘exceptional’ (tree_list) in strip_typedefs, at cp/tree.c:1204 __is_trivially_constructible(T, Args...)>>::type ^ 0xe02687 tree_class_check_failed(tree_node const*, tree_code_class, char const*, int, char const*) ../../gcc/tree.c:9226 0x735d28 tree_class_check(tree_node*, tree_code_class, char const*, int, char const*) ../../gcc/tree.h:2856 0x735d28 strip_typedefs(tree_node*) ../../gcc/cp/tree.c:1204 0x734c40 strip_typedefs_expr(tree_node*) ../../gcc/cp/tree.c:1396 0x5fe7d7 convert_template_argument ../../gcc/cp/pt.c:6658 0x5e125b coerce_template_parms ../../gcc/cp/pt.c:7080 0x5e92de lookup_template_class_1 ../../gcc/cp/pt.c:7661 0x5e92de lookup_template_class(tree_node*, tree_node*, tree_node*, tree_node*, int, int) ../../gcc/cp/pt.c:7979 0x6ffd62 finish_template_type(tree_node*, tree_node*, int) ../../gcc/cp/semantics.c:2981 0x692bf9 cp_parser_template_id ../../gcc/cp/parser.c:13664 0x692f08 cp_parser_class_name ../../gcc/cp/parser.c:19491 0x68707a cp_parser_qualifying_entity ../../gcc/cp/parser.c:5571 0x68707a cp_parser_nested_name_specifier_opt ../../gcc/cp/parser.c:5296 0x69f3a0 cp_parser_simple_type_specifier ../../gcc/cp/parser.c:14871 0x67ae55 cp_parser_type_specifier ../../gcc/cp/parser.c:14617 0x67c0ab cp_parser_type_specifier_seq ../../gcc/cp/parser.c:18359 0x691362 cp_parser_type_id_1 ../../gcc/cp/parser.c:18231 0x69145e cp_parser_template_type_arg ../../gcc/cp/parser.c:18281 0x691692 cp_parser_template_argument ../../gcc/cp/parser.c:14044 0x691692 cp_parser_template_argument_list ../../gcc/cp/parser.c:13954 Please submit a full bug report, with preprocessed source if appropriate. Please include the complete backtrace with any bug report. See <http://gcc.gnu.org/bugs.html> for instructions.