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
...

Reply via email to