* src/SDCCast.c (isConformingBody): fixed bug 1505811, thanks Robert Larice
[fw/sdcc] / src / regression / for.c
index a6245070b60c00af00e5cd76017bf11e2c36cee6..9c9314e3bc9b2507661e6af9e360441472c814a9 100644 (file)
@@ -1,22 +1,17 @@
-//#include "p16c84.h"
+#include "gpsim_assert.h"
 
-unsigned char success=0;
 unsigned char failures=0;
-unsigned char dummy=0;
 
-bit bit0 = 0;
 unsigned int uint0 = 0;
 unsigned int uint1 = 0;
 unsigned char uchar0 = 0;
 unsigned char uchar1 = 0;
 
-unsigned char call3(void);
-
-void done()
+void
+done()
 {
-
-  dummy++;
-
+  ASSERT(MANGLE(failures) == 0);
+  PASSED();
 }
 
 void for1(void)
@@ -34,11 +29,14 @@ void for1(void)
 void for2(void)
 {
   unsigned char i=0;
+  unsigned char j;
 
   for(i=0; i<10; i++)
     uchar0++;
 
-  if(i < 10)
+  j = (volatile)i;
+
+  if(j != 10)
     failures++;
 
 }
@@ -46,11 +44,13 @@ void for2(void)
 void for3(void)
 {
   unsigned int i=0;
+  volatile unsigned int j;
 
   for(i=0; i<10; i++)
     uint0++;
 
-  if(i < 10)
+  j = i;
+  if(j != 10)
     failures++;
 
 }
@@ -104,6 +104,5 @@ void main(void)
   if(uchar0 != 10)
     failures++;
 
-  success = failures;
   done();
 }