https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115696
Bug ID: 115696 Summary: [15 regression] ICE on invalid repeated mixed declarations (tree check: expected class ‘type’, have ‘exceptional’ (error_mark) in comptypes_verify, at c/c-typeck.cc:1178) Product: gcc Version: unknown Status: UNCONFIRMED Keywords: ice-checking, ice-on-invalid-code Severity: normal Priority: P3 Component: bootstrap Assignee: unassigned at gcc dot gnu.org Reporter: sjames at gcc dot gnu.org Target Milestone: --- ``` a(); a; a() ``` ``` $ gcc -c special_wrappers.c.i special_wrappers.c.i:1:1: warning: data definition has no type or storage class 1 | a(); | ^ special_wrappers.c.i:1:1: error: type defaults to ‘int’ in declaration of ‘a’ [-Wimplicit-int] special_wrappers.c.i:2:1: warning: data definition has no type or storage class 2 | a; | ^ special_wrappers.c.i:2:1: error: type defaults to ‘int’ in declaration of ‘a’ [-Wimplicit-int] special_wrappers.c.i:2:1: error: ‘a’ redeclared as different kind of symbol special_wrappers.c.i:1:1: note: previous declaration of ‘a’ with type ‘int()’ 1 | a(); | ^ special_wrappers.c.i:3:1: error: return type defaults to ‘int’ [-Wimplicit-int] 3 | a() | ^ special_wrappers.c.i:3:1: internal compiler error: tree check: expected class ‘type’, have ‘exceptional’ (error_mark) in comptypes_verify, at c/c-typeck.cc:1178 0x557e5ec7bf8a internal_error(char const*, ...) /usr/src/debug/sys-devel/gcc-15.0.9999/gcc-15.0.9999/gcc/diagnostic-global-context.cc:491 0x557e5e596d0e tree_class_check_failed(tree_node const*, tree_code_class, char const*, int, char const*) /usr/src/debug/sys-devel/gcc-15.0.9999/gcc-15.0.9999/gcc/tree.cc:9051 0x557e5d689258 tree_class_check(tree_node*, tree_code_class, char const*, int, char const*) /usr/src/debug/sys-devel/gcc-15.0.9999/gcc-15.0.9999/gcc/tree.h:3787 0x557e5d689258 comptypes_verify /usr/src/debug/sys-devel/gcc-15.0.9999/gcc-15.0.9999/gcc/c/c-typeck.cc:1178 0x557e5d689258 comptypes_verify /usr/src/debug/sys-devel/gcc-15.0.9999/gcc-15.0.9999/gcc/c/c-typeck.cc:1176 0x557e5ee8be02 comptypes(tree_node*, tree_node*) /usr/src/debug/sys-devel/gcc-15.0.9999/gcc-15.0.9999/gcc/c/c-typeck.cc:1212 0x557e5edeb97e pushdecl(tree_node*) /usr/src/debug/sys-devel/gcc-15.0.9999/gcc-15.0.9999/gcc/c/c-decl.cc:3381 0x557e5f5dcacc start_function(c_declspecs*, c_declarator*, tree_node*) /usr/src/debug/sys-devel/gcc-15.0.9999/gcc-15.0.9999/gcc/c/c-decl.cc:10800 0x557e5f5d83e2 c_parser_declaration_or_fndef /usr/src/debug/sys-devel/gcc-15.0.9999/gcc-15.0.9999/gcc/c/c-parser.cc:2919 0x557e5f5d77fb c_parser_external_declaration /usr/src/debug/sys-devel/gcc-15.0.9999/gcc-15.0.9999/gcc/c/c-parser.cc:2053 0x557e5f5d3daa c_parser_translation_unit /usr/src/debug/sys-devel/gcc-15.0.9999/gcc-15.0.9999/gcc/c/c-parser.cc:1907 0x557e5f5d3daa c_parse_file() /usr/src/debug/sys-devel/gcc-15.0.9999/gcc-15.0.9999/gcc/c/c-parser.cc:27298 0x557e5f5c8f10 c_common_parse_file() /usr/src/debug/sys-devel/gcc-15.0.9999/gcc-15.0.9999/gcc/c-family/c-opts.cc:1322 Please submit a full bug report, with preprocessed source (by using -freport-bug). Please include the complete backtrace with any bug report. See <https://bugs.gentoo.org/> for instructions. ```