https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67257
Bug ID: 67257 Summary: Internal compiler error in retrieve_specialization Product: gcc Version: 5.2.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: jasterrett at gmail dot com Target Milestone: --- Created attachment 36199 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=36199&action=edit Preprocessed code Attached find the preprocessed code. System is Linux Mint 17.2 Cinnamon 64-bit, running as guest in Oracle VirtualBox. g++ -v yields: Using built-in specs. COLLECT_GCC=g++ COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/x86_64-unknown-linux-gnu/5.2.0/lto-wrapper Target: x86_64-unknown-linux-gnu Configured with: ../gcc-5.2.0/configure --enable-languages=c,c++ --program-suffix=-5.2.0 --enable-shared --enable-threads=posix enable-libstdcxx-debug --enable-plugin --disable-werror --disable-multilib Thread model: posix gcc version 5.2.0 (GCC) Compiled as: g++ -std=c++14 -Wall -Wextra -pedantic -o test Matrix.tcc --save-temps Error message: Matrix.tcc: In substitution of ‘template<class Func> template<class T, class ... Args> T _foldl::operator()(T, Args ...) [with T = <missing>; Args = <missing>; Func = int]’: Matrix.tcc:34:51: required from here Matrix.tcc:34:51: internal compiler error: in retrieve_specialization, at cp/pt.c:1060 std::cout << foldl<std::plus<int>>(1, 2, 3, 4, 5) << std::endl; ^ 0x6452a3 retrieve_specialization ../../gcc-5.2.0/gcc/cp/pt.c:1057 0x6596ae instantiate_template_1 ../../gcc-5.2.0/gcc/cp/pt.c:16038 0x6596ae instantiate_template(tree_node*, tree_node*, int) ../../gcc-5.2.0/gcc/cp/pt.c:16151 0x65e239 fn_type_unification(tree_node*, tree_node*, tree_node*, tree_node* const*, unsigned int, tree_node*, unification_kind_t, int, bool, bool) ../../gcc-5.2.0/gcc/cp/pt.c:16500 0x61b6d9 add_template_candidate_real ../../gcc-5.2.0/gcc/cp/call.c:3067 0x61bd5c add_template_candidate ../../gcc-5.2.0/gcc/cp/call.c:3164 0x61bd5c add_candidates ../../gcc-5.2.0/gcc/cp/call.c:5295 0x61ff87 build_op_call_1 ../../gcc-5.2.0/gcc/cp/call.c:4281 0x61ff87 build_op_call(tree_node*, vec<tree_node*, va_gc, vl_embed>**, int) ../../gcc-5.2.0/gcc/cp/call.c:4368 0x6e73b8 finish_call_expr(tree_node*, vec<tree_node*, va_gc, vl_embed>**, bool, bool, int) ../../gcc-5.2.0/gcc/cp/semantics.c:2426 0x69b691 cp_parser_postfix_expression ../../gcc-5.2.0/gcc/cp/parser.c:6375 0x69db29 cp_parser_unary_expression ../../gcc-5.2.0/gcc/cp/parser.c:7438 0x69e997 cp_parser_simple_cast_expression ../../gcc-5.2.0/gcc/cp/parser.c:23892 0x69e997 cp_parser_binary_expression ../../gcc-5.2.0/gcc/cp/parser.c:8230 0x69ec9d cp_parser_assignment_expression ../../gcc-5.2.0/gcc/cp/parser.c:8430 0x6a1011 cp_parser_expression ../../gcc-5.2.0/gcc/cp/parser.c:8584 0x6a16c6 cp_parser_expression_statement ../../gcc-5.2.0/gcc/cp/parser.c:9991 0x698305 cp_parser_statement ../../gcc-5.2.0/gcc/cp/parser.c:9842 0x698e92 cp_parser_statement_seq_opt ../../gcc-5.2.0/gcc/cp/parser.c:10114 0x698fc3 cp_parser_compound_statement ../../gcc-5.2.0/gcc/cp/parser.c:10068 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.