https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106126
Bug ID: 106126 Summary: tree check fail in useless_type_conversion_p, at gimple-expr.cc:87 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: --- Created attachment 53218 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=53218&action=edit C source code For the attached C code, with recent gcc trunk and compiler flag -O2, I get $ ../results/bin/gcc -c -O2 bug822.c during GIMPLE pass: iftoswitch /home/dcb36/rpmbuild/BUILD/libsolv-0.7.20/src/conda.c: In function ‘pool_conda_matchspec’: /home/dcb36/rpmbuild/BUILD/libsolv-0.7.20/src/conda.c:679:1: internal compiler error: tree check: expected class ‘type’, have ‘exceptional’ (error_mark) in useless_type_conversion_p, at gimple-expr.cc:87 679 | } | ^ 0x10fcfba tree_class_check_failed(tree_node const*, tree_code_class, char const*, int, char const*) ../../trunk.git/gcc/tree.cc:8866 0x9ffd8c tree_class_check(tree_node*, tree_code_class, char const*, int, char const*) ../../trunk.git/gcc/tree.h:3639 0x9ffd8c useless_type_conversion_p(tree_node*, tree_node*) ../../trunk.git/gcc/gimple-expr.cc:87 I will have my usual go at identifying a git hash range and reducing the code.