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)