(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
analyzer/
escaping-1.c
       1  #include "analyzer-decls.h"
       2  
       3  #define NULL ((void *)0)
       4  
       5  extern void unknown_fn (void *);
       6  
       7  static int only_used_by_test_1;
       8  
       9  static void test_1 (void)
      10  {
      11    int local_1, local_2;
      12    __analyzer_dump_escaped (); /* { dg-warning "escaped: 0: " } */
      13  
      14    unknown_fn (NULL);
      15    __analyzer_dump_escaped (); /* { dg-warning "escaped: 0: " } */
      16  
      17    unknown_fn (&local_1);
      18    __analyzer_dump_escaped (); /* { dg-warning "escaped: 1: 'local_1'" } */
      19  
      20    /* Should be idempotent.  */
      21    unknown_fn (&local_1);
      22    __analyzer_dump_escaped (); /* { dg-warning "escaped: 1: 'local_1'" } */
      23  
      24    /* Escape a static global.  */
      25    unknown_fn (&only_used_by_test_1);
      26    __analyzer_dump_escaped (); /* { dg-warning "escaped: 2: 'local_1', 'only_used_by_test_1'" } */
      27  }