https://gcc.gnu.org/bugzilla/show_bug.cgi?id=125453
Bug ID: 125453
Summary: internal compiler error: verify_gimple failed invalid
types for ‘bit_xor_expr‘
Product: gcc
Version: 17.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c
Assignee: unassigned at gcc dot gnu.org
Reporter: lu.maltsis at postgrad dot manchester.ac.uk
Target Milestone: ---
```sh
gcc -O1 /tmp/bug.c
/tmp/bug.c: In function ‘main’:
/tmp/bug.c:4:5: error: invalid types for ‘bit_xor_expr’
4 | int main() {
| ^~~~
char *
char *
char[0:] *
_27 = c_19 ^ &b;
during GIMPLE pass: forwprop
/tmp/bug.c:4:5: internal compiler error: verify_gimple failed
0x25a664b internal_error(char const*, ...)
/home/user/software/gcc/slot-b/src/gcc/diagnostic-global-context.cc:787
0x11dbbe2 verify_gimple_in_cfg(function*, bool, bool)
/home/user/software/gcc/slot-b/src/gcc/tree-cfg.cc:5554
0x104a39a execute_function_todo
/home/user/software/gcc/slot-b/src/gcc/passes.cc:2100
0x104ab4e execute_todo
/home/user/software/gcc/slot-b/src/gcc/passes.cc:2152
/home/user/software/gcc/slot-b/libexec/gcc/x86_64-pc-linux-gnu/17.0.0/cc1
-quiet -imultiarch x86_64-linux-gnu /tmp/bug.c -quiet -dumpdir a- -dumpbase
bug.c -dumpbase-ext .c -mtune=generic -march=x86-64 -O1 -o /tmp/ccFw1v4m.s
Please submit a full bug report, with preprocessed source (by using
-freport-bug).
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.
$ cat /tmp/bug.c
int g(void);
int f(const char *);
int main() {
char b[0], *c;
int d, e;
for (d = 0, c = b; d < 3; d++, c++) {
g();
if (d && e)
break;
}
*c = '\0';
f(b);
}
```
Compiler Explorer Reproducer: https://godbolt.org/z/64vfKvdvf
Exact version of gcc: trunk
[4cca035](https://github.com/gcc-mirror/gcc/commit/4cca035a0db7f6229b8ad4b09cde98f8d1969e8a)
preprocessed source:
```c
// Target: x86_64-pc-linux-gnu
// Configured with: /home/user/software/gcc/slot-b/src/configure
--prefix=/home/user/software/gcc/slot-b --enable-languages=c,c++
--disable-bootstrap --disable-multilib --with-gmp=/usr --with-mpfr=/usr
--with-mpc=/usr
// Thread model: posix
// Supported LTO compression algorithms: zlib zstd
// gcc version 17.0.0 20260525 (experimental) (GCC)
//
// /tmp/bug.c: In function ‘main’:
// /tmp/bug.c:4:5: error: invalid types for ‘bit_xor_expr’
// 4 | int main() {
// | ^~~~
// char *
// char *
// char[0:] *
// _27 = c_19 ^ &b;
// during GIMPLE pass: forwprop
// /tmp/bug.c:4:5: internal compiler error: verify_gimple failed
// 0x25a664b internal_error(char const*, ...)
// /home/user/software/gcc/slot-b/src/gcc/diagnostic-global-context.cc:787
// 0x11dbbe2 verify_gimple_in_cfg(function*, bool, bool)
// /home/user/software/gcc/slot-b/src/gcc/tree-cfg.cc:5554
// 0x104a39a execute_function_todo
// /home/user/software/gcc/slot-b/src/gcc/passes.cc:2100
// 0x104ab4e execute_todo
// /home/user/software/gcc/slot-b/src/gcc/passes.cc:2152
// -quiet -imultiarch x86_64-linux-gnu /tmp/bug.c -quiet -dumpdir a- -dumpbase
bug.c -dumpbase-ext .c -mtune=generic -march=x86-64 -O1 -freport-bug -o -
-frandom-seed=0 -fdump-noaddr
// Please submit a full bug report, with preprocessed source.
// Please include the complete backtrace with any bug report.
// See <https://gcc.gnu.org/bugs/> for instructions.
// /home/user/software/gcc/slot-b/libexec/gcc/x86_64-pc-linux-gnu/17.0.0/cc1
-quiet -imultiarch x86_64-linux-gnu /tmp/bug.c -quiet -dumpdir a- -dumpbase
bug.c -dumpbase-ext .c -mtune=generic -march=x86-64 -O1 -freport-bug -o -
-frandom-seed=0 -fdump-noaddr
# 0 "/tmp/bug.c"
# 0 "<built-in>"
# 0 "<command-line>"
# 1 "/usr/include/stdc-predef.h" 1 3
# 0 "<command-line>" 2
# 1 "/tmp/bug.c"
int g(void);
int f(const char *);
int main() {
char b[0], *c;
int d, e;
for (d = 0, c = b; d < 3; d++, c++) {
g();
if (d && e)
break;
}
*c = '\0';
f(b);
}
```