Applied patch #2762516
[fw/sdcc] / src / regression / b.c
index dc0a7f3cec6aba6cdc6afac0669aef700211ab3d..dd45f6cc61e3fc3b5aa825f54f108921a41ca00f 100644 (file)
-//#include "p16c84.h"
+#include "gpsim_assert.h"
 
-unsigned char success=0;
-unsigned char failures=0;
-unsigned char dummy=0;
+unsigned char failures = 0;
 
-bit bit0 = 0;
-unsigned int aint0 = 0;
-unsigned int aint1 = 0;
-unsigned char achar0 = 0;
-unsigned char achar1 = 0;
+unsigned char uchar0=0;
+unsigned char uchar1=0;
+unsigned char uchar2=0;
 
-void done()
-{
-
-  dummy++;
-
-}
-
-void bool_or1(void)
-{
-
-  if( (achar0 >0) || (achar1 >0 ))
-    failures++;
-}
-
-void bool_or2(void)
-{
-
-  if( achar0 || achar1)
-    failures++;
-}
 
-void bool_test1(void)
+void
+done()
 {
-
-  if( (achar0==0) || achar1)
-    failures++;
+  ASSERT(MANGLE(failures) == 0);
+  PASSED();
 }
 
-
-void bool_test2(void)
+/*
+void incptr(unsigned char *ucP)
 {
-
-  if( (achar0==0) || aint0)
-    failures++;
+  *ucP = *ucP + 1;
 }
+*/
 
-void bool_and1(void)
+void inc(unsigned char k)
 {
-
-  if( achar0 && achar1)
-    failures++;
+  uchar0 = uchar0 + k;
 }
 
-void bin_or1(void)
+void f1(void)
 {
 
-  char t;
-
-  t = achar0 | achar1;
-  if(t)
-    failures++;
+  uchar2++;
 }
 
-void bin_xor1(void)
+void nested_call(unsigned char u)
 {
 
-  if(achar0 ^ achar1)
-    failures++;
-}
-
+  f1();
+  uchar1 = uchar1 + u;
+  inc(uchar1);
 
-void bool_test3(void)
-{
-
-  if((achar0 == 0x42) || (achar1 == 42))
-    failures++;
 }
+  //  uchar1 = uchar1 + uchar0;
+  //  uchar2 = uchar1 + k;
 
-
-void bool_or_lit1(void)
+void main(void)
 {
 
-  achar0 |= 0x0f;
-
-  if(achar0 > 0x10)
+  uchar0=1;
+  //incptr(&uchar0);
+  inc(uchar0);
+  if(uchar0 !=2)
     failures++;
 
-  if( (achar0 | 0x10) > 0xf0)
-    failures++;
-
-}
-
-void bool_and_lit1(void)
-{
-
-  achar0 &= 0xf0;
-
-  if(achar0 > 0x10)
-    failures++;
+  uchar0 = 2;
+  uchar1 = 1;
+  uchar2 = 1;
+  nested_call(uchar2);
 
-  if( (achar0 & 0x10) > 0xf0)
+  if(uchar0 !=4)
     failures++;
 
-  achar0 &= 0xef;
-
-}
-
-void main(void)
-{
-
-  bool_or1();
-  bool_or2();
-  bool_and1();
-  bin_or1();
-  bin_xor1();
-
-  achar0++;
-  bool_and1();
-  bool_test1();
-  bool_test2();
-  bool_test3();
-
-
-  achar0--; achar1++;
-  bool_and1();
-
-  achar0=0;
-  achar1=0;
-
-  bool_or_lit1();
-  bool_and_lit1();
-
-  success = failures;
   done();
 }