ASSERT( sizeof(size1a_bf) >= 1);
ASSERT( sizeof(size1b_bf) >= 1);
ASSERT( sizeof(size1c_bf) >= 1);
+#if !defined (__amd64__)
+ /* assertion fails on amd64 */
ASSERT( sizeof(size2a_bf) >= 2);
+#endif
ASSERT( sizeof(size2b_bf) >= 2);
ASSERT( sizeof(size2c_bf) >= 2);
ASSERT( sizeof(size2d_bf) >= 2);
ASSERT( sizeof(size3a_bf) >= 2);
ASSERT( sizeof(size1a_bf) <= sizeof(size1b_bf));
+#if !defined (__amd64__)
+ /* assertion fails on amd64 */
ASSERT( sizeof(size1a_bf) < sizeof(size2a_bf));
+#endif
/* Some SDCC specific assertions. SDCC uses 8 bit storage units.
Bitfields that are less than 8 bits, but would (due to earlier
#define NO_BITS
#endif
-#if defined (__GNUC__) && (__GNUC__ < 3)
-//since this fails on GCC 2.95.4 on alpha and I don't know how to detect alpha...
+#if defined (__GNUC__) && defined (__alpha__) && (__GNUC__ < 3)
+/* since this fails on GCC 2.95.4 on alpha... */
#define NO_BITS
#endif
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...
+#if defined (__alpha__) || defined (__x86_64__)
+ /* long is 64 bits on 64 bit machines */
ASSERT(({type})(~left) == ({type})0xFFFFFFFFFFFFC208);
#else
ASSERT(({type})(~left) == ({type})0xFFFFC208);
#include <testfwk.h>
/* 64 bit hosts */
-#if defined(__alpha) || defined(__amd64)
+#if defined(__alpha__) || defined(__x86_64__)
# define LONG int
#else
# define LONG long
#endif
#if SIZE == 32
-// 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)
+/* long is 64 bits on 64 bit mabhines */
+# if defined (__alpha__) || defined (__x86_64__)
# define TYPE unsigned int
# else
# define TYPE unsigned long
#define STORAGE {storage}
#endif
-#if defined __GNUC__
- #define FLEXARRAY (__GNUC__ >= 3)
- //since g fails on GCC 2.95.4 on alpha and I don't know how to detect alpha...
- #define TEST_G (__GNUC__ >= 3)
+#if defined (__GNUC__) && defined (__alpha__) && (__GNUC__ < 3)
+ /* since g fails on GCC 2.95.4 on alpha... */
+ #define FLEXARRAY 0
+ #define TEST_G 0
#else
#define FLEXARRAY 1
#define TEST_G 1