This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/78898] New: [7 Regression] ICE: in get_template_base, at cp/pt.c:19665
- From: "trippels at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Thu, 22 Dec 2016 06:55:01 +0000
- Subject: [Bug c++/78898] New: [7 Regression] ICE: in get_template_base, at cp/pt.c:19665
- Auto-submitted: auto-generated
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78898
Bug ID: 78898
Summary: [7 Regression] ICE: in get_template_base, at
cp/pt.c:19665
Product: gcc
Version: 7.0
Status: UNCONFIRMED
Keywords: ice-on-valid-code
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: trippels at gcc dot gnu.org
CC: jason at gcc dot gnu.org
Target Milestone: ---
A very recent regression:
% cat nsIconChannel.ii
struct A {
template <class T> A(T);
template <template <typename> class SmartPtr> A(SmartPtr<int>) { A(0); }
};
% g++ -c nsIconChannel.ii
nsIconChannel.ii: In substitution of ‘template<template<class> class SmartPtr>
A::A(SmartPtr<int>) [with SmartPtr = <missing>]’:
nsIconChannel.ii:3:68: required from here
nsIconChannel.ii:3:68: internal compiler error: in get_template_base, at
cp/pt.c:19665
template <template <typename> class SmartPtr> A(SmartPtr<int>) { A(0); }
^~~~
0x10166603 get_template_base
../../gcc/gcc/cp/pt.c:19665
0x102a97f7 unify
../../gcc/gcc/cp/pt.c:20305
0x102aed5f unify_one_argument
../../gcc/gcc/cp/pt.c:18901
0x102b180b type_unification_real
../../gcc/gcc/cp/pt.c:19022
0x102b459b fn_type_unification(tree_node*, tree_node*, tree_node*, tree_node*
const*, unsigned int, tree_node*, unification_kind_t, int, bool, bool)
../../gcc/gcc/cp/pt.c:18412
0x101ebc6b add_template_candidate_real
../../gcc/gcc/cp/call.c:3168
0x101ecbaf add_template_candidate
../../gcc/gcc/cp/call.c:3246
0x101ecbaf add_candidates
../../gcc/gcc/cp/call.c:5481
0x101e7a9b build_user_type_conversion_1
../../gcc/gcc/cp/call.c:3795
0x101e82e3 implicit_conversion
../../gcc/gcc/cp/call.c:1898
0x101e9c8f reference_binding
../../gcc/gcc/cp/call.c:1746
0x101e8593 implicit_conversion
../../gcc/gcc/cp/call.c:1837
0x101eaecf add_function_candidate
../../gcc/gcc/cp/call.c:2191
0x101ecbe7 add_candidates
../../gcc/gcc/cp/call.c:5491
0x101ed863 build_new_method_call_1
../../gcc/gcc/cp/call.c:8656
0x101ed863 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:8856
0x101ef2af build_special_member_call(tree_node*, tree_node*, vec<tree_node*,
va_gc, vl_embed>**, tree_node*, int, int)
../../gcc/gcc/cp/call.c:8387
0x101f2e67 perform_direct_initialization_if_possible(tree_node*, tree_node*,
bool, int)
../../gcc/gcc/cp/call.c:10091
0x103b4e53 build_static_cast_1
../../gcc/gcc/cp/typeck.c:6795
0x103b6597 cp_build_c_cast(tree_node*, t