(root)/
gcc-13.2.0/
gcc/
testsuite/
c-c++-common/
asan/
pr79944.c
       1  /* PR sanitizer/79944 */
       2  /* { dg-do run } */
       3  
       4  struct S { int i; char p[1024]; };
       5  
       6  int
       7  main ()
       8  {
       9    struct S *p = (struct S *) __builtin_malloc (__builtin_offsetof (struct S, p) + 64);
      10    p->i = 5;
      11    asm volatile ("" : "+r" (p) : : "memory");
      12    __atomic_fetch_add ((int *) p, 5, __ATOMIC_RELAXED);
      13    asm volatile ("" : "+r" (p) : : "memory");
      14    if (p->i != 10)
      15      __builtin_abort ();
      16    __builtin_free (p);
      17    return 0;
      18  }