* support/regression/tests/bitvars.c,
authormaartenbrock <maartenbrock@4a8a32a2-be11-0410-ad9d-d568d2c75423>
Thu, 10 Feb 2005 14:37:00 +0000 (14:37 +0000)
committermaartenbrock <maartenbrock@4a8a32a2-be11-0410-ad9d-d568d2c75423>
Thu, 10 Feb 2005 14:37:00 +0000 (14:37 +0000)
* support/regression/tests/bitwise.c,
* support/regression/tests/rotate.c: "fixed" problems on Alpha

git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3676 4a8a32a2-be11-0410-ad9d-d568d2c75423

ChangeLog
support/regression/tests/bitvars.c
support/regression/tests/bitwise.c
support/regression/tests/rotate.c

index cb622841f499c2e6a6ce6e13081c747428def463..7a5b3fa4be263f68feffc8c8ce963c41f929cd13 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2005-02-10 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * support/regression/tests/bitvars.c,
+       * support/regression/tests/bitwise.c,
+       * support/regression/tests/rotate.c: "fixed" problems on Alpha
+
 2005-02-10 Raphael Neider <rneider AT web.de>
 
        * src/pic16/pcode.c (assignToSameBank) : fixed cast to pointer of
index fe48a04d2296ac1432d1a69bce107d8aee8c558e..727c603e2c08c6ac06358efbf0842109cc1637af 100644 (file)
 #define NO_BITS
 #endif
 
+#if defined __GNUC__
+  #if (__GNUC__ < 3)
+  //since this fails on GCC 2.95.4 on alpha and I don't know how to detect alpha...
+  #define NO_BITS
+#endif
+
 #ifndef NO_BITS
 
 #define TYPE_{type}
@@ -38,7 +44,7 @@ testBits(void)
 #ifndef NO_BITS
   bool x = 2;
   ASSERT (foo(x,3,4) == 6);
-  
+
   ASSERT (complement (~_0, 1));
   ASSERT (complement (~_1, 1));
 
index 3805822f828d783238c2c3b73cb024fcc7ccd357..6f489659ad2f8cdcba4201b907171130ccd5b8a5 100644 (file)
@@ -1,5 +1,5 @@
 /** Test the bitwise operators.
-    
+
     type: char, short, long
     attr: volatile,
     storage: static,
@@ -29,5 +29,10 @@ testTwoOpBitwise(void)
     ASSERT(({type})(left ^ 0xc1ec) == ({type})0xFC1B);
     ASSERT(({type})(0x3df7 ^ right) == ({type})0xFC1B);
 
+#if defined (__GNUC__) && (__GNUC__ < 3)
+    // long is 64 bits on GCC 2.95.4 on alpha and I don't know how to detect alpha...
+    ASSERT(({type})(~left) == ({type})0xFFFFFFFFFFFFC208);
+#else
     ASSERT(({type})(~left) == ({type})0xFFFFC208);
+#endif
 }
index c1fae86bc294370e4f800a970048247c4d377e51..9e83bc8966770ae059203c02c8dd71259e238276 100644 (file)
 #endif
 
 #if SIZE == 32
-#  define TYPE unsigned long
+// long is 64 bits on GCC 2.95.4 on alpha and I don't know how to detect alpha...
+#  if defined (__GNUC__) && (__GNUC__ < 3)
+#    define TYPE unsigned int
+#  else
+#    define TYPE unsigned long
+#  endif
 #  if MSB
 #    define TEST_VECT 0xa8c5a5c6
 #  else
@@ -43,7 +48,7 @@ TYPE rol5(TYPE s){ return (s<<5) | (s>>(SIZE-5)); }
 TYPE rol6(TYPE s){ return (s<<6) | (s>>(SIZE-6)); }
 TYPE rol7(TYPE s){ return (s<<7) | (s>>(SIZE-7)); }
 #endif
-                                              
+
 #if SIZE >=16 && !defined __ds390
 TYPE rol8 (TYPE s){ return (s<<8 ) | (s>>(SIZE-8 )); }
 TYPE rol9 (TYPE s){ return (s<<9 ) | (s>>(SIZE-9 )); }
@@ -72,9 +77,9 @@ testRol(void)
 {
     volatile TYPE t = TEST_VECT;
     TYPE u;
-    
+
     u = t;
-#if !defined __ds390    
+#if !defined __ds390
     ASSERT( rol1(u) == (TYPE)((TEST_VECT<<1) | (TEST_VECT>>(SIZE-1))) );
     ASSERT( rol2(u) == (TYPE)((TEST_VECT<<2) | (TEST_VECT>>(SIZE-2))) );
     ASSERT( rol3(u) == (TYPE)((TEST_VECT<<3) | (TEST_VECT>>(SIZE-3))) );
@@ -82,9 +87,9 @@ testRol(void)
     ASSERT( rol5(u) == (TYPE)((TEST_VECT<<5) | (TEST_VECT>>(SIZE-5))) );
     ASSERT( rol6(u) == (TYPE)((TEST_VECT<<6) | (TEST_VECT>>(SIZE-6))) );
     ASSERT( rol7(u) == (TYPE)((TEST_VECT<<7) | (TEST_VECT>>(SIZE-7))) );
-#endif    
-    
-#if SIZE >=16 && !defined __ds390 
+#endif
+
+#if SIZE >=16 && !defined __ds390
     ASSERT( rol8 (u) == (TYPE)((TEST_VECT<<8 ) | (TEST_VECT>>(SIZE-8 ))) );
     ASSERT( rol9 (u) == (TYPE)((TEST_VECT<<9 ) | (TEST_VECT>>(SIZE-9 ))) );
     ASSERT( rol10(u) == (TYPE)((TEST_VECT<<10) | (TEST_VECT>>(SIZE-10))) );
@@ -97,12 +102,12 @@ testRol(void)
 
 #if SIZE >=32
     ASSERT( rol16(u) == (TYPE)((TEST_VECT<<16) | (TEST_VECT>>(SIZE-16))) );
-    ASSERT( rol17(u) == (TYPE)((TEST_VECT<<17) | (TEST_VECT>>(SIZE-17))) );    
-    
+    ASSERT( rol17(u) == (TYPE)((TEST_VECT<<17) | (TEST_VECT>>(SIZE-17))) );
+
     ASSERT( rol23(u) == (TYPE)((TEST_VECT<<23) | (TEST_VECT>>(SIZE-23))) );
     ASSERT( rol24(u) == (TYPE)((TEST_VECT<<24) | (TEST_VECT>>(SIZE-24))) );
     ASSERT( rol25(u) == (TYPE)((TEST_VECT<<25) | (TEST_VECT>>(SIZE-25))) );
-    
+
     ASSERT( rol30(u) == (TYPE)((TEST_VECT<<30) | (TEST_VECT>>(SIZE-30))) );
     ASSERT( rol31(u) == (TYPE)((TEST_VECT<<31) | (TEST_VECT>>(SIZE-31))) );
 #endif