https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63405
Markus Trippelsdorf <trippels at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Last reconfirmed| |2014-09-29 CC| |trippels at gcc dot gnu.org Known to work| |4.8.3, 4.9.2 Version|4.9.1 |5.0 Target Milestone|--- |5.0 Summary|Internal compiler error |[5 regression] ICE in |when building OpenAxiom on |cp_perform_integral_promoti |linux/amd64 |ons, at cp/typeck.c:2084 Ever confirmed|0 |1 Known to fail| |5.0 --- Comment #1 from Markus Trippelsdorf <trippels at gcc dot gnu.org> --- I can only reproduce this on trunk. 4.9 branch is fine. markus@x4 tmp % cat sex.ii struct ListSyntax { ListSyntax(int, bool); }; struct A { template <typename... Args> ListSyntax *m_fn1(Args &... args) { return new ListSyntax{args...}; } }; struct B { const ListSyntax *m_fn2(const int &, bool); A lists; }; const ListSyntax *B::m_fn2(const int &elts, bool dot) { return lists.m_fn1(elts, dot); } markus@x4 tmp % /var/tmp/gcc_test/usr/local/bin/g++ -std=c++11 -c sex.ii sex.ii: In instantiation of ‘ListSyntax* A::m_fn1(Args& ...) [with Args = {const int, bool}]’: sex.ii:15:31: required from here sex.ii:7:34: internal compiler error: in cp_perform_integral_promotions, at cp/typeck.c:2084 return new ListSyntax{args...}; ^ 0x6b79d1 cp_perform_integral_promotions(tree_node*, int) ../../gcc/gcc/cp/typeck.c:2084 0x57335a convert_for_arg_passing(tree_node*, tree_node*, int) ../../gcc/gcc/cp/call.c:6799 0x577b83 build_over_call ../../gcc/gcc/cp/call.c:7211 0x5835f5 build_new_method_call_1 ../../gcc/gcc/cp/call.c:8098 0x5835f5 build_new_method_call(tree_node*, tree_node*, vec<tree_node*, va_gc, vl_embed>**, tree_node*, int, tree_node**, int) ../../gcc/gcc/cp/call.c:8168 0x584569 build_special_member_call(tree_node*, tree_node*, vec<tree_node*, va_gc, vl_embed>**, tree_node*, int, int) ../../gcc/gcc/cp/call.c:7712 0x6e564b build_new_1 ../../gcc/gcc/cp/init.c:2846 0x6e5d16 build_new(vec<tree_node*, va_gc, vl_embed>**, tree_node*, tree_node*, vec<tree_node*, va_gc, vl_embed>**, int, int) ../../gcc/gcc/cp/init.c:3086 0x5fc209 tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, bool, bool) ../../gcc/gcc/cp/pt.c:14848 0x5db056 tsubst_expr ../../gcc/gcc/cp/pt.c:14272 0x5dc89c tsubst_expr ../../gcc/gcc/cp/pt.c:13679 0x5dbe60 tsubst_expr ../../gcc/gcc/cp/pt.c:13855 0x5d90fd instantiate_decl(tree_node*, int, bool) ../../gcc/gcc/cp/pt.c:20227 0x61f727 instantiate_pending_templates(int) ../../gcc/gcc/cp/pt.c:20343 0x65c9e4 cp_write_global_declarations() ../../gcc/gcc/cp/decl2.c:4367 Please submit a full bug report,