https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98293
--- Comment #3 from CVS Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by David Malcolm <dmalc...@gcc.gnu.org>: https://gcc.gnu.org/g:15af33a88065f983181550fc53821f1c6e14c5c7 commit r11-6452-g15af33a88065f983181550fc53821f1c6e14c5c7 Author: David Malcolm <dmalc...@redhat.com> Date: Mon Jan 4 19:20:32 2021 -0500 analyzer: fix ICE with -fsanitize=undefined [PR98293] -fsanitize=undefined with calls to nonnull functions creates struct __ubsan_nonnull_arg_data instances with CONSTRUCTORs for RECORD_TYPEs with NULL index values. The analyzer was mistakenly using INTEGER_CST for these fields, leading to ICEs. Fix the issue by iterating through the fields in the type for such cases, imitating similar logic in varasm.c's output_constructor. gcc/analyzer/ChangeLog: PR analyzer/98293 * store.cc (binding_map::apply_ctor_to_region): When "index" is NULL, iterate through the fields for RECORD_TYPEs, rather than creating an INTEGER_CST index. gcc/testsuite/ChangeLog: PR analyzer/98293 * gcc.dg/analyzer/pr98293.c: New test.