* Makefile.in, configure.in, configure,
[fw/sdcc] / src / regression / add.c
index 3069ce63faba69b672860ff841b6e56bc144f743..99fce7a90dfa53a35c9bc53bbab69a469c9aaa30 100644 (file)
@@ -1,17 +1,16 @@
-//#include "p16c84.h"
+#include "gpsim_assert.h"
+
 // Addition tests
 
 /* bit types are not ANSI - so provide a way of disabling bit types
  * if this file is used to test other compilers besides SDCC */
-#define SUPPORT_BIT_TYPES 1
+#define SUPPORT_BIT_TYPES 0
 
 /* Some compilers that support bit types do not support bit arithmetic 
  * (like bitx = bity + bitz;) */
 #define SUPPORT_BIT_ARITHMETIC 1
 
-unsigned char success = 0;
-unsigned char failures = 0;
-unsigned char dummy = 0;
+unsigned char failures=0;
 
 #if SUPPORT_BIT_TYPES
 
@@ -39,53 +38,49 @@ unsigned char achar3 = 0;
 unsigned char *acharP = 0;
 
 void
-done ()
+done()
 {
-
-  dummy++;
-
+  ASSERT(MANGLE(failures) == 0);
+  PASSED();
 }
 
-void
-add_lit2uchar (void)
+void add_lit2uchar(void)
 {
 
   achar0 = achar0 + 5;
 
-  if (achar0 != 5)
+  if(achar0 != 5)
     failures++;
 
   achar0 += 10;
 
-  if (achar0 != 15)
+  if(achar0 != 15)
     failures++;
 
-  achar0 = achar0 + 1;         // Should be an increment
-
-  if (achar0 != 16)
+  achar0 = achar0 +1;  // Should be an increment
+  if(achar0 != 16)
     failures++;
 
-  for (achar1 = 0; achar1 < 100; achar1++)
+  for(achar1 = 0; achar1 < 100; achar1++)
     achar0 += 2;
 
-  if (achar0 != 216)
+  if(achar0 != 216)
     failures++;
 
 }
 
-void
-add_uchar2uchar (void)
+void add_uchar2uchar(void)
 {
 
   achar1 = achar1 + achar0;
 
-  if (achar1 != 16)
+  if(achar1 != 16)
     failures++;
 
-  for (achar2 = 0; achar2 < 7; achar2++)
+  for(achar2 = 0; achar2<7; achar2++)
     achar1 += achar0;
 
-  if (achar1 != 128)
+  if(achar1 != 128)
     failures++;
 
 }
@@ -95,55 +90,49 @@ add_uchar2uchar (void)
 //  achar1 = 32
 //  achar2, achar3 can be anything.
 
-void
-add_uchar2uchar2 (void)
+void add_uchar2uchar2(void)
 {
-
-
   achar0++;
   achar0 = achar0 + 1;
   achar0 = achar0 + 2;
   achar0 = achar0 + 3;
-  if (achar0 != 7)
+  if(achar0 != 7)
     failures++;
 
   achar1 += achar0;
-  if (achar1 != 39)
+  if(achar1 != 39)
     failures++;
 
   achar2 = achar1 + achar0;
-  if (achar2 != 46)
+  if(achar2 != 46)
     failures++;
 
   achar3 = achar2 + achar1 + achar0;
-  if (achar3 != 92)
+  if(achar3 != 92)
     failures++;
-
 }
 
 #if SUPPORT_BIT_TYPES
-void
-add_bits (void)
+void add_bits(void)
 {
-
   bit1 = bit0;
 
   bit0 = 1;
 
-  if (bit1 != 0)
+  if(bit1 != 0)
     failures++;
 
-  bit1 = bit1 + bit0;
-  if (bit1 != 1)
+  bit1 = bit1+bit0;
+  if(bit1 != 1)
     failures++;
 
 #if SUPPORT_BIT_ARITHMETIC
-  bit2 = bit1 + bit3;
-  if (bit2)
+  bit2 = bit1+bit3;
+  if(!bit2)
     failures++;
 
-  bit3 = bit4 + bit5 + bit6 + bit7 + bit0;
-  if (!bit3)
+  bit3 = bit4+bit5+bit6+bit7+bit0;
+  if(!bit3)
     failures++;
 #endif
 }
@@ -151,55 +140,52 @@ add_bits (void)
 
 /* add_bit2uchar(void) - assumes bit0 = 1, achar0 = 7  */
 
-void
-add_bit2uchar (void)
+#if SUPPORT_BIT_TYPES
+void add_bit2uchar(void)
 {
-
   achar0 += bit0;
 
-  if (achar0 != 8)
+  if(achar0 != 8)
     failures++;
 
-  if (achar0 == bit0)
+  if(achar0 == bit0)
     failures++;
-
 }
 
-void
-add_bit2uint (void)
+void add_bit2uint(void)
 {
-
-  if (aint0 != bit11)
+  if(aint0 != bit11)
     failures++;
 
   aint0 += bit0;
-  if (aint0 != 1)
+  if(aint0!=1)
     failures++;
-
 }
-void
-main (void)
-{
+#endif
 
-  add_lit2uchar ();
+void main(void)
+{
+  add_lit2uchar();
+  ASSERT(MANGLE(failures) == 0);
 
-  achar0 = 16;
-  achar1 = 0;
-  add_uchar2uchar ();
+  achar0=16;
+  achar1=0;
+  add_uchar2uchar();
+  ASSERT(MANGLE(failures) == 0);
 
 
   achar0 = 0;
   achar1 = 32;
-  add_uchar2uchar2 ();
+  add_uchar2uchar2();
+  ASSERT(MANGLE(failures) == 0);
 
 #if SUPPORT_BIT_TYPES
-  add_bits ();
+  add_bits();
 
-  add_bit2uchar ();
-  add_bit2uint ();
+  add_bit2uchar();
+  add_bit2uint();
 #endif
+  ASSERT(MANGLE(failures) == 0);
 
-
-  success = failures;
-  done ();
+  done();
 }