diff --git a/tests/51_static.c b/tests/51_static.c new file mode 100644 index 0000000..3e93ba9 --- /dev/null +++ b/tests/51_static.c @@ -0,0 +1,26 @@ +#include + +static int fred = 1234; +static int joe; + +void henry() +{ + static int fred = 4567; + + printf("%d\n", fred); + fred++; +} + +void main() +{ + printf("%d\n", fred); + henry(); + henry(); + henry(); + henry(); + printf("%d\n", fred); + fred = 8901; + joe = 2345; + printf("%d\n", fred); + printf("%d\n", joe); +} diff --git a/tests/51_static.expect b/tests/51_static.expect new file mode 100644 index 0000000..18224fa --- /dev/null +++ b/tests/51_static.expect @@ -0,0 +1,8 @@ +1234 +4567 +4568 +4569 +4570 +1234 +8901 +2345 diff --git a/tests/Makefile b/tests/Makefile index 7843edf..14b0098 100644 --- a/tests/Makefile +++ b/tests/Makefile @@ -31,10 +31,10 @@ TESTS= 00_assignment.test \ 31_args.test \ 32_led.test \ 33_ternary_op.test \ - 34_array_assignment.test \ + 34_array_assignment.test \ 35_sizeof.test \ 36_array_initialisers.test \ - 37_sprintf.test \ + 37_sprintf.test \ 38_multiple_array_index.test \ 39_typedef.test \ 40_stdio.test \ @@ -45,7 +45,8 @@ TESTS= 00_assignment.test \ 47_switch_return.test \ 48_nested_break.test \ 49_bracket_evaluation.test \ - 50_logical_second_arg.test + 50_logical_second_arg.test \ + 51_static.test %.test: %.expect %.c @echo Test: $*...