[Bug c/51628] __attribute__((packed)) is unsafe in some cases (i.e. add -Waddress-of-packed-member, etc.)

hjl.tools at gmail dot com gcc-bugzilla@gcc.gnu.org
Sun Jan 13 04:44:00 GMT 2019


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=51628

--- Comment #59 from H.J. Lu <hjl.tools at gmail dot com> ---
A missing warning:

[hjl@gnu-cfl-1 pr51628-7]$ cat pr51628-33.c
struct pair_t
{
  char x;
  int i[4];
} __attribute__ ((packed, aligned (4)));

extern struct pair_t p;
extern void bar (int *);

void
foo (struct pair_t *p)
{
  bar (p ? p->i : (int *) 0);
}
[hjl@gnu-cfl-1 pr51628-7]$
/export/build/gnu/tools-build/gcc-debug/build-x86_64-linux/gcc/xgcc
-B/export/build/gnu/tools-build/gcc-debug/build-x86_64-linux/gcc/ -O2 -S
pr51628-33.c
[hjl@gnu-cfl-1 pr51628-7]$


More information about the Gcc-bugs mailing list