(root)/
gcc-13.2.0/
gcc/
testsuite/
c-c++-common/
hwasan/
asan-pr78106.c
       1  /* PR sanitizer/78106 */
       2  /* { dg-do compile } */
       3  /* { dg-options "-fsanitize=hwaddress -fdump-tree-sanopt-details -ffat-lto-objects" } */
       4  
       5  int *variable;
       6  
       7  void __attribute__((used)) release()
       8  {
       9    __builtin_free (variable);
      10  }
      11  
      12  int main2(int argc)
      13  {
      14    *variable = 2;
      15  
      16    if (argc <= 5)
      17      asm volatile ("call release");
      18  
      19    *variable = 2;
      20    __builtin_abort ();
      21  
      22    return 0;
      23  }
      24  
      25  int main(int argc, char **argv)
      26  {
      27    variable = (int *)__builtin_malloc (sizeof(int));
      28    return main2(argc);
      29  }
      30  
      31  /* { dg-final { scan-tree-dump-not "Optimizing out(\n|\r\n|\r)  HWASAN_CHECK \\(7, variable.*" "sanopt" } } */