(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
analyzer/
equivalence.c
       1  #include "analyzer-decls.h"
       2  
       3  void test (int p, int q, int r)
       4  {
       5    if (p == 42)
       6      {
       7        __analyzer_eval (p == 42);  /* { dg-warning "TRUE" } */
       8        __analyzer_eval (p != 42);  /* { dg-warning "FALSE" } */
       9        if (q == 42)
      10  	{
      11  	  __analyzer_eval (p == q);  /* { dg-warning "TRUE" } */
      12  	}
      13        else
      14  	{
      15  	  __analyzer_eval (p != q);  /* { dg-warning "TRUE" } */
      16  	}
      17      }
      18    else
      19      {
      20        __analyzer_eval (p == 42);  /* { dg-warning "FALSE" } */
      21        __analyzer_eval (p != 42);  /* { dg-warning "TRUE" } */
      22        if (q == 42)
      23  	{
      24  	  __analyzer_eval (p == q);  /* { dg-warning "FALSE" } */
      25  	}
      26        else
      27  	{
      28  	  __analyzer_eval (p == q);  /* { dg-warning "UNKNOWN" } */
      29  	}
      30      }
      31  }