https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100525
Bug ID: 100525 Summary: ICE: tree check: expected class ‘type’, have ‘exceptional’ (error_mark) in useless_type_conversion_p, at gimple-expr.c:87 Product: gcc Version: tree-ssa Status: UNCONFIRMED Severity: normal Priority: P3 Component: c Assignee: unassigned at gcc dot gnu.org Reporter: cnsun at uwaterloo dot ca Target Milestone: --- $ gcc-trunk -v Using built-in specs. COLLECT_GCC=gcc-trunk COLLECT_LTO_WRAPPER=/scratch/software/gcc-trunk/libexec/gcc/x86_64-pc-linux-gnu/12.0.0/lto-wrapper Target: x86_64-pc-linux-gnu Configured with: /tmp/tmp.FUbEknNORK-gcc-builder/gcc/configure --enable-languages=c,c++,lto --enable-checking-yes --enable-multiarch --prefix=/scratch/software/gcc-trunk --disable-bootstrap Thread model: posix Supported LTO compression algorithms: zlib gcc version 12.0.0 20210511 (experimental) [master revision :7db32cac8:aa891c56f25baac94db004e309d1b6e40b770a95] (GCC) $ cat mutant.c __GIMPLE foo() { __builtin_abs(a); } $ gcc-trunk -O0 mutant.c mutant.c:1:1: error: ‘__GIMPLE’ only valid with ‘-fgimple’ 1 | __GIMPLE | ^~~~~~~~ mutant.c:2:1: warning: return type defaults to ‘int’ [-Wimplicit-int] 2 | foo() { __builtin_abs(a); } | ^~~ mutant.c: In function ‘foo’: mutant.c:2:23: error: ‘a’ undeclared (first use in this function) 2 | foo() { __builtin_abs(a); } | ^ mutant.c:2:23: note: each undeclared identifier is reported only once for each function it appears in during GIMPLE pass: lower mutant.c:2:1: internal compiler error: tree check: expected class ‘type’, have ‘exceptional’ (error_mark) in useless_type_conversion_p, at gimple-expr.c:87 2 | foo() { __builtin_abs(a); } | ^~~ 0x7bce07 tree_class_check_failed(tree_node const*, tree_code_class, char const*, int, char const*) /tmp/tmp.FUbEknNORK-gcc-builder/gcc/gcc/tree.c:8724 0x6cb6de tree_class_check(tree_node*, tree_code_class, char const*, int, char const*) /tmp/tmp.FUbEknNORK-gcc-builder/gcc/gcc/tree.h:3479 0x6cb6de useless_type_conversion_p(tree_node*, tree_node*) /tmp/tmp.FUbEknNORK-gcc-builder/gcc/gcc/gimple-expr.c:87 0xbe57da gimple_builtin_call_types_compatible_p(gimple const*, tree_node*) /tmp/tmp.FUbEknNORK-gcc-builder/gcc/gcc/gimple.c:2723 0x19177b5 lower_stmt /tmp/tmp.FUbEknNORK-gcc-builder/gcc/gcc/gimple-low.c:387 0x19177b5 lower_sequence /tmp/tmp.FUbEknNORK-gcc-builder/gcc/gcc/gimple-low.c:217 0x191766d lower_gimple_bind /tmp/tmp.FUbEknNORK-gcc-builder/gcc/gcc/gimple-low.c:473 0x191852d lower_function_body /tmp/tmp.FUbEknNORK-gcc-builder/gcc/gcc/gimple-low.c:110 0x191852d execute /tmp/tmp.FUbEknNORK-gcc-builder/gcc/gcc/gimple-low.c:195 Please submit a full bug report, with preprocessed source if appropriate. Please include the complete backtrace with any bug report. See <https://gcc.gnu.org/bugs/> for instructions.