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

            Bug ID: 98629
           Summary: ice during GIMPLE pass: widening_mul
           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 reduced C code:

unsigned int a;
int b, c;
void d() {
  unsigned int *e = &a;
  (a /= a |= b) - (0 <= (*e += *e)) * (c *= *e);
}

does this with recent gcc trunk:

$ /home/dcb/gcc/results.20210111/bin/gcc -c -w -O2 bug689.c
during GIMPLE pass: widening_mul
bug689.c: In function ā€˜dā€™:
bug689.c:3:6: internal compiler error: Segmentation fault
    3 | void d() {
      |      ^
0xcd63f9 crash_signal(int)
        ../../trunk.git/gcc/toplev.c:327
0xe7b538 gimple_code(gimple const*)
        ../../trunk.git/gcc/gimple.h:1782
0xe7b538 is_gimple_assign(gimple const*)
        ../../trunk.git/gcc/gimple.h:2529
0xe7b538 gimple_assign_cast_p(gimple const*)
        ../../trunk.git/gcc/gimple.h:2870

The bug first seems to appear sometime between date 20210108
and today i.e. 20210111.

Hashes for those dates are bdcde15045027195 and 9a6c37e6ae520534.
with 32 commits between them.

Jakub's recent changes to widening_mul look a likely candidate.
I don't see much point in doing a git bisect, although I can
if requested.


Jakub's

Reply via email to