]> git.gag.com Git - fw/sdcc/blobdiff - support/regression/tests/bug1738367.c
* src/SDCCsymt.c (compareType): fixed bugs 1738367 and 1745717 with patch
[fw/sdcc] / support / regression / tests / bug1738367.c
index f9da20e075549816b1a45325b418d7bde871236e..c0653575fb17d527e9e06f1bb9c70a14b8570eb8 100644 (file)
@@ -12,6 +12,33 @@ bool ternary(unsigned char status)
        return (status == 0) ? 0 : 1;
 }
 
+bool ternary_inv(unsigned char status)
+{
+       return (status == 0) ? 1 : 0;
+}
+
+
+bool ternary1(unsigned char status)
+{
+       return status ? 1 : 0;
+}
+
+bool ternary1_inv(unsigned char status)
+{
+       return status ? 0 : 1;
+}
+
+
+bool ternary2(unsigned char status)
+{
+       return !status ? 0 : 1;
+}
+
+bool ternary2_inv(unsigned char status)
+{
+       return !status ? 1 : 0;
+}
+
 #endif //__bool_true_false_are_defined
 
 
@@ -21,5 +48,21 @@ testBug(void)
 #ifdef __bool_true_false_are_defined
        ASSERT(!ternary(0x00));
        ASSERT( ternary(0x10));
+
+       ASSERT( ternary_inv(0x00));
+       ASSERT(!ternary_inv(0x10));
+
+       ASSERT(!ternary1(0x00));
+       ASSERT( ternary1(0x10));
+
+       ASSERT( ternary1_inv(0x00));
+       ASSERT(!ternary1_inv(0x10));
+
+       ASSERT(!ternary2(0x00));
+       ASSERT( ternary2(0x10));
+
+       ASSERT( ternary2_inv(0x00));
+       ASSERT(!ternary2_inv(0x10));
+       ASSERT(!ternary2_inv(1==1));
 #endif //__bool_true_false_are_defined
 }