https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94098
Bug ID: 94098 Summary: [10 Regression] ICE: canonical types differ for identical types 'int(void*, void*)' and 'int(void*, void*)' Product: gcc Version: 10.0 Status: UNCONFIRMED Keywords: ice-on-valid-code Severity: normal Priority: P3 Component: middle-end Assignee: unassigned at gcc dot gnu.org Reporter: asolokha at gmx dot com Target Milestone: --- PR92721 strikes back. g++-10.0.1-alpha20200308 snapshot (g:9de42a8e995451cb13dceb3970ae23ff88240bff) ICEs when compiling the following testcase reduced from gcc/testsuite/gcc.dg/attr-access-read-write-2.c: int rdwr1_rdwr1 (void*, void*); int __attribute__ ((access (read_write, 1))) rdwr1_rdwr1 (void*, void*); int __attribute__ ((access (read_write, 2))) rdwr1_rdwr1 (void*, void*); % g++-10.0.1 -w -c drii2dyo.cc drii2dyo.cc:3:71: internal compiler error: canonical types differ for identical types 'int(void*, void*)' and 'int(void*, void*)' 3 | int __attribute__ ((access (read_write, 2))) rdwr1_rdwr1 (void*, void*); | ^ 0xa63b0b comptypes(tree_node*, tree_node*, int) /var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200308/work/gcc-10-20200308/gcc/cp/typeck.c:1519 0x8f21d8 duplicate_decls(tree_node*, tree_node*, bool) /var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200308/work/gcc-10-20200308/gcc/cp/decl.c:2308 0x972360 do_pushdecl /var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200308/work/gcc-10-20200308/gcc/cp/name-lookup.c:3044 0x9751b2 pushdecl(tree_node*, bool) /var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200308/work/gcc-10-20200308/gcc/cp/name-lookup.c:3173 0x9751b2 maybe_push_decl(tree_node*) /var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200308/work/gcc-10-20200308/gcc/cp/name-lookup.c:3204 0x907331 start_decl(cp_declarator const*, cp_decl_specifier_seq*, int, tree_node*, tree_node*, tree_node**) /var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200308/work/gcc-10-20200308/gcc/cp/decl.c:5377 0x9b5f81 cp_parser_init_declarator /var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200308/work/gcc-10-20200308/gcc/cp/parser.c:20703 0x996d46 cp_parser_simple_declaration /var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200308/work/gcc-10-20200308/gcc/cp/parser.c:13689 0x9c1002 cp_parser_declaration /var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200308/work/gcc-10-20200308/gcc/cp/parser.c:13388 0x9c179f cp_parser_translation_unit /var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200308/work/gcc-10-20200308/gcc/cp/parser.c:4731 0x9c179f c_parse_file() /var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200308/work/gcc-10-20200308/gcc/cp/parser.c:43760 0xad99db c_common_parse_file() /var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200308/work/gcc-10-20200308/gcc/c-family/c-opts.c:1186