31 lines · cpp
1// RUN: %clang_analyze_cc1 -w -analyzer-checker=core -verify %s2 3// expected-no-diagnostics4 5struct toggle {6 bool value;7};8 9toggle global_toggle;10toggle get_global_toggle() { return global_toggle; }11 12int oob_access();13 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 23bool coin();24 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