1  #include "analyzer-decls.h"
       2  
       3  /* "errno" declared as a global var.  */
       4  
       5  extern int errno;
       6  
       7  extern void external_fn (void);
       8  
       9  int test_reading_errno (void)
      10  {
      11    return errno;
      12  }
      13  
      14  void test_setting_errno (int val)
      15  {
      16    errno = val;
      17  }
      18  
      19  void test_storing_to_errno (int val)
      20  {
      21    __analyzer_eval (errno == val); /* { dg-warning "UNKNOWN" } */
      22    errno = val;
      23    __analyzer_eval (errno == val); /* { dg-warning "TRUE" } */
      24    external_fn ();
      25    __analyzer_eval (errno == val); /* { dg-warning "UNKNOWN" } */  
      26  }