summaryrefslogtreecommitdiff
path: root/support/regression/tests/bitfields.c
diff options
context:
space:
mode:
Diffstat (limited to 'support/regression/tests/bitfields.c')
-rw-r--r--support/regression/tests/bitfields.c24
1 files changed, 14 insertions, 10 deletions
diff --git a/support/regression/tests/bitfields.c b/support/regression/tests/bitfields.c
index 29eebc00b..ffd2208eb 100644
--- a/support/regression/tests/bitfields.c
+++ b/support/regression/tests/bitfields.c
@@ -10,7 +10,7 @@ struct {
char c3_5 : 5;
} c_bf;
-#ifndef __SDCC_pdk14 // Lack of memory
+#if !defined (__SDCC_pdk13) && !defined (__SDCC_pdk14) // Lack of memory
#if !defined(__SDCC_pic16)
struct {
int i0_7 : 7;
@@ -121,6 +121,7 @@ testBitfieldSizeof(void)
ASSERT( sizeof(size3a_bf) >= 2);
ASSERT( sizeof(size1a_bf) <= sizeof(size1b_bf));
#endif /* !__SDCC_pic16 */
+#if !defined (__SDCC_pdk13) // Lack of memory
/* Some SDCC specific assertions. SDCC uses 8 bit storage units.
Bitfields that are less than 8 bits, but would (due to earlier
bitfield declarations) span a storage unit boundary are
@@ -140,13 +141,14 @@ testBitfieldSizeof(void)
ASSERT( sizeof(size3a_bf) == 3);
#endif /* !__SDCC_pic16 */
#endif
+#endif
}
void
testBitfieldsSingleBitLiteral(void)
{
-#ifndef __SDCC_pdk14 // Lack of memory
+#if !defined (__SDCC_pdk13) && !defined (__SDCC_pdk14) // Lack of memory
#if !(defined (__SDCC_pdk15) && defined(__SDCC_STACK_AUTO)) // Lack of code memory
#if !defined(__SDCC_pic16)
size2b_bf.b0 = 0;
@@ -204,7 +206,7 @@ testBitfieldsSingleBitLiteral(void)
void
testBitfieldsSingleBit(void)
{
-#ifndef __SDCC_pdk14 // Lack of memory
+#if !defined (__SDCC_pdk13) && !defined (__SDCC_pdk14) // Lack of memory
#if !(defined (__SDCC_pdk15) && defined(__SDCC_STACK_AUTO)) // Lack of code memory
#if !defined(__SDCC_pic16)
volatile unsigned char c;
@@ -267,7 +269,7 @@ testBitfieldsSingleBit(void)
void
testBitfieldsMultibitLiteral(void)
{
-#if !defined( __SDCC_pdk14) && !defined( __SDCC_pdk15) // Lack of memory
+#if !defined (__SDCC_pdk13) && !defined( __SDCC_pdk14) && !defined( __SDCC_pdk15) // Lack of memory
#if !defined(__SDCC_pic16)
size2c_bf.b0 = 0xff; /* should truncate to 0x0f */
size2c_bf.b1 = 0;
@@ -325,7 +327,7 @@ testBitfieldsMultibitLiteral(void)
void
testBitfieldsMultibit(void)
{
-#if !defined( __SDCC_pdk14) && !defined( __SDCC_pdk15) // Lack of memory
+#if !defined (__SDCC_pdk13) && !defined( __SDCC_pdk14) && !defined( __SDCC_pdk15) // Lack of memory
#if !defined(__SDCC_pic16)
volatile int allones = 0xffff;
volatile int zero = 0;
@@ -406,7 +408,7 @@ testBitfields(void)
void
testSignedBitfields(void)
{
-#if !defined( __SDCC_pdk14) && !defined( __SDCC_pdk15) // Lack of memory
+#if !defined (__SDCC_pdk13) && !defined( __SDCC_pdk14) && !defined( __SDCC_pdk15) // Lack of memory
#if !defined(__SDCC_pic16)
s_bf.s0_7 = 0xf0;
s_bf.s7_1 = 1;
@@ -431,7 +433,7 @@ testSignedBitfields(void)
}
/* test case for enhancement request #2291335 : Unnamed bit-field initialization */
-
+#if !defined (__SDCC_pdk13) // Lack of memory
struct s2291335_1 {
int a : 2;
char : 2;
@@ -446,10 +448,11 @@ struct s2291335_2 {
struct s2291335_1 gs2291335_1 = {1, 2};
struct s2291335_2 gs2291335_2 = {1, 2};
-
+#endif
void
__test2291335(void)
{
+#if !defined (__SDCC_pdk13) // Lack of memory
struct s2291335_1 ls2291335_1 = {1, 2};
struct s2291335_2 ls2291335_2 = {1, 2};
@@ -462,6 +465,7 @@ __test2291335(void)
ASSERT(ls2291335_1.b == 2);
ASSERT(ls2291335_2.a == 1);
ASSERT(ls2291335_2.b == 2);
+#endif
}
/* test case for bug #2366757: segfault when initializing structure with bitfield */
@@ -474,7 +478,7 @@ struct
/* test case for const struct with bitfields */
-#if !defined( __SDCC_pdk14) && !defined( __SDCC_pdk15) // Lack of memory
+#if !defined (__SDCC_pdk13) && !defined( __SDCC_pdk14) && !defined( __SDCC_pdk15) // Lack of memory
#ifndef __SDCC_pic16 // TODO: enable when the pic16 ports supports bitfields of size greater than 8 bits!
const struct
{
@@ -501,7 +505,7 @@ const struct
void
testCS(void)
{
-#if !defined( __SDCC_pdk14) && !defined( __SDCC_pdk15) // Lack of memory
+#if !defined (__SDCC_pdk13) && !defined( __SDCC_pdk14) && !defined( __SDCC_pdk15) // Lack of memory
#ifndef __SDCC_pic16 // TODO: enable when the pic16 ports supports bitfields of size greater than 8 bits!
ASSERT(cs.a == 1);
ASSERT(cs.b == 2);