Applied patch #2762516
[fw/sdcc] / src / regression / compare6.c
index e5c817749bdb3eb918febe9cdab2091e5aa5aa16..f189ba82467ea46ad1d1e5f7d89a539f0c2fb21a 100644 (file)
@@ -1,10 +1,11 @@
+#include "gpsim_assert.h"
 // Compound comparisons
 
 unsigned char success = 0;
 unsigned char failures = 0;
 unsigned char dummy = 0;
 
-bit bit0 = 0;
+//bit bit0 = 0;
 int int0 = 0;
 int int1 = 0;
 unsigned char uchar0 = 0;
@@ -15,13 +16,14 @@ char long0 = 0;
 char long1 = 0;
 
 void
-done ()
+done()
 {
-  dummy++;
+  ASSERT(MANGLE(failures) == 0);
+  PASSED();
 }
 
-
-void c_char(void)
+void
+c_char(void)
 {
 
   if(char0 || char1)
@@ -65,7 +67,8 @@ void c_char(void)
 }
 
 
-void c_int(void)
+void
+c_int(void)
 {
 
   if(int0 || int1)
@@ -109,7 +112,8 @@ void c_int(void)
 }
 
 
-void c_long(void)
+void
+c_long(void)
 {
 
   if(long0 || long1)
@@ -152,6 +156,15 @@ void c_long(void)
 
 }
 
+void
+c_uminus(void)
+{
+
+  int1 = -int0;
+  if(int1 < 0)
+    failures++;
+}
+
 void
 main (void)
 {
@@ -160,6 +173,12 @@ main (void)
   c_int();
   c_long();
 
+  int0 = -1;
+  c_uminus();
+  if(int1 != 1)
+    failures++;
+
   success = failures;
   done ();
 }
+