From 175b00181b627bec69f645d6d8fc880a2bdd3f81 Mon Sep 17 00:00:00 2001 From: nsfisis Date: Sat, 10 Jan 2026 11:03:51 +0900 Subject: feat: support global variables of char[] --- tests/global_variables.c | 36 ++++++++++++++++++++++++++++++++++++ tests/global_variables.sh | 39 --------------------------------------- 2 files changed, 36 insertions(+), 39 deletions(-) create mode 100644 tests/global_variables.c delete mode 100644 tests/global_variables.sh (limited to 'tests') diff --git a/tests/global_variables.c b/tests/global_variables.c new file mode 100644 index 0000000..20e0a64 --- /dev/null +++ b/tests/global_variables.c @@ -0,0 +1,36 @@ +#include + +int printf(const char*, ...); +int strcmp(const char*, const char*); + +int a; +int* b = &a; +int c[10]; +int* d = c; +int e, *f = e, g[10], *h = g; + +char i = 42; +short j = 123; +int k = 999; + +char l[6] = "hello"; + +int main() { + *b = 123; + ASSERT_EQ(123, a); + + d[2] = 42; + ASSERT_EQ(42, c[2]); + + *f = 456; + ASSERT_EQ(456, e); + + h[5] = 789; + ASSERT_EQ(789, g[5]); + + ASSERT_EQ(42, i); + ASSERT_EQ(123, j); + ASSERT_EQ(999, k); + + ASSERT_EQ(0, strcmp("hello", l)); +} diff --git a/tests/global_variables.sh b/tests/global_variables.sh deleted file mode 100644 index fac386d..0000000 --- a/tests/global_variables.sh +++ /dev/null @@ -1,39 +0,0 @@ -cat <<'EOF' > expected -42 123 999 -EOF - -test_diff <<'EOF' -int printf(); - -char a = 42; -short b = 123; -int c = 999; - -int main() { - printf("%d %d %d\n", a, b, c); -} -EOF - -test_exit_code 0 <<'EOF' -#include - -int a; -int* b = &a; -int c[10]; -int* d = c; -int e, *f = e, g[10], *h = g; - -int main() { - *b = 123; - ASSERT_EQ(123, a); - - d[2] = 42; - ASSERT_EQ(42, c[2]); - - *f = 456; - ASSERT_EQ(456, e); - - h[5] = 789; - ASSERT_EQ(789, g[5]); -} -EOF -- cgit v1.2.3-70-g09d2