1 // RUN: %clang_analyze_cc1 -w -analyzer-checker=core -verify %s 2 3 // expected-no-diagnostics 4 5 struct toggle { 6 bool value; 7 }; 8 9 toggle global_toggle; get_global_toggle()10toggle get_global_toggle() { return global_toggle; } 11 12 int oob_access(); 13 compare(toggle one,bool other)14bool compare(toggle one, bool other) { 15 if (one.value != other) 16 return true; 17 18 if (one.value) 19 oob_access(); 20 return true; 21 } 22 23 bool coin(); 24 bar()25void bar() { 26 bool left = coin(); 27 bool right = coin(); 28 for (;;) 29 compare(get_global_toggle(), left) && compare(get_global_toggle(), right); 30 } 31