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.