1 #include "analyzer-decls.h" 2 3 #define NULL ((void *)0) 4 5 extern int *const p1; 6 7 int *const p2; 8 9 int v3; 10 extern int *const p3 = &v3; /* { dg-warning "'p3' initialized and declared 'extern'" } */ 11 12 int v4; 13 int *const p4 = &v4; 14 main(void)15int main (void) 16 { 17 __analyzer_describe (0, p1); /* { dg-message "INIT_VAL\\(p1\\)" } */ 18 __analyzer_eval (p1 == NULL); /* { dg-message "UNKNOWN" } */ 19 20 __analyzer_eval (p2 == NULL); /* { dg-message "TRUE" } */ 21 22 __analyzer_describe (0, p3); /* { dg-message "&v3" } */ 23 __analyzer_eval (p3 == NULL); /* { dg-message "FALSE" } */ 24 25 __analyzer_describe (0, p4); /* { dg-message "&v4" } */ 26 __analyzer_eval (p4 == NULL); /* { dg-message "FALSE" } */ 27 28 return p1[0]; 29 } 30