[Bug tree-optimization/102474] New: [12 regression] Crash in ipa-modref compiling Go code

ian at airs dot com gcc-bugzilla@gcc.gnu.org
Thu Sep 23 20:34:39 GMT 2021


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102474

            Bug ID: 102474
           Summary: [12 regression] Crash in ipa-modref compiling Go code
           Product: gcc
           Version: 12.0
            Status: UNCONFIRMED
          Severity: blocker
          Priority: P3
         Component: tree-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: ian at airs dot com
  Target Milestone: ---

Compiling this Go program with -O1 -fno-strict-aliasing crashes the compiler in
ipa-modref.

package p

type S struct {
        f1 string
        f2 interface{}
        f3 string
        f4 struct {
                f41 uint32
                f42 struct {
                        f421 int32
                        f422 uint32
                }
        }
        f5 struct {
                f51 *byte
                f52 *byte
                f53 *byte
        }
        f6 struct {
                f61 int32
        }
        f7 struct {
                f71 uint64
                f72 int64
                f73 *byte
        }
        f8 *byte
}

The crash I see is:

during IPA pass: modref
go1: internal compiler error: in forced_merge, at ipa-modref-tree.h:351
0xcbaff1 modref_access_node::forced_merge(modref_access_node const&, bool)
        ../../trunk/gcc/ipa-modref-tree.h:351
0xcbe389 modref_ref_node<int>::insert_access(modref_access_node, unsigned long,
bool)
        ../../trunk/gcc/ipa-modref-tree.h:575
0xcbe8e3 modref_tree<int>::insert(int, int, modref_access_node, bool)
        ../../trunk/gcc/ipa-modref-tree.h:844
0xcb65de propagate_unknown_call
        ../../trunk/gcc/ipa-modref.c:3418
0xcb6a69 modref_propagate_in_scc
        ../../trunk/gcc/ipa-modref.c:3598
0xcb740e execute
        ../../trunk/gcc/ipa-modref.c:3968
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.


More information about the Gcc-bugs mailing list