diff options
| author | Xavier ASUS <xavi92psx@gmail.com> | 2019-10-18 00:31:54 +0200 |
|---|---|---|
| committer | Xavier ASUS <xavi92psx@gmail.com> | 2019-10-18 00:31:54 +0200 |
| commit | 268a53de823a6750d6256ee1fb1e7707b4b45740 (patch) | |
| tree | 42c1799a9a82b2f7d9790ee9fe181d72a7274751 /support/regression/tests/bug-1898.c | |
| download | sdcc-gas-268a53de823a6750d6256ee1fb1e7707b4b45740.tar.gz | |
sdcc-3.9.0 fork implementing GNU assembler syntax
This fork aims to provide better support for stm8-binutils
Diffstat (limited to 'support/regression/tests/bug-1898.c')
| -rwxr-xr-x | support/regression/tests/bug-1898.c | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/support/regression/tests/bug-1898.c b/support/regression/tests/bug-1898.c new file mode 100755 index 0000000..22ef2c9 --- /dev/null +++ b/support/regression/tests/bug-1898.c @@ -0,0 +1,42 @@ +/* + bug-1898.c + */ + +#include <testfwk.h> + +struct tb { + char c; + short s; + int i; +} arr[] = { + {'a', 1200, 32000}, + {'b', 1201, 32010}, + {'c', 1202, 32020}, +}; + +int *g0 = &(arr[1].i); +int *g1 = &(arr->i); +int *g2 = &((arr + 2)->i); + +void testBug(void) +{ + int *l0 = &(arr[1].i); + int *l1 = &(arr->i); + int *l2 = &((arr + 2)->i); + + static int *s0 = &(arr[1].i); + static int *s1 = &(arr->i); + static int *s2 = &((arr + 2)->i); + + ASSERT (*g0 == 32010); + ASSERT (*g1 == 32000); + ASSERT (*g2 == 32020); + + ASSERT (*l0 == 32010); + ASSERT (*l1 == 32000); + ASSERT (*l2 == 32020); + + ASSERT (*s0 == 32010); + ASSERT (*s1 == 32000); + ASSERT (*s2 == 32020); +} |
