(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
asan/
use-after-scope-3.c
       1  // { dg-do run }
       2  // { dg-shouldfail "asan" }
       3  // { dg-skip-if "" { *-*-* }  { "*" } { "-O0" } }
       4  
       5  int
       6  main (void)
       7  {
       8    char *ptr;
       9    char *ptr2;
      10    {
      11      char my_char[9];
      12      ptr = &my_char[0];
      13      __builtin_memcpy (&ptr2, &ptr, sizeof (ptr2));
      14    }
      15  
      16    *(ptr2+9) = 'c';
      17  }
      18  
      19  // { dg-output "ERROR: AddressSanitizer: stack-use-after-scope on address.*(\n|\r\n|\r)" }
      20  // { dg-output "WRITE of size 1 at.*" }
      21  // { dg-output ".*'my_char' \\(line 11\\) <== Memory access at offset \[0-9\]* overflows this variable.*" }