https://gcc.gnu.org/bugzilla/show_bug.cgi?id=126152
Bug ID: 126152
Summary: ICE in shadow_mem_size, at asan.cc:1572, ASAN + ARM
-mabi=apcs-gnu
Product: gcc
Version: 17.0
Status: UNCONFIRMED
Keywords: ice-on-valid-code
Severity: normal
Priority: P3
Component: sanitizer
Assignee: unassigned at gcc dot gnu.org
Reporter: mjires at gcc dot gnu.org
CC: dodji at gcc dot gnu.org, dvyukov at gcc dot gnu.org,
jakub at gcc dot gnu.org, kcc at gcc dot gnu.org
Target Milestone: ---
Target: arm-linux-gnueabi
Compiling reduced testcase g++.dg/ext/stmtexpr2.C results in ICE.
$ cat stmtexpr2.C
struct A {
~A();
void operator+(A);
};
int main() { A() + A(); }
$ arm-linux-gnueabi-g++ stmtexpr2.C -mabi=apcs-gnu -fsanitize=address
during GIMPLE pass: sanopt
stmtexpr2.C: In function ‘int main()’:
stmtexpr2.C:5:5: internal compiler error: in shadow_mem_size, at asan.cc:1572
5 | int main() { A() + A(); }
| ^~~~
0x2623041 internal_error(char const*, ...)
/home/mjires/git/GCC/master/gcc/diagnostic-global-context.cc:787
0x262e523 fancy_abort(char const*, int, char const*)
/home/mjires/git/GCC/master/gcc/diagnostics/context.cc:1813
0x13732b1 shadow_mem_size
/home/mjires/git/GCC/master/gcc/asan.cc:1572
0x13732b1 asan_expand_mark_ifn(gimple_stmt_iterator*)
/home/mjires/git/GCC/master/gcc/asan.cc:4006
0x1388ea6 execute
/home/mjires/git/GCC/master/gcc/sanopt.cc:1383
/home/mjires/built/master-arm-linux-gnueabi/libexec/gcc/arm-linux-gnueabi/17.0.0/cc1plus
-quiet -D_GNU_SOURCE stmtexpr2.C -funwind-tables -quiet -dumpdir a- -dumpbase
stmtexpr2.C -dumpbase-ext .C -mabi=apcs-gnu -mcpu=arm10tdmi -mtls-dialect=gnu
-marm -mlibarch=armv5t -march=armv5t -fsanitize=address -o /tmp/ccLhLgNd.s
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.
$ arm-linux-gnueabi-g++ -v
Using built-in specs.
COLLECT_GCC=arm-linux-gnueabi-g++
COLLECT_LTO_WRAPPER=/home/mjires/built/master-arm-linux-gnueabi/libexec/gcc/arm-linux-gnueabi/17.0.0/lto-wrapper
Target: arm-linux-gnueabi
Configured with: /home/mjires/git/GCC/master/configure
--prefix=/home/mjires/built/master-arm-linux-gnueabi --target=arm-linux-gnueabi
--disable-bootstrap --enable-languages=c,c++,fortran --disable-multilib
--enable-checking
Thread model: posix
Supported LTO compression algorithms: zlib zstd
gcc version 17.0.0 20260707 (experimental) (GCC)