blob: 6ead28b97fbf7d2f5b73262cfdc0daae30ec3ce9 [file] [log] [blame] [edit]
// RUN: %clang_analyze_cc1 -std=c23 -analyzer-checker=core,unix.StdCLibraryFunctions,debug.ExprInspection -verify -analyzer-config eagerly-assume=false %s
void clang_analyzer_eval(int);
typedef struct FILE FILE;
/// Test that the static analyzer doesn't interpret the most significant bit as the sign bit.
// Unorthodox EOF value with a power of 2 radix
#define EOF (-0b11)
int getc(FILE *);
void test_getc(FILE *fp) {
int y = getc(fp);
if (y < 0) {
clang_analyzer_eval(y == EOF); // expected-warning{{TRUE}}
}
}