public inbox for gcc-bugs@sourceware.org help / color / mirror / Atom feed
* [Bug c/98592] New: ICE in gimple_canonical_types_compatible_p while formatting a MEM_REF @ 2021-01-07 22:42 msebor at gcc dot gnu.org 2021-01-08 8:35 ` [Bug c/98592] " rguenth at gcc dot gnu.org ` (4 more replies) 0 siblings, 5 replies; 6+ messages in thread From: msebor at gcc dot gnu.org @ 2021-01-07 22:42 UTC (permalink / raw) To: gcc-bugs https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98592 Bug ID: 98592 Summary: ICE in gimple_canonical_types_compatible_p while formatting a MEM_REF Product: gcc Version: 11.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c Assignee: unassigned at gcc dot gnu.org Reporter: msebor at gcc dot gnu.org Target Milestone: --- With the ICEs reported in pr98578 and pr95768 both fixed, the latest trunk now fails with another ICE in the same code on the test case below. Apparently, gimple_canonical_types_compatible_p() doesn't like mixed array and scalar types (t1 is an int, t2 is an int array). $ cat t.c && gcc -O2 -S -Wall -fdump-tree-uninit=/dev/stdout t.c void f (int); void g (int n) { int a[n][3]; f (((*(int(*)[4])&a[1][2]))[3]); } ;; Function g (g, funcdef_no=0, decl_uid=1945, cgraph_uid=1, symbol_order=0) ‘ during GIMPLE pass: uninit dump file: /dev/stdout EMERGENCY DUMP: void g (int n) { int[0:D.1950][3] * a.1; sizetype _1; int _6; sizetype _7; <bb 2> [local count: 1073741824]: _1 = (sizetype) n_2(D); _7 = _1 * 12; a.1_9 = __builtin_alloca_with_align (_7, 32); _6 = MEM[(int[4] *)a.1_9 + 20B][3]; f (_6); return; } In function ‘g’: in gimple_canonical_types_compatible_p, at tree.c:14367 3 | void g (int n) | ^ 0x195c249 gimple_canonical_types_compatible_p(tree_node const*, tree_node const*, bool) /src/gcc/master/gcc/tree.c:14366 0xb3616f print_mem_ref /src/gcc/master/gcc/c-family/c-pretty-print.c:1869 0xb3686d c_pretty_printer::unary_expression(tree_node*) /src/gcc/master/gcc/c-family/c-pretty-print.c:2005 0xb380fd c_pretty_printer::expression(tree_node*) /src/gcc/master/gcc/c-family/c-pretty-print.c:2508 0xb35922 c_pretty_printer::postfix_expression(tree_node*) /src/gcc/master/gcc/c-family/c-pretty-print.c:1729 0xb3517a c_pretty_printer::postfix_expression(tree_node*) /src/gcc/master/gcc/c-family/c-pretty-print.c:1587 0xb380da c_pretty_printer::expression(tree_node*) /src/gcc/master/gcc/c-family/c-pretty-print.c:2493 0xa31fa2 c_tree_printer /src/gcc/master/gcc/c/c-objc-common.c:317 0x2883a45 pp_format(pretty_printer*, text_info*) /src/gcc/master/gcc/pretty-print.c:1475 0x2859d96 diagnostic_report_diagnostic(diagnostic_context*, diagnostic_info*) /src/gcc/master/gcc/diagnostic.c:1216 0x285a3e7 diagnostic_impl /src/gcc/master/gcc/diagnostic.c:1366 0x285aca3 warning_at(unsigned int, int, char const*, ...) /src/gcc/master/gcc/diagnostic.c:1503 0x180d584 maybe_warn_operand /src/gcc/master/gcc/tree-ssa-uninit.c:418 0x180e15d warn_uninitialized_vars /src/gcc/master/gcc/tree-ssa-uninit.c:657 0x1813575 execute /src/gcc/master/gcc/tree-ssa-uninit.c:3019 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. ^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug c/98592] ICE in gimple_canonical_types_compatible_p while formatting a MEM_REF 2021-01-07 22:42 [Bug c/98592] New: ICE in gimple_canonical_types_compatible_p while formatting a MEM_REF msebor at gcc dot gnu.org @ 2021-01-08 8:35 ` rguenth at gcc dot gnu.org 2021-01-08 19:56 ` msebor at gcc dot gnu.org ` (3 subsequent siblings) 4 siblings, 0 replies; 6+ messages in thread From: rguenth at gcc dot gnu.org @ 2021-01-08 8:35 UTC (permalink / raw) To: gcc-bugs https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98592 --- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> --- Why on earth are you calling gimple_canonical_types_compatible_p!? From a quick look you likely want TYPE_MAIN_VARIANT (access_type) != TYPE_MAIN_VARIANT (arg_type)? ^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug c/98592] ICE in gimple_canonical_types_compatible_p while formatting a MEM_REF 2021-01-07 22:42 [Bug c/98592] New: ICE in gimple_canonical_types_compatible_p while formatting a MEM_REF msebor at gcc dot gnu.org 2021-01-08 8:35 ` [Bug c/98592] " rguenth at gcc dot gnu.org @ 2021-01-08 19:56 ` msebor at gcc dot gnu.org 2021-01-12 17:48 ` [Bug c/98592] [11 Regression] " msebor at gcc dot gnu.org ` (2 subsequent siblings) 4 siblings, 0 replies; 6+ messages in thread From: msebor at gcc dot gnu.org @ 2021-01-08 19:56 UTC (permalink / raw) To: gcc-bugs https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98592 --- Comment #2 from Martin Sebor <msebor at gcc dot gnu.org> --- The idea is to print the cast indicating the MEM_REF type only when the size of the accessed type is different from the size of the element type of the underlying array or pointer. Structural equivalence seemed like a good fit. But using TYPE_MAIN_VARIANT would work too (and include more information). ^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug c/98592] [11 Regression] ICE in gimple_canonical_types_compatible_p while formatting a MEM_REF 2021-01-07 22:42 [Bug c/98592] New: ICE in gimple_canonical_types_compatible_p while formatting a MEM_REF msebor at gcc dot gnu.org 2021-01-08 8:35 ` [Bug c/98592] " rguenth at gcc dot gnu.org 2021-01-08 19:56 ` msebor at gcc dot gnu.org @ 2021-01-12 17:48 ` msebor at gcc dot gnu.org 2021-01-12 20:03 ` cvs-commit at gcc dot gnu.org 2021-01-12 21:38 ` msebor at gcc dot gnu.org 4 siblings, 0 replies; 6+ messages in thread From: msebor at gcc dot gnu.org @ 2021-01-12 17:48 UTC (permalink / raw) To: gcc-bugs https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98592 Martin Sebor <msebor at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Ever confirmed|0 |1 Last reconfirmed| |2021-01-12 Assignee|unassigned at gcc dot gnu.org |msebor at gcc dot gnu.org Status|UNCONFIRMED |ASSIGNED Summary|ICE in |[11 Regression] ICE in |gimple_canonical_types_comp |gimple_canonical_types_comp |atible_p while formatting a |atible_p while formatting a |MEM_REF |MEM_REF ^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug c/98592] [11 Regression] ICE in gimple_canonical_types_compatible_p while formatting a MEM_REF 2021-01-07 22:42 [Bug c/98592] New: ICE in gimple_canonical_types_compatible_p while formatting a MEM_REF msebor at gcc dot gnu.org ` (2 preceding siblings ...) 2021-01-12 17:48 ` [Bug c/98592] [11 Regression] " msebor at gcc dot gnu.org @ 2021-01-12 20:03 ` cvs-commit at gcc dot gnu.org 2021-01-12 21:38 ` msebor at gcc dot gnu.org 4 siblings, 0 replies; 6+ messages in thread From: cvs-commit at gcc dot gnu.org @ 2021-01-12 20:03 UTC (permalink / raw) To: gcc-bugs https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98592 --- Comment #3 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:5a9cfad2de92f2d65585774acb524b3fa17621b5 commit r11-6621-g5a9cfad2de92f2d65585774acb524b3fa17621b5 Author: Martin Sebor <msebor@redhat.com> Date: Tue Jan 12 12:58:27 2021 -0700 Avoid a couple more ICEs in print_mem_ref (PR c/98597). Resolves: PR c/98597 - ICE in -Wuninitialized printing a MEM_REF PR c/98592 - ICE in gimple_canonical_types_compatible_p while formatting gcc/c-family/ChangeLog: PR c/98597 PR c/98592 * c-pretty-print.c (print_mem_ref): Avoid assuming MEM_REF operand has pointer type. Remove redundant code. Avoid calling gimple_canonical_types_compatible_p. gcc/testsuite/ChangeLog: PR c/98597 PR c/98592 * g++.dg/warn/Wuninitialized-13.C: New test. gcc.dg/uninit-39.c: New test. # ^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug c/98592] [11 Regression] ICE in gimple_canonical_types_compatible_p while formatting a MEM_REF 2021-01-07 22:42 [Bug c/98592] New: ICE in gimple_canonical_types_compatible_p while formatting a MEM_REF msebor at gcc dot gnu.org ` (3 preceding siblings ...) 2021-01-12 20:03 ` cvs-commit at gcc dot gnu.org @ 2021-01-12 21:38 ` msebor at gcc dot gnu.org 4 siblings, 0 replies; 6+ messages in thread From: msebor at gcc dot gnu.org @ 2021-01-12 21:38 UTC (permalink / raw) To: gcc-bugs https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98592 Martin Sebor <msebor at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|ASSIGNED |RESOLVED Resolution|--- |FIXED --- Comment #4 from Martin Sebor <msebor at gcc dot gnu.org> --- I've changed it to TYPE_MAIN_VARIANT in r11-6621. It didn't cause any testsuite fallout so it wasn't being sufficiently tested anyway. If it in the future turns out that something more involved is necessary let's revisit it then. ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2021-01-12 21:38 UTC | newest] Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2021-01-07 22:42 [Bug c/98592] New: ICE in gimple_canonical_types_compatible_p while formatting a MEM_REF msebor at gcc dot gnu.org 2021-01-08 8:35 ` [Bug c/98592] " rguenth at gcc dot gnu.org 2021-01-08 19:56 ` msebor at gcc dot gnu.org 2021-01-12 17:48 ` [Bug c/98592] [11 Regression] " msebor at gcc dot gnu.org 2021-01-12 20:03 ` cvs-commit at gcc dot gnu.org 2021-01-12 21:38 ` 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).