http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54360

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jakub at gcc dot gnu.org

--- Comment #1 from Jakub Jelinek <jakub at gcc dot gnu.org> 2012-08-23 
15:00:25 UTC ---
That is because bar could do:
#include <stddef.h>
void baz (int *);
void bar (int *x)
{
  struct S { void (*b) (int *); int a; } *p;
  p = (struct S) ((char *) x - offsetof (struct S, a));
  p->b = baz;
}
It can't do something similar in case of y.

Reply via email to