https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92993
Jakub Jelinek <jakub at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Priority|P3 |P4 Status|UNCONFIRMED |NEW Last reconfirmed| |2019-12-19 CC| |jakub at gcc dot gnu.org Target Milestone|--- |8.4 Summary|ICE in |[8/9/10 Regression] ICE in |maybe_canonicalize_comparis |maybe_canonicalize_comparis |on_1, at fold-const.c:8845 |on_1, at fold-const.c:8845 Ever confirmed|0 |1 --- Comment #1 from Jakub Jelinek <jakub at gcc dot gnu.org> --- This is a FE bug, it calls 6955 if (!se->want_pointer && !byref 6956 && ((!comp && (sym->attr.pointer || sym->attr.allocatable)) 6957 || (comp && (comp->attr.pointer || comp->attr.allocatable)))) 6958 se->expr = build_fold_indirect_ref_loc (input_location, se->expr); on se->expr that has TREE_TYPE of integer(kind=4) (a CALL_EXPR f (&a[1])). There is a warning about interface mismatch, but probably the FE should on interface mismatch just use an DECL_EXTERNAL decl from the interface rather than the actual definition. ICEs since r162491 when -fwhole-file has been made the default, or with -fwhole-file it started with r145314 when that option has been introduced.