1
0
mirror of https://github.com/cc65/cc65.git synced 2025-01-11 11:30:13 +00:00

added test for issue #1108

This commit is contained in:
mrdudz 2020-07-20 15:50:11 +02:00
parent 78342fa82c
commit 5a9d76ad52

40
test/val/bug1108.c Normal file
View File

@ -0,0 +1,40 @@
/* bug #1108 - Problem with static locals? */
#include <stdio.h>
#pragma static-locals (on)
unsigned char x = 0;
unsigned char PrintVar1(void)
{
unsigned char cx = x + 1;
printf("cx:%d x:%d\n", cx, x);
return cx == 0;
}
unsigned char PrintVar2(void)
{
unsigned char cx = x + 1;
unsigned char cy;
cy = x + 1;
printf("cx:%d cy:%d x:%d\n", cx, cy, x);
return cx != cy;
}
#pragma static-locals (off)
unsigned char n;
unsigned char ret = 0;
int main(void)
{
for (n = 0; n < 10; n++) {
++x;
ret |= PrintVar1();
ret |= PrintVar2();
}
return ret;
}