https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82069
Bug ID: 82069
Summary: [8 Regression] ICE: Segmentation fault
Product: gcc
Version: 8.0
Status: UNCONFIRMED
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: ---
More r251433 outfall:
trippels@gcc2-power8 llvm_build % cat MapFile.ii
template <typename T> struct A { T operator[](int); };
void toString();
namespace lld {
void toString(int);
}
using namespace lld;
template <class> void getSymbolStrings(A<int *> Syms) {
[&] { toString(*Syms[0]); };
}
trippels@gcc2-power8 llvm_build % g++ -c MapFile.ii
MapFile.ii: In lambda function:
MapFile.ii:8:18: internal compiler error: Segmentation fault
[&] { toString(*Syms[0]); };
0x10bc9783 crash_signal
../../gcc/gcc/toplev.c:341
0x1027fed4 hash_table<hash_map<tree_node*, tree_node*,
simple_hashmap_traits<default_hash_traits<tree_node*>, tree_node*>
>::hash_entry, xcallocator>::find_slot_with_hash(tree_node* const&, unsigned
int, insert_option)
../../gcc/gcc/hash-table.h:878
0x10280193 hash_map<tree_node*, tree_node*,
simple_hashmap_traits<default_hash_traits<tree_node*>, tree_node*>
>::put(tree_node* const&, tree_node* const&)
../../gcc/gcc/hash-map.h:137
0x10429847 register_local_specialization(tree_node*, tree_node*)
../../gcc/gcc/cp/pt.c:1906
0x10429847 tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, bool,
bool)
../../gcc/gcc/cp/pt.c:18153
0x1042890f tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, bool,
bool)
../../gcc/gcc/cp/pt.c:17911
0x1042990f tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, bool,
bool)
../../gcc/gcc/cp/pt.c:17533
0x10427aa7 tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, bool,
bool)
../../gcc/gcc/cp/pt.c:17070
0x10428edf tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, bool,
bool)
../../gcc/gcc/cp/pt.c:17549
0x1027e32b fold_non_dependent_expr(tree_node*)
../../gcc/gcc/cp/constexpr.c:4936
0x1040cc0b build_non_dependent_expr(tree_node*)
../../gcc/gcc/cp/pt.c:24955
0x10495f1b finish_expr_stmt(tree_node*)
../../gcc/gcc/cp/semantics.c:693
0x103baa07 cp_parser_expression_statement
../../gcc/gcc/cp/parser.c:11127
0x103c899f cp_parser_statement
../../gcc/gcc/cp/parser.c:10887
0x103c9d03 cp_parser_statement_seq_opt
../../gcc/gcc/cp/parser.c:11214
0x103caa67 cp_parser_lambda_body
../../gcc/gcc/cp/parser.c:10624
0x103caa67 cp_parser_lambda_expression
../../gcc/gcc/cp/parser.c:10079
0x103cba0b cp_parser_primary_expression
../../gcc/gcc/cp/parser.c:5085
0x103ce58f cp_parser_postfix_expression
../../gcc/gcc/cp/parser.c:6907
0x103eebbf cp_parser_unary_expression
../../gcc/gcc/cp/parser.c:8248