https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88928
Bug ID: 88928 Summary: [9 Regression] ICE segfault in check_address_or_pointer_of_packed_member since r268075 Product: gcc Version: 9.0 Status: UNCONFIRMED Keywords: ice-on-valid-code Severity: normal Priority: P3 Component: c Assignee: unassigned at gcc dot gnu.org Reporter: belyshev at depni dot sinp.msu.ru CC: hjl.tools at gmail dot com Target Milestone: --- // bug.c struct a { } __attribute__((__packed__)); void c (struct a **); void d (const struct a *b) { c ((struct a **) b); } $ ./cc1 -quiet bug.c bug.c: In function 'd': bug.c:3:41: warning: converting a packed 'const struct a *' pointer (alignment 1) to 'struct a *' (alignment 8) may result in an unaligned pointer value [-Waddress-of-packed-member] 3 | void d (const struct a *b) { c ((struct a **) b); } | ^ bug.c:3:41: internal compiler error: Segmentation fault 0x1120e22 crash_signal ../../gcc/gcc/toplev.c:326 0x7f35308e88df ??? /build/glibc-T8GPG6/glibc-2.28/signal/../sysdeps/unix/sysv/linux/x86_64/sigaction.c:0 0x81a107 contains_struct_check(tree_node*, tree_node_structure_enum, char const*, int, char const*) ../../gcc/gcc/tree.h:3289 0x993f6f check_address_or_pointer_of_packed_member ../../gcc/gcc/c-family/c-warn.c:2762 0x9941e4 check_and_warn_address_or_pointer_of_packed_member ../../gcc/gcc/c-family/c-warn.c:2838 ...