(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
analyzer/
data-model-18.c
       1  #include "analyzer-decls.h"
       2  
       3  void test (int *p, int i, int j)
       4  {
       5    p[3] = 42;
       6    __analyzer_eval (p[3] == 42); /* { dg-warning "TRUE" } */
       7    __analyzer_eval (*(p + 3) == 42); /* { dg-warning "TRUE" } */
       8    __analyzer_eval (p[i] == 42); /* { dg-warning "UNKNOWN" } */
       9    __analyzer_eval (p[j] == 42); /* { dg-warning "UNKNOWN" } */
      10  
      11    //__analyzer_dump ();
      12  
      13    p[i] = 17;
      14  
      15    //__analyzer_dump ();
      16  
      17    __analyzer_eval (p[3] == 42); /* { dg-warning "UNKNOWN" } */
      18    __analyzer_eval (p[i] == 17); /* { dg-warning "TRUE" } */
      19    __analyzer_eval (p[j] == 17); /* { dg-warning "UNKNOWN" } */
      20  }