#include "endless_loop.h" // Constructor. endless_loop::endless_loop(void) { } // Destructor. endless_loop::~endless_loop(void) { } // Runs all tests. void endless_loop::runTests(bool mayCrash) { #ifdef polyspace volatile int random = 0; switch (random) { case 1: v1(); break; case 2: v2(); break; } #else if (mayCrash != 0) { v1(); } #endif } // v1: simple case of endless loop. void endless_loop::v1(void) { unsigned int i = 0; while (i >= 0) { i++; } } // v2: esoteric case of endless loop. // This is not a "true" endless loop, because "i" will overflow and be equal // to zero in some point in time. void endless_loop::v2(void) { unsigned int i = 1; while (i > 0) { i++; } }