--- Begin Message ---
- To: Debian Bug Tracking System <submit@bugs.debian.org>
- Subject: GCC 15 ICE on initializing static pointer array to pointer to extern variable
- From: Stephan Springl <springl-gcc@bfw-online.de>
- Date: Thu, 08 May 2025 10:32:45 +0200
- Message-id: <174669316501.20302.14134173347677276262.reportbug@lar.bfw.de>
Package: g++-15
Version: 15.1.0-3
Severity: normal
X-Debbugs-Cc: springl-gcc-2025@bfw-online.de
Hi,
Debian GCC 15 has an ICE on a very short program. GCC 15.1.0 from the
gcc.gnu.org repository compiles ok.
$ cat gcc-15-bug.cc
int f ()
{ extern const int e;
static const int *const l[] = {&e, 0};
return *l && **l;
}
$ g++-15 -v -Wall -Wextra -c gcc-15-bug.cc
Using built-in specs.
COLLECT_GCC=g++-15
Target: i686-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Debian 15.1.0-3' --with-bugurl=file:///usr/share/doc/gcc-15/README.Bugs --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++,m2,rust,algol68 --prefix=/usr --with-gcc-major-version-only --program-suffix=-15 --program-prefix=i686-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/libexec --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-libstdcxx-backtrace --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-targets=all --enable-multiarch --disable-werror --with-arch-32=i686 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-checking=yes --build=i686-linux-gnu --host=i686-linux-gnu --target=i686-linux-gnu
Thread model: posix
Supported LTO compression algorithms: zlib zstd
gcc version 15.1.0 (Debian 15.1.0-3)
COLLECT_GCC_OPTIONS='-v' '-Wall' '-Wextra' '-c' '-shared-libgcc' '-mtune=generic' '-march=i686'
/usr/libexec/gcc/i686-linux-gnu/15/cc1plus -quiet -v -imultiarch i386-linux-gnu -D_GNU_SOURCE gcc-15-bug.cc -quiet -dumpbase gcc-15-bug.cc -dumpbase-ext .cc -mtune=generic -march=i686 -Wall -Wextra -version -fasynchronous-unwind-tables -o /tmp/ccFMxYrs.s
GNU C++17 (Debian 15.1.0-3) version 15.1.0 (i686-linux-gnu)
compiled by GNU C version 15.1.0, GMP version 6.3.0, MPFR version 4.2.2, MPC version 1.3.1, isl version isl-0.27-GMP
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
ignoring duplicate directory "/usr/include/i386-linux-gnu/c++/15"
ignoring nonexistent directory "/usr/local/include/i386-linux-gnu"
ignoring nonexistent directory "/usr/lib/gcc/i686-linux-gnu/15/include-fixed/i386-linux-gnu"
ignoring nonexistent directory "/usr/lib/gcc/i686-linux-gnu/15/include-fixed"
ignoring nonexistent directory "/usr/lib/gcc/i686-linux-gnu/15/../../../../i686-linux-gnu/include"
#include "..." search starts here:
#include <...> search starts here:
/usr/include/c++/15
/usr/include/i386-linux-gnu/c++/15
/usr/include/c++/15/backward
/usr/lib/gcc/i686-linux-gnu/15/include
/usr/local/include
/usr/include/i386-linux-gnu
/usr/include
End of search list.
Compiler executable checksum: 6719056d2b08748135a0500308d5887e
gcc-15-bug.cc: In function 'int f()':
gcc-15-bug.cc:1:5: error: address taken but 'TREE_ADDRESSABLE' bit not set
1 | int f ()
| ^
_1 = &e;
gcc-15-bug.cc:1:5: error: address taken but 'TREE_ADDRESSABLE' bit not set
_2 = &e;
gcc-15-bug.cc:1:5: internal compiler error: 'verify_gimple' failed
0x98723c2 internal_error(char const*, ...)
../../src/gcc/diagnostic-global-context.cc:517
0x8957137 verify_gimple_in_seq(gimple*, bool)
../../src/gcc/tree-cfg.cc:5332
0x9b60280 gimplify_body(tree_node*, bool)
../../src/gcc/gimplify.cc:20916
0x9b5ff48 gimplify_function_tree(tree_node*)
../../src/gcc/gimplify.cc:21042
0x9a93d0a cgraph_node::analyze()
../../src/gcc/cgraphunit.cc:689
0x9a91f18 analyze_functions
../../src/gcc/cgraphunit.cc:1265
0xa0de4e1 symbol_table::finalize_compilation_unit()
../../src/gcc/cgraphunit.cc:2574
Please submit a full bug report, with preprocessed source (by using -freport-bug).
Please include the complete backtrace with any bug report.
See <file:///usr/share/doc/gcc-15/README.Bugs> for instructions.
Regards,
Stephan
-- System Information:
Debian Release: trixie/sid
APT prefers testing
APT policy: (550, 'testing'), (210, 'unstable'), (1, 'experimental')
Architecture: i386 (x86_64)
Kernel: Linux 6.13.7-64+ (SMP w/32 CPU threads; PREEMPT)
Locale: LANG=C, LC_CTYPE=de_DE (charmap=ISO-8859-1), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: sysvinit (via /sbin/init)
Versions of packages g++-15 depends on:
ii g++-15-i686-linux-gnu 15.1.0-3
ii gcc-15 15.1.0-3
ii gcc-15-base 15.1.0-3
g++-15 recommends no packages.
Versions of packages g++-15 suggests:
pn g++-15-multilib <none>
pn gcc-15-doc <none>
-- no debconf information
--- End Message ---