https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112619
Bug ID: 112619 Summary: [14 regression] ICE when building libcrafter (tree check: expected statement_list, have modify_expr in tsi_start, at tree-iterator.h:57) Product: gcc Version: 14.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: middle-end Assignee: unassigned at gcc dot gnu.org Reporter: sjames at gcc dot gnu.org Target Milestone: --- Created attachment 56640 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=56640&action=edit ICMPCraft.ii Originally reported downstream in Gentoo at https://bugs.gentoo.org/917592 by Toralf Förster. ``` libtool: compile: x86_64-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I/usr/include/dbus-1.0 -I/usr/lib64/dbus-1.0/include -ansi -pedantic -Wall -O2 -march=native -pipe -fcf-protection=none -fdiagnostics-color=always -fdiagnostics-urls=never -frecord-gcc-switches -ggdb3 -c crafter/Protocols/ICMPCraft.cpp -fPIC -DPIC -o crafter/Protocols/.libs/ICMPCraft.o In file included from crafter/Protocols/ICMP.h:30, from crafter/Protocols/ICMPCraft.cpp:34: crafter/Protocols/../Layer.h:246:32: warning: 'virtual Crafter::Layer& Crafter::Layer::operator=(const Crafter::Layer&)' was hidden [-Woverloaded-virtual=] 246 | virtual Layer& operator=(const Layer& right); | ^~~~~~~~ In file included from crafter/Protocols/ICMP.h:31: crafter/Protocols/ICMPLayer.h:15:15: note: by 'Crafter::ICMPLayer& Crafter::ICMPLayer::operator=(const Crafter::ICMPLayer&)' 15 | class ICMPLayer: public Layer { | ^~~~~~~~~ crafter/Protocols/../Layer.h:246:32: warning: 'virtual Crafter::Layer& Crafter::Layer::operator=(const Crafter::Layer&)' was hidden [-Woverloaded-virtual=] 246 | virtual Layer& operator=(const Layer& right); | ^~~~~~~~ crafter/Protocols/ICMP.h:35:11: note: by 'Crafter::ICMP& Crafter::ICMP::operator=(const Crafter::ICMP&)' 35 | class ICMP: public ICMPLayer { | ^~~~ crafter/Protocols/ICMPCraft.cpp: In member function 'virtual std::string Crafter::ICMP::MatchFilter() const': crafter/Protocols/ICMPCraft.cpp:196:9: internal compiler error: tree check: expected statement_list, have modify_expr in tsi_start, at tree-iterator.h:57 196 | if ( type == EchoRequest || type == TimeStampRequest || | ^~ 0x55b58f7d2432 tree_check_failed(tree_node const*, char const*, int, char const*, ...) /usr/src/debug/sys-devel/gcc-14.0.0.9999/gcc-14.0.0.9999/gcc/tree.cc:8952 0x55b58e6c2423 tree_check(tree_node*, char const*, int, char const*, tree_code) /usr/src/debug/sys-devel/gcc-14.0.0.9999/gcc-14.0.0.9999/gcc/tree.h:3602 0x55b58e6c2423 tsi_start(tree_node*) /usr/src/debug/sys-devel/gcc-14.0.0.9999/gcc-14.0.0.9999/gcc/tree-iterator.h:57 0x55b58ea0a100 try_catch_may_fallthru /usr/src/debug/sys-devel/gcc-14.0.0.9999/gcc-14.0.0.9999/gcc/tree.cc:12576 0x55b58ea0a100 block_may_fallthru(tree_node const*) /usr/src/debug/sys-devel/gcc-14.0.0.9999/gcc-14.0.0.9999/gcc/tree.cc:12649 0x55b59092bac0 block_may_fallthru(tree_node const*) /usr/src/debug/sys-devel/gcc-14.0.0.9999/gcc-14.0.0.9999/gcc/tree.cc:12659 0x55b59092b20a shortcut_cond_expr /usr/src/debug/sys-devel/gcc-14.0.0.9999/gcc-14.0.0.9999/gcc/gimplify.cc:4412 0x55b59090c794 gimplify_cond_expr /usr/src/debug/sys-devel/gcc-14.0.0.9999/gcc-14.0.0.9999/gcc/gimplify.cc:4691 0x55b5900af22a gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*), int) /usr/src/debug/sys-devel/gcc-14.0.0.9999/gcc-14.0.0.9999/gcc/gimplify.cc:16672 0x55b5900ad2f0 gimplify_stmt(tree_node**, gimple**) /usr/src/debug/sys-devel/gcc-14.0.0.9999/gcc-14.0.0.9999/gcc/gimplify.cc:7472 0x55b5908f2131 gimplify_bind_expr /usr/src/debug/sys-devel/gcc-14.0.0.9999/gcc-14.0.0.9999/gcc/gimplify.cc:1614 0x55b5900af3aa gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*), int) /usr/src/debug/sys-devel/gcc-14.0.0.9999/gcc-14.0.0.9999/gcc/gimplify.cc:16916 0x55b5900af2b9 gimplify_stmt(tree_node**, gimple**) /usr/src/debug/sys-devel/gcc-14.0.0.9999/gcc-14.0.0.9999/gcc/gimplify.cc:7472 0x55b5900af2b9 gimplify_statement_list /usr/src/debug/sys-devel/gcc-14.0.0.9999/gcc-14.0.0.9999/gcc/gimplify.cc:2222 0x55b5900af2b9 gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*), int) /usr/src/debug/sys-devel/gcc-14.0.0.9999/gcc-14.0.0.9999/gcc/gimplify.cc:17160 0x55b5900ad2f0 gimplify_stmt(tree_node**, gimple**) /usr/src/debug/sys-devel/gcc-14.0.0.9999/gcc-14.0.0.9999/gcc/gimplify.cc:7472 0x55b5900aec7a gimplify_and_add(tree_node*, gimple**) /usr/src/debug/sys-devel/gcc-14.0.0.9999/gcc-14.0.0.9999/gcc/gimplify.cc:493 0x55b5900aec7a gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*), int) /usr/src/debug/sys-devel/gcc-14.0.0.9999/gcc-14.0.0.9999/gcc/gimplify.cc:17067 0x55b5900af2b9 gimplify_stmt(tree_node**, gimple**) /usr/src/debug/sys-devel/gcc-14.0.0.9999/gcc-14.0.0.9999/gcc/gimplify.cc:7472 0x55b5900af2b9 gimplify_statement_list /usr/src/debug/sys-devel/gcc-14.0.0.9999/gcc-14.0.0.9999/gcc/gimplify.cc:2222 Please submit a full bug report, with preprocessed source (by using -freport-bug). Please include the complete backtrace with any bug report. See <https://bugs.gentoo.org/> for instructions. ``` ``` Using built-in specs. COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-pc-linux-gnu/14/lto-wrapper Target: x86_64-pc-linux-gnu Configured with: /var/tmp/portage/sys-devel/gcc-14.0.0.9999/work/gcc-14.0.0.9999/configure --host=x86_64-pc-linux-gnu --build=x86_64-pc-linux-gnu --prefix=/usr --bindir=/usr/x86_64-pc-linux-gnu/gcc-bin/14 --includedir=/usr/lib/gcc/x86_64-pc-linux-gnu/14/include --datadir=/usr/share/gcc-data/x86_64-pc-linux-gnu/14 --mandir=/usr/share/gcc-data/x86_64-pc-linux-gnu/14/man --infodir=/usr/share/gcc-data/x86_64-pc-linux-gnu/14/info --with-gxx-include-dir=/usr/lib/gcc/x86_64-pc-linux-gnu/14/include/g++-v14 --disable-silent-rules --disable-dependency-tracking --with-python-dir=/share/gcc-data/x86_64-pc-linux-gnu/14/python --enable-languages=c,c++,fortran,rust --enable-obsolete --enable-secureplt --disable-werror --with-system-zlib --enable-nls --without-included-gettext --disable-libunwind-exceptions --enable-checking=yes,extra,rtl --with-bugurl=https://bugs.gentoo.org/ --with-pkgversion='Gentoo Hardened 14.0.0 p, commit 35bb529f420ff5863fdae51049e6935ab927ff3d' --with-gcc-major-version-only --enable-libstdcxx-time --enable-lto --disable-libstdcxx-pch --enable-shared --enable-threads=posix --enable-__cxa_atexit --enable-clocale=gnu --enable-multilib --with-multilib-list=m32,m64 --disable-fixed-point --enable-targets=all --enable-libgomp --disable-libssp --disable-libada --enable-cet --disable-systemtap --enable-valgrind-annotations --disable-vtable-verify --disable-libvtv --with-zstd --with-isl --disable-isl-version-check --enable-default-pie --enable-host-pie --enable-host-bind-now --enable-default-ssp --with-build-config='bootstrap-O3 bootstrap-lto bootstrap-cet' Thread model: posix Supported LTO compression algorithms: zlib zstd gcc version 14.0.0 20231118 (experimental) 841008d3966c0fe7a80ec10703a50fbdab7620ac (Gentoo Hardened 14.0.0 p, commit 35bb529f420ff5863fdae51049e6935ab927ff3d) ``` Needs 'g++ -c ICMPCraft.ii -ansi'.