https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85014
Bug ID: 85014
Summary: internal compiler error: in lookup_base, at
cp/search.c:185
Product: gcc
Version: 8.0.1
Status: UNCONFIRMED
Keywords: ice-on-invalid-code
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: vegard.nossum at oracle dot com
CC: webrown.cpp at gmail dot com
Target Milestone: ---
Input:
struct {
short a[__builtin_constant_p([] {
struct {
int b = b;
};
})];
};
Output:
$ cc1plus
<unnamed struct>::<lambda()>
<stdin>:5:5: error: abstract declarator '<unnamed struct>::<lambda()>::<unnamed
struct>' used as declaration
static void<unnamed struct>::<lambda()>::_FUN() <unnamed
struct>::<lambda()>::operator void (*)()() const
<stdin>: At global scope:
<stdin>:4:15: internal compiler error: in lookup_base, at cp/search.c:185
0x12417d3 lookup_base(tree_node*, tree_node*, int, base_kind*, int)
/home/vegard/git/gcc/gcc/cp/search.c:185
0x1319eaf maybe_dummy_object(tree_node*, tree_node**)
/home/vegard/git/gcc/gcc/cp/tree.c:3904
0x12aa4de finish_non_static_data_member(tree_node*, tree_node*, tree_node*)
/home/vegard/git/gcc/gcc/cp/semantics.c:1785
0x12aec62 finish_id_expression(tree_node*, tree_node*, tree_node*, cp_id_kind*,
bool, bool, bool*, bool, bool, bool, bool, char const**, unsigned int)
/home/vegard/git/gcc/gcc/cp/semantics.c:3726
0xf33f42 cp_parser_primary_expression
/home/vegard/git/gcc/gcc/cp/parser.c:5611
0xf7698b cp_parser_postfix_expression
/home/vegard/git/gcc/gcc/cp/parser.c:7030
0xf2a4b7 cp_parser_unary_expression
/home/vegard/git/gcc/gcc/cp/parser.c:8322
0xebfeca cp_parser_cast_expression
/home/vegard/git/gcc/gcc/cp/parser.c:9090
0xec24f6 cp_parser_binary_expression
/home/vegard/git/gcc/gcc/cp/parser.c:9191
0xec62ca cp_parser_assignment_expression
/home/vegard/git/gcc/gcc/cp/parser.c:9486
0xecc0a3 cp_parser_constant_expression
/home/vegard/git/gcc/gcc/cp/parser.c:9770
0xed334e cp_parser_initializer_clause
/home/vegard/git/gcc/gcc/cp/parser.c:21916
0xedc293 cp_parser_initializer
/home/vegard/git/gcc/gcc/cp/parser.c:21856
0xedc4d1 cp_parser_late_parse_one_default_arg
/home/vegard/git/gcc/gcc/cp/parser.c:27761
0xf15be0 cp_parser_late_parsing_nsdmi
/home/vegard/git/gcc/gcc/cp/parser.c:27813
0xf15be0 cp_parser_class_specifier_1
/home/vegard/git/gcc/gcc/cp/parser.c:22715
0xf231cb cp_parser_class_specifier
/home/vegard/git/gcc/gcc/cp/parser.c:22768
0xf231cb cp_parser_type_specifier
/home/vegard/git/gcc/gcc/cp/parser.c:16774
0xf8858a cp_parser_decl_specifier_seq
/home/vegard/git/gcc/gcc/cp/parser.c:13629
0xfa3a70 cp_parser_simple_declaration
/home/vegard/git/gcc/gcc/cp/parser.c:12938
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.
Version:
GNU C++14 (GCC) version 8.0.1 20180306 (experimental) (x86_64-pc-linux-gnu)
Seems to start failing with "confused by earlier errors, bailing out" between
4.6.4 and 4.7.1 on godbolt.org.