Merge branch 'pointer' of https://github.com/mrdudz/cc65 into mrdudz-pointer

This commit is contained in:
Oliver Schmidt
2015-07-15 12:04:06 +02:00
14 changed files with 376 additions and 6 deletions

38
test/val/cc65150311.c Normal file
View File

@@ -0,0 +1,38 @@
/*
!!DESCRIPTION!! function pointer bugs
!!ORIGIN!! testsuite
!!LICENCE!! Public Domain
!!AUTHOR!! Greg
*/
/*
see: http://www.cc65.org/mailarchive/2015-03/11726.html
and: http://www.cc65.org/mailarchive/2015-03/11734.html
*/
static int func(void) {return 0;}
static int (*p)(void);
static int n;
int main(void) {
p = func;
n = (p == &func);
n = (p == func);
/* the following are not valid C and should go into seperate tests that MUST fail */
/*
++p;
n = (p > &func);
n = (p > func);
n = func - func;
n = func - &func;
n = &func - func;
n = &func - &func;
n = p - &func;
n = p - func;
n = &func - p;
n = func - p;
*/
return 0;
}