(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
analyzer/
params.c
       1  #include "analyzer-decls.h"
       2  
       3  static int __analyzer_called_function(int j)
       4  {
       5    int k;
       6  
       7    __analyzer_eval (j > 4); /* { dg-warning "TRUE" } */
       8  
       9    k = j - 1;
      10  
      11    __analyzer_eval (k > 3); /* { dg-warning "TRUE" "desired" { xfail *-*-* } } */
      12    /* { dg-warning "UNKNOWN" "status quo" { target *-*-* } .-1 } */
      13    /* TODO(xfail): we're not then updating based on the assignment.  */
      14  
      15    return k;
      16  }
      17  
      18  void test(int i)
      19  {
      20    __analyzer_eval (i > 4); /* { dg-warning "UNKNOWN" } */
      21  
      22    if (i > 4) {
      23  
      24      __analyzer_eval (i > 4); /* { dg-warning "TRUE" } */
      25  
      26      i = __analyzer_called_function(i);
      27  
      28      __analyzer_eval (i > 3); /* { dg-warning "TRUE" "desired" { xfail *-*-* } } */
      29      /* { dg-warning "UNKNOWN" "status quo" { target *-*-* } .-1 } */
      30      /* TODO(xfail): we're not updating from the returned value.  */
      31    }
      32  
      33    __analyzer_eval (i > 3); /* { dg-warning "UNKNOWN" } */
      34  }