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

            Bug ID: 95229
           Summary: ice in mark_jump_label_1
           Product: gcc
           Version: unknown
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: dcb314 at hotmail dot com
  Target Milestone: ---

For this C++ code:

struct a {
  unsigned long b;
  unsigned long c;
};
class {
public:
  a d;
} e;
struct f {
  unsigned g;
  unsigned h;
  int i();
};
int f::i() {
  e.d.b += g;
  e.d.c += h;
}

compiled with recent gcc trunk and compiler flag -O3 -march=native,
I get

$ /home/dcb/gcc/results/bin/gcc -c -O3 -march=native bug609.cc
bug609.cc: In member function ‘int f::i()’:
bug609.cc:17:1: warning: no return statement in function returning non-void
[-Wreturn-type]
   17 | }
      | ^
during RTL pass: expand
bug609.cc:17:1: internal compiler error: Segmentation fault
0xf4bbb9 crash_signal(int)
        ../../trunk.git/gcc/toplev.c:328
0xd5878a mark_jump_label_1(rtx_def*, rtx_insn*, bool, bool)
        ../../trunk.git/gcc/jump.c:1087
0xd588b0 mark_jump_label_1(rtx_def*, rtx_insn*, bool, bool)
        ../../trunk.git/gcc/jump.c:1211
0xd588b0 mark_jump_label_1(rtx_def*, rtx_insn*, bool, bool)
        ../../trunk.git/gcc/jump.c:1211

The bug first seems to occur on today's gcc. Yesterdays seems fine:

/home/dcb/gcc/results.20200519/bin/gcc
/home/dcb/gcc/results.20200520/bin/gcc
during RTL pass: expand
...

Native is x86_64, AMD FX(tm)-8350, Piledriver, bdver2.

Reply via email to