1 // RUN: %clang_analyze_cc1 %s \
2 // RUN: -analyzer-checker=core \
3 // RUN: -analyzer-checker=debug.ExprInspection \
4 // RUN: -analyzer-config eagerly-assume=true \
7 // Here we test that no assertion is fired during symbol simplification.
8 // Related issue: https://github.com/llvm/llvm-project/issues/55546
10 extern void abort() __attribute__((__noreturn__
));
11 #define assert(expr) ((expr) ? (void)(0) : abort())
13 void clang_analyzer_warnIfReached();
18 assert(a
+ L
+ 1 + b
!= c
);
22 assert(a
+ L1
+ 1 + b
!= c
);
23 assert(a
== 0); // no-assertion
24 clang_analyzer_warnIfReached(); // expected-warning{{REACHABLE}}