/tags/sdcc-290-pre1/sdcc/support/regression/tests/while.c

# · C · 30 lines · 19 code · 6 blank · 5 comment · 24 complexity · 401f7537f63efcf2c231a64f0da59bbc MD5 · raw file

  1. /*
  2. while.c
  3. */
  4. #include <testfwk.h>
  5. char c1 = 0, c2 = 1;
  6. void
  7. testEmptyWhile(void)
  8. {
  9. /* loops forever if bug ist present */
  10. do {} while (c1 && c2);
  11. /* other cases: */
  12. do {} while ( c1 && c1);
  13. do {} while ( c1 && !c2);
  14. do {} while (!c1 && !c2);
  15. do {} while ( c2 && c1);
  16. do {} while (!c2 && c1);
  17. do {} while (!c2 && !c1);
  18. do {} while (!c2 && !c2);
  19. do {} while ( c1 || c1);
  20. do {} while ( c1 || !c2);
  21. do {} while (!c2 || c1);
  22. do {} while (!c2 || !c2);
  23. ASSERT(1);
  24. }