[Bug c/102029] New: ice: error: type mismatch in ‘lshift_expr’

dcb314 at hotmail dot com gcc-bugzilla@gcc.gnu.org
Mon Aug 23 19:47:56 GMT 2021


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

            Bug ID: 102029
           Summary: ice:  error: type mismatch in ‘lshift_expr’
           Product: gcc
           Version: 12.0
            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:

$ more bug743.c
const long fmpz_neg_f2;
void qfb_reduce(void) { __gmpz_neg((int *)(fmpz_neg_f2 << 2)); }
$ 

Recent gcc trunk does this:

$ /home/dcb/gcc/results.20210823/bin/gcc  -c -O2 bug743.c 
bug743.c: In function ‘qfb_reduce’:
bug743.c:2:25: warning: implicit declaration of function ‘__gmpz_neg’
[-Wimplici
t-function-declaration]
    2 | void qfb_reduce(void) { __gmpz_neg((int *)(fmpz_neg_f2 << 2)); }
      |                         ^~~~~~~~~~
bug743.c:2:6: error: type mismatch in ‘lshift_expr’
    2 | void qfb_reduce(void) { __gmpz_neg((int *)(fmpz_neg_f2 << 2)); }
      |      ^~~~~~~~~~
int *
int *
int
_3 = fmpz_neg_f2.1_2 << 2;
bug743.c:2:6: internal compiler error: ‘verify_gimple’ failed
0xd9532a verify_gimple_in_seq(gimple*)
        ../../trunk.git/gcc/tree-cfg.c:5183

The problem first seems to appear sometime between git hash 
e92d0ff6b5e6d4b9 and 38757aa88735ab2e, about 40 commits.


More information about the Gcc-bugs mailing list