https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117378
Bug ID: 117378 Summary: [15 Regression] ICE on waybar-0.11.0: verify_gimple failed Product: gcc Version: 15.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: middle-end Assignee: unassigned at gcc dot gnu.org Reporter: slyfox at gcc dot gnu.org Target Milestone: --- Created attachment 59508 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=59508&action=edit power_profiles_daemon.cpp.cpp Noticed an ICE on today's gcc-master from r15-4789-g5e26a340b228ca. Did not bisect. Self-contained example is a bit large: 7KB, attached. Crashes as: $ gcc/xg++ -Bgcc -Wall -std=c++20 -c ~/dev/bugs/gcc-15-waybar-ICE/power_profiles_daemon.cpp.cpp -O2 /home/slyfox/dev/bugs/gcc-15-waybar-ICE/power_profiles_daemon.cpp.cpp: In instantiation of ‘static void Variant<tuple<Types ...> >::create() [with Types = {int, int}]’: /home/slyfox/dev/bugs/gcc-15-waybar-ICE/power_profiles_daemon.cpp.cpp:185:39: required from here 185 | Variant< tuple< int, int > >::create(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ /home/slyfox/dev/bugs/gcc-15-waybar-ICE/power_profiles_daemon.cpp.cpp:181:27: warning: comparison of integer expressions of different signedness: ‘size_type’ {aka ‘long int’} and ‘long unsigned int’ [-Wsign-compare] 181 | for (size_type i = 0; i < variants.size(); i++) | ~~^~~~~~~~~~~~~~~~~ /home/slyfox/dev/bugs/gcc-15-waybar-ICE/power_profiles_daemon.cpp.cpp: In static member function ‘static void Variant<tuple<Types ...> >::create() [with Types = {int, int}]’: /home/slyfox/dev/bugs/gcc-15-waybar-ICE/power_profiles_daemon.cpp.cpp:177:34: error: type mismatch in binary expression 177 | template < class... Types > void Variant< tuple< Types... > >::create() { | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ sizetype long int sizetype _37 = _51 - _35; during GIMPLE pass: ldist /home/slyfox/dev/bugs/gcc-15-waybar-ICE/power_profiles_daemon.cpp.cpp:177:34: internal compiler error: verify_gimple failed 0x284b751 internal_error(char const*, ...) /home/slyfox/dev/git/gcc/gcc/diagnostic-global-context.cc:518 0x12bba86 verify_gimple_in_cfg(function*, bool, bool) /home/slyfox/dev/git/gcc/gcc/tree-cfg.cc:5682 0x112caaa execute_function_todo /home/slyfox/dev/git/gcc/gcc/passes.cc:2102 0x112cc18 do_per_function /home/slyfox/dev/git/gcc/gcc/passes.cc:1701 0x112cd26 execute_todo /home/slyfox/dev/git/gcc/gcc/passes.cc:2156 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. $ gcc/xg++ -Bgcc -v Reading specs from gcc/specs COLLECT_GCC=gcc/xg++ COLLECT_LTO_WRAPPER=gcc/lto-wrapper Target: x86_64-pc-linux-gnu Configured with: /home/slyfox/dev/git/gcc/configure --disable-multilib --disable-bootstrap --disable-lto --disable-libsanitizer --disable-libstdcxx-pch --enable-languages=c,c++ --disable-libgomp --disable-libquadmath --disable-libvtv CFLAGS='-O1 -ggdb3' CXXFLAGS='-O1 -ggdb3' LDFLAGS='-O1 -ggdb3' Thread model: posix Supported LTO compression algorithms: zlib gcc version 15.0.0 20241030 (experimental) (GCC)