blob: c76dd4ed31e0f71c6068a38b220fe0caca4b3d31 [file] [log] [blame]
#include "analyzer-decls.h"
#define NULL ((void *)0)
void * __attribute__((noinline))
hide (void *ptr)
{
return ptr;
}
void test_1 (void)
{
int a;
__analyzer_eval (hide (&a) == NULL); /* { dg-warning "FALSE" } */
__analyzer_eval (hide (&a) + 1 != NULL); /* { dg-warning "TRUE" } */
__analyzer_eval (hide (&a) + 1 == NULL); /* { dg-warning "FALSE" } */
__analyzer_eval (hide (&a) - 1 != NULL); /* { dg-warning "TRUE" } */
__analyzer_eval (hide (&a) - 1 == NULL); /* { dg-warning "FALSE" } */
}
void test_2 (void)
{
__analyzer_eval (hide (NULL) == NULL); /* { dg-warning "TRUE" } */
__analyzer_eval (hide (NULL) - 1 == NULL); /* { dg-warning "FALSE" } */
__analyzer_eval (hide (NULL) + 1 == NULL); /* { dg-warning "FALSE" } */
}