+
+ ASSERT(~ 1 < 0);
+ ASSERT(~ 1u > 0);
+ ASSERT(~ 1l < 0);
+ ASSERT(~ 1ul > 0);
+}
+
+void
+testCompare(void)
+{
+ {attrL} signed char c;
+ {attrR} unsigned char uc;
+
+ c = 0x80; /* -128 */
+ uc = 0x80; /* +128 */
+
+ ASSERT(!(c == uc));
+ ASSERT( c != uc );
+ ASSERT( c < uc );
+ ASSERT( c <= uc );
+ ASSERT(!(c > uc));
+ ASSERT(!(c >= uc));
+}
+
+void
+testUMinus(void)
+{
+ signed char {attrL} sc;
+ unsigned char {attrL} uc;
+ signed int {attrL} si;
+ unsigned int {attrL} ui;
+ signed long {attrL} sl;
+ unsigned long {attrL} ul;
+
+ ASSERT(-(53l ) < 0);
+ ASSERT(-(53ul) > 0);
+ ul = 53;
+ ASSERT(-ul > 0);
+ sl = 53;
+ ASSERT(-sl < 0);
+
+ ASSERT(-(53 ) < 0);
+ ASSERT(-(53u ) > 0);
+ ui = 53;
+ ASSERT(-ui > 0);
+ si = 53;
+ ASSERT(-si < 0);
+
+ ASSERT(-( 250 ) == -250);
+ uc = 250;
+ ASSERT(-uc == -250);
+
+ ASSERT(-(-128 ) == 128);
+ sc = -128;
+ ASSERT(-sc == 128);