- signed/unsigned long comparisons now work.
[fw/sdcc] / src / regression / b.c
index 2810d832c4a99e88446423b5ef4a69ad8f61cdf9..cf09e5c3fe92f2fbe0a942aa9414d550c0e84914 100644 (file)
@@ -1,20 +1,61 @@
 
 unsigned char success = 0;
-unsigned char failures = 0;
 unsigned char dummy = 0;
 
 unsigned char uchar0=0;
+unsigned char uchar1=0;
+unsigned char uchar2=0;
+
+
 void done(void)
 {
   dummy++;
 }
+/*
+void incptr(unsigned char *ucP)
+{
+  *ucP = *ucP + 1;
+}
+*/
+
+void inc(unsigned char k)
+{
+  uchar0 = uchar0 + k;
+}
+
+void f1(void)
+{
+
+  uchar2++;
+}
+
+void nested_call(unsigned char u)
+{
+
+  f1();
+  uchar1 = uchar1 + u;
+  inc(uchar1);
+
+}
+  //  uchar1 = uchar1 + uchar0;
+  //  uchar2 = uchar1 + k;
 
 void main(void)
 {
 
   uchar0=1;
+  //incptr(&uchar0);
+  inc(uchar0);
+  if(uchar0 !=2)
+    success++;
 
-  success = failures;
-  done();
+  uchar0 = 2;
+  uchar1 = 1;
+  uchar2 = 1;
+  nested_call(uchar2);
 
+  if(uchar0 !=4)
+    success++;
+
+  done();
 }