diff options
author | Jakub Jelinek <jakub@redhat.com> | 2025-04-02 19:28:20 +0200 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2025-04-02 19:28:20 +0200 |
commit | 29bc904cb827615ed9f36bc3742ccc4ac77515ec (patch) | |
tree | 7fa87245cc2b21e87f6012a8b0e9850578de03f9 /gcc/rust/backend/rust-compile-expr.cc | |
parent | aca8155c09001f269a20d6df438fa0e749dd5388 (diff) | |
download | gcc-29bc904cb827615ed9f36bc3742ccc4ac77515ec.zip gcc-29bc904cb827615ed9f36bc3742ccc4ac77515ec.tar.gz gcc-29bc904cb827615ed9f36bc3742ccc4ac77515ec.tar.bz2 |
c: Fix ICEs with -fsanitize=pointer-{subtract,compare} [PR119582]
The following testcase ICEs because c_fully_fold isn't performed on the
arguments of __sanitizer_ptr_{sub,cmp} builtins and so e.g.
C_MAYBE_CONST_EXPR can leak into the gimplifier where it ICEs.
2025-04-02 Jakub Jelinek <jakub@redhat.com>
PR c/119582
* c-typeck.cc (pointer_diff, build_binary_op): Call c_fully_fold on
__sanitizer_ptr_sub or __sanitizer_ptr_cmp arguments.
* gcc.dg/asan/pr119582.c: New test.
Diffstat (limited to 'gcc/rust/backend/rust-compile-expr.cc')
0 files changed, 0 insertions, 0 deletions