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