public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug middle-end/94098] New: [10 Regression] ICE: canonical types differ for identical types 'int(void*, void*)' and 'int(void*, void*)'
@ 2020-03-09 10:55 asolokha at gmx dot com
2020-03-09 12:32 ` [Bug middle-end/94098] " marxin at gcc dot gnu.org
` (6 more replies)
0 siblings, 7 replies; 8+ messages in thread
From: asolokha at gmx dot com @ 2020-03-09 10:55 UTC (permalink / raw)
To: gcc-bugs
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
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug middle-end/94098] [10 Regression] ICE: canonical types differ for identical types 'int(void*, void*)' and 'int(void*, void*)'
2020-03-09 10:55 [Bug middle-end/94098] New: [10 Regression] ICE: canonical types differ for identical types 'int(void*, void*)' and 'int(void*, void*)' asolokha at gmx dot com
@ 2020-03-09 12:32 ` marxin at gcc dot gnu.org
2020-03-09 12:32 ` marxin at gcc dot gnu.org
` (5 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: marxin at gcc dot gnu.org @ 2020-03-09 12:32 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94098
Martin Liška <marxin at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Ever confirmed|0 |1
CC| |marxin at gcc dot gnu.org,
| |msebor at gcc dot gnu.org
Last reconfirmed| |2020-03-09
--- Comment #1 from Martin Liška <marxin at gcc dot gnu.org> ---
Confirmed, started with r10-4929-g54aa6b58fe2fe73b.
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug middle-end/94098] [10 Regression] ICE: canonical types differ for identical types 'int(void*, void*)' and 'int(void*, void*)'
2020-03-09 10:55 [Bug middle-end/94098] New: [10 Regression] ICE: canonical types differ for identical types 'int(void*, void*)' and 'int(void*, void*)' asolokha at gmx dot com
2020-03-09 12:32 ` [Bug middle-end/94098] " marxin at gcc dot gnu.org
@ 2020-03-09 12:32 ` marxin at gcc dot gnu.org
2020-03-10 2:50 ` [Bug c++/94098] " msebor at gcc dot gnu.org
` (4 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: marxin at gcc dot gnu.org @ 2020-03-09 12:32 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94098
Martin Liška <marxin at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Known to fail| |10.0
Known to work| |9.2.0
Target Milestone|--- |10.0
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug c++/94098] [10 Regression] ICE: canonical types differ for identical types 'int(void*, void*)' and 'int(void*, void*)'
2020-03-09 10:55 [Bug middle-end/94098] New: [10 Regression] ICE: canonical types differ for identical types 'int(void*, void*)' and 'int(void*, void*)' asolokha at gmx dot com
2020-03-09 12:32 ` [Bug middle-end/94098] " marxin at gcc dot gnu.org
2020-03-09 12:32 ` marxin at gcc dot gnu.org
@ 2020-03-10 2:50 ` msebor at gcc dot gnu.org
2020-03-11 3:18 ` mpolacek at gcc dot gnu.org
` (3 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: msebor at gcc dot gnu.org @ 2020-03-10 2:50 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94098
Martin Sebor <msebor at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Assignee|unassigned at gcc dot gnu.org |msebor at gcc dot gnu.org
Status|NEW |ASSIGNED
--- Comment #2 from Martin Sebor <msebor at gcc dot gnu.org> ---
Despite fixing at least one bug it looks like the patch for PR92721 didn't
actually eliminate the underlying problem. The comment above the internal
error suggests that changing the type attributes of a function when applying
attributes to its declaration might need additional changes to "the canonical
type propagation code." At this point I have no idea wherever that might need
to happen.
/* The two types are structurally equivalent, but their
canonical types were different. This is a failure of the
canonical type propagation code.*/
internal_error
("canonical types differ for identical types %qT and %qT",
t1, t2);
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug c++/94098] [10 Regression] ICE: canonical types differ for identical types 'int(void*, void*)' and 'int(void*, void*)'
2020-03-09 10:55 [Bug middle-end/94098] New: [10 Regression] ICE: canonical types differ for identical types 'int(void*, void*)' and 'int(void*, void*)' asolokha at gmx dot com
` (2 preceding siblings ...)
2020-03-10 2:50 ` [Bug c++/94098] " msebor at gcc dot gnu.org
@ 2020-03-11 3:18 ` mpolacek at gcc dot gnu.org
2020-03-18 20:56 ` msebor at gcc dot gnu.org
` (2 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: mpolacek at gcc dot gnu.org @ 2020-03-11 3:18 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94098
Marek Polacek <mpolacek at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Priority|P3 |P1
CC| |mpolacek at gcc dot gnu.org
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug c++/94098] [10 Regression] ICE: canonical types differ for identical types 'int(void*, void*)' and 'int(void*, void*)'
2020-03-09 10:55 [Bug middle-end/94098] New: [10 Regression] ICE: canonical types differ for identical types 'int(void*, void*)' and 'int(void*, void*)' asolokha at gmx dot com
` (3 preceding siblings ...)
2020-03-11 3:18 ` mpolacek at gcc dot gnu.org
@ 2020-03-18 20:56 ` msebor at gcc dot gnu.org
2020-03-27 19:55 ` cvs-commit at gcc dot gnu.org
2020-03-27 19:56 ` msebor at gcc dot gnu.org
6 siblings, 0 replies; 8+ messages in thread
From: msebor at gcc dot gnu.org @ 2020-03-18 20:56 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94098
Martin Sebor <msebor at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Keywords| |patch
--- Comment #3 from Martin Sebor <msebor at gcc dot gnu.org> ---
Patch: https://gcc.gnu.org/pipermail/gcc-patches/2020-March/542098.html
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug c++/94098] [10 Regression] ICE: canonical types differ for identical types 'int(void*, void*)' and 'int(void*, void*)'
2020-03-09 10:55 [Bug middle-end/94098] New: [10 Regression] ICE: canonical types differ for identical types 'int(void*, void*)' and 'int(void*, void*)' asolokha at gmx dot com
` (4 preceding siblings ...)
2020-03-18 20:56 ` msebor at gcc dot gnu.org
@ 2020-03-27 19:55 ` cvs-commit at gcc dot gnu.org
2020-03-27 19:56 ` msebor at gcc dot gnu.org
6 siblings, 0 replies; 8+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2020-03-27 19:55 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94098
--- Comment #4 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Martin Sebor <msebor@gcc.gnu.org>:
https://gcc.gnu.org/g:ccacf77be5508dd5b4df59f402965196d11edb05
commit r10-7426-gccacf77be5508dd5b4df59f402965196d11edb05
Author: Martin Sebor <msebor@redhat.com>
Date: Fri Mar 27 13:54:22 2020 -0600
PR c++/94098 - ICE on attribute access redeclaration
gcc/c-family/ChangeLog:
PR c++/94098
* c-attribs.c (handle_access_attribute): Avoid setting
TYPE_ATTRIBUTES
here.
gcc/ChangeLog:
PR c++/94098
* calls.c (init_attr_rdwr_indices): Iterate over all access
attributes.
gcc/testsuite/ChangeLog:
PR c++/94098
* g++.dg/ext/attr-access-2.C: New test.
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug c++/94098] [10 Regression] ICE: canonical types differ for identical types 'int(void*, void*)' and 'int(void*, void*)'
2020-03-09 10:55 [Bug middle-end/94098] New: [10 Regression] ICE: canonical types differ for identical types 'int(void*, void*)' and 'int(void*, void*)' asolokha at gmx dot com
` (5 preceding siblings ...)
2020-03-27 19:55 ` cvs-commit at gcc dot gnu.org
@ 2020-03-27 19:56 ` msebor at gcc dot gnu.org
6 siblings, 0 replies; 8+ messages in thread
From: msebor at gcc dot gnu.org @ 2020-03-27 19:56 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94098
Martin Sebor <msebor at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|ASSIGNED |RESOLVED
Resolution|--- |FIXED
--- Comment #5 from Martin Sebor <msebor at gcc dot gnu.org> ---
Fixed via r10-7426.
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2020-03-27 19:56 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-03-09 10:55 [Bug middle-end/94098] New: [10 Regression] ICE: canonical types differ for identical types 'int(void*, void*)' and 'int(void*, void*)' asolokha at gmx dot com
2020-03-09 12:32 ` [Bug middle-end/94098] " marxin at gcc dot gnu.org
2020-03-09 12:32 ` marxin at gcc dot gnu.org
2020-03-10 2:50 ` [Bug c++/94098] " msebor at gcc dot gnu.org
2020-03-11 3:18 ` mpolacek at gcc dot gnu.org
2020-03-18 20:56 ` msebor at gcc dot gnu.org
2020-03-27 19:55 ` cvs-commit at gcc dot gnu.org
2020-03-27 19:56 ` msebor at gcc dot gnu.org
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).