1  typedef struct __attribute__((__may_alias__)) { short x; } test;
       2  
       3  int f() {
       4    int a=10;
       5    test *p=(test *)&a;
       6    p->x = 1;
       7    return a;
       8  }
       9  
      10  int main() {
      11    if (f() == 10)
      12      __builtin_abort();
      13    return 0;
      14  }
      15  
      16