http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57658
Bug ID: 57658 Summary: ICE in tsubst_copy, at cp/pt.c:12213 Product: gcc Version: 4.9.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: t-gcc-bugzilla at snowelm dot com Maybe similar to PR 57109, but the attached source for the PR was compiled without problem in my environment, so I post this one as a new bug. Due to bugzilla size limit, I had to compress the preprocessed source with lzma. If you need, please download the uncompressed version at http://www.sat.t.u-tokyo.ac.jp/~mak/temp/parser.cpp.1.ii $ g++-4.9 -v Using built-in specs. COLLECT_GCC=g++-4.9 COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/x86_64-unknown-linux-gnu/4.9.0/lto-wrapper Target: x86_64-unknown-linux-gnu Configured with: ../configure --prefix=/usr/local --program-suffix=-4.9 --enable-languages=c,c++,lto Thread model: posix gcc version 4.9.0 20130620 (experimental) (GCC) $ g++-4.9 -std=c++11 src/parser.cpp.1.ii ../../src/parser.cpp: In instantiation of 'pomdp::parsed_POMDP<_POMDP_traits>::parse(std::istream&) [with _POMDP_traits = pomdp::POMDP_sparse_traits; std::istream = std::basic_istream<char>]::<lambda(const matOS&, boost::spirit::unused_type, boost::spirit::unused_type)>': ../../src/parser.cpp:291:42: required from 'struct pomdp::parsed_POMDP<_POMDP_traits>::parse(std::istream&) [with _POMDP_traits = pomdp::POMDP_sparse_traits; std::istream = std::basic_istream<char>]::<lambda(const matOS&, struct boost::spirit::unused_type, struct boost::spirit::unused_type)>' ../../src/parser.cpp:290:6: required from 'bool pomdp::parsed_POMDP<_POMDP_traits>::parse(std::istream&) [with _POMDP_traits = pomdp::POMDP_sparse_traits; std::istream = std::basic_istream<char>]' ../../src/parser.cpp:433:16: required from here ../../src/parser.cpp:291:103: internal compiler error: in tsubst_copy, at cp/pt.c:12213 matOS_.operator[]([this,&a,&s1](matOS const &d, unused_type, unused_type){ forall(a){ rewar[a].makeCompressed(); forall(s1) { rewar[a].col(s1) = d.transpose() * O(a).col(s1); }}}) ^ 0x59f7f0 tsubst_copy ../../gcc/cp/pt.c:12213 0x57cee9 tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, bool, bool) ../../gcc/cp/pt.c:14484 0x59081c tsubst(tree_node*, tree_node*, int, tree_node*) ../../gcc/cp/pt.c:11807 0x59c8fa tsubst_template_args ../../gcc/cp/pt.c:9640 0x59d2fe tsubst_aggr_type ../../gcc/cp/pt.c:9837 0x590a25 tsubst(tree_node*, tree_node*, int, tree_node*) ../../gcc/cp/pt.c:11695 0x57d852 tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, bool, bool) ../../gcc/cp/pt.c:13601 0x57f21c tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, bool, bool) ../../gcc/cp/pt.c:13724 0x57e940 tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, bool, bool) ../../gcc/cp/pt.c:14154 0x586a12 tsubst_expr ../../gcc/cp/pt.c:13415 0x5890de tsubst_expr ../../gcc/cp/pt.c:12973 0x5864b3 tsubst_expr ../../gcc/cp/pt.c:12880 0x587284 tsubst_expr ../../gcc/cp/pt.c:13070 0x5864b3 tsubst_expr ../../gcc/cp/pt.c:12880 0x587284 tsubst_expr ../../gcc/cp/pt.c:13070 0x584e5b instantiate_decl(tree_node*, int, bool) ../../gcc/cp/pt.c:19112 0x5bcb67 instantiate_class_template_1 ../../gcc/cp/pt.c:9018 0x5bcb67 instantiate_class_template(tree_node*) ../../gcc/cp/pt.c:9086 0x647dcb complete_type(tree_node*) ../../gcc/cp/typeck.c:131 0x57dd30 tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, bool, bool) ../../gcc/cp/pt.c:14581 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.