This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/84002] New: [8 Regression] ICE with template conversion operator
- From: "reichelt at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Tue, 23 Jan 2018 19:32:32 +0000
- Subject: [Bug c++/84002] New: [8 Regression] ICE with template conversion operator
- Auto-submitted: auto-generated
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84002
Bug ID: 84002
Summary: [8 Regression] ICE with template conversion operator
Product: gcc
Version: 8.0
Status: UNCONFIRMED
Keywords: ice-on-valid-code
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: reichelt at gcc dot gnu.org
Target Milestone: ---
The following valid code snippet triggers an ICE on trunk:
==========================================================
struct A
{
template<typename T> operator T() { return T(); }
};
template<typename T> void foo()
{
A().operator T();
}
void bar()
{
foo<int>();
}
==========================================================
bug.cc: In instantiation of 'void foo() [with T = int]':
bug.cc:13:12: required from here
bug.cc:8:16: internal compiler error: in tsubst_baselink, at cp/pt.c:14450
A().operator T();
~~~~~~~~~~~~~^
0x63c039 tsubst_baselink
../../gcc/gcc/cp/pt.c:14450
0xa4fe5e tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, bool,
bool)
../../gcc/gcc/cp/pt.c:17963
0xa50175 tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, bool,
bool)
../../gcc/gcc/cp/pt.c:17575
0xa43f07 tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, bool,
bool)
../../gcc/gcc/cp/pt.c:17012
0xa43f07 tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool)
../../gcc/gcc/cp/pt.c:16750
0xa428af tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool)
../../gcc/gcc/cp/pt.c:15987
0xa417d9 tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool)
../../gcc/gcc/cp/pt.c:16234
0xa40a56 tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool)
../../gcc/gcc/cp/pt.c:15958
0xa40a56 instantiate_decl(tree_node*, bool, bool)
../../gcc/gcc/cp/pt.c:23283
0xa6df23 instantiate_pending_templates(int)
../../gcc/gcc/cp/pt.c:23399
0x99753a c_parse_final_cleanups()
../../gcc/gcc/cp/decl2.c:4680
Please submit a full bug report, [etc.]
The regression was introduced between 2017-11-26 and 2017-12-18.