xref: /aosp_15_r20/external/clang/test/Analysis/svalbuilder-logic.c (revision 67e74705e28f6214e480b399dd47ea732279e315)
1*67e74705SXin Li // RUN: %clang_cc1 -analyze -analyzer-checker=core,unix -verify %s
2*67e74705SXin Li // expected-no-diagnostics
3*67e74705SXin Li 
4*67e74705SXin Li // Testing core functionality of the SValBuilder.
5*67e74705SXin Li 
SValBuilderLogicNoCrash(int * x)6*67e74705SXin Li int SValBuilderLogicNoCrash(int *x) {
7*67e74705SXin Li   return 3 - (int)(x +3);
8*67e74705SXin Li }
9*67e74705SXin Li 
10*67e74705SXin Li // http://llvm.org/bugs/show_bug.cgi?id=15863
11*67e74705SXin Li // Don't crash when mixing 'bool' and 'int' in implicit comparisons to 0.
pr15863()12*67e74705SXin Li void pr15863() {
13*67e74705SXin Li   extern int getBool();
14*67e74705SXin Li   _Bool a = getBool();
15*67e74705SXin Li   (void)!a; // no-warning
16*67e74705SXin Li }
17