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.

Reply via email to