From 2f3fcd605e3de7ea85b6df3c1af123ceaa37ece4 Mon Sep 17 00:00:00 2001 From: sdattalo Date: Tue, 30 Oct 2001 17:23:24 +0000 Subject: [PATCH] Added regression tests for PIC Port. git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@1471 4a8a32a2-be11-0410-ad9d-d568d2c75423 --- src/regression/add4.c | 85 ++++++++++++++++++++ src/regression/compare6.c | 165 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 250 insertions(+) create mode 100644 src/regression/add4.c create mode 100644 src/regression/compare6.c diff --git a/src/regression/add4.c b/src/regression/add4.c new file mode 100644 index 00000000..ceb5160e --- /dev/null +++ b/src/regression/add4.c @@ -0,0 +1,85 @@ +unsigned char success = 0; +unsigned char failures = 0; +unsigned char dummy = 0; + +//bit bit0 = 0; +int int0 = 0; +int int1 = 0; +char char0 = 0; +char char1 = 0; +long long0 = 0; +long long1 = 0; +unsigned long ulong0 = 0; +unsigned long ulong1 = 0; +#define NULL 0 +char *cP0=NULL; +char *cP1=NULL; +int *iP0=NULL; +int *iP1=NULL; + +void +done () +{ + + dummy++; + +} + + +/* pointer to char arithmetic */ + +void pc_add(void) +{ + + if(*cP1) + failures++; + + *cP1 += 1; + if(*cP1 != 1) + failures++; + + if(char0 != 1) + failures++; + + char0++; + + if(*cP1 != 2) + failures++; + + char1 = char0 + *cP1; + + if(char1 != 4) + failures++; +} + +/* pointer to integer arithmetic */ +void pi_add(void) +{ + if(*iP0) + failures++; + + *iP0 += 1; + + if(*iP0 != 1) + failures++; + + if(int0 != 1) + failures++; + + int1 = int0 + *iP0; + if(int1 != 2) + failures++; +} + +void main(void) +{ + + cP1 = &char0; + pc_add(); + + iP0 = &int0; + pi_add(); + + success = failures; + done(); +} diff --git a/src/regression/compare6.c b/src/regression/compare6.c new file mode 100644 index 00000000..e5c81774 --- /dev/null +++ b/src/regression/compare6.c @@ -0,0 +1,165 @@ +// Compound comparisons + +unsigned char success = 0; +unsigned char failures = 0; +unsigned char dummy = 0; + +bit bit0 = 0; +int int0 = 0; +int int1 = 0; +unsigned char uchar0 = 0; +unsigned char uchar1 = 0; +char char0 = 0; +char char1 = 0; +char long0 = 0; +char long1 = 0; + +void +done () +{ + dummy++; +} + + +void c_char(void) +{ + + if(char0 || char1) + failures++; + + if(char0 && char1) + failures++; + + if(char0 > char1) + failures++; + + if((char0+1) < char1) + failures++; + + if((char0+5) >= (char1+9)) + failures++; + + char0++; + + if(char0 && char1) + failures++; + + if(char0 != (char1+1) ) + failures++; + + if(!char0) + failures++; + + if(char1 || !char0) + failures++; + + if((char0 >5 ) && (char0 < 10)) + failures++; + + char0 +=5; /* char0 = 6 now */ + + + if(!((char0 >5 ) && (char0 < 10))) + failures++; + +} + + +void c_int(void) +{ + + if(int0 || int1) + failures++; + + if(int0 && int1) + failures++; + + if(int0 > int1) + failures++; + + if((int0+1) < int1) + failures++; + + if((int0+5) >= (int1+9)) + failures++; + + int0++; + + if(int0 && int1) + failures++; + + if(int0 != (int1+1) ) + failures++; + + if(!int0) + failures++; + + if(int1 || !int0) + failures++; + + if((int0 >5 ) && (int0 < 10)) + failures++; + + int0 +=5; /* int0 = 6 now */ + + + if(!((int0 >5 ) && (int0 < 10))) + failures++; + +} + + +void c_long(void) +{ + + if(long0 || long1) + failures++; + + if(long0 && long1) + failures++; + + if(long0 > long1) + failures++; + + if((long0+1) < long1) + failures++; + + if((long0+5) >= (long1+9)) + failures++; + + long0++; + + if(long0 && long1) + failures++; + + if(long0 != (long1+1) ) + failures++; + + if(!long0) + failures++; + + if(long1 || !long0) + failures++; + + if((long0 >5 ) && (long0 < 10)) + failures++; + + long0 +=5; /* long0 = 6 now */ + + + if(!((long0 >5 ) && (long0 < 10))) + failures++; + +} + +void +main (void) +{ + + c_char(); + c_int(); + c_long(); + + success = failures; + done (); +} -- 2.30.2