added tests as prepared by oliver
This commit is contained in:
94
test/val/add4.c
Normal file
94
test/val/add4.c
Normal file
@@ -0,0 +1,94 @@
|
||||
/*
|
||||
!!DESCRIPTION!!
|
||||
!!ORIGIN!! SDCC regression tests
|
||||
!!LICENCE!! GPL, read COPYING.GPL
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <limits.h>
|
||||
|
||||
unsigned char success = 0;
|
||||
unsigned char failures = 0;
|
||||
unsigned char dummy = 0;
|
||||
|
||||
#ifdef SUPPORT_BIT_TYPES
|
||||
bit bit0 = 0;
|
||||
#endif
|
||||
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++;
|
||||
}
|
||||
|
||||
int main(void)
|
||||
{
|
||||
cP1 = &char0;
|
||||
pc_add();
|
||||
|
||||
iP0 = &int0;
|
||||
pi_add();
|
||||
|
||||
success = failures;
|
||||
done();
|
||||
printf("failures: %d\n",failures);
|
||||
|
||||
return failures;
|
||||
}
|
||||
Reference in New Issue
Block a user