diff options
| author | Kimplul <kimi.h.kuparinen@gmail.com> | 2024-08-18 00:07:56 +0300 |
|---|---|---|
| committer | Kimplul <kimi.h.kuparinen@gmail.com> | 2024-08-18 00:07:56 +0300 |
| commit | 33fcf676128426f2ac9a4730d63fa481bb351518 (patch) | |
| tree | fb8553e58fb3553e1b1da334b5a4d54e254f2340 /tests/defer_shadow | |
| parent | 0d4e9292d85a169f881926556992d4ae12dcb6f4 (diff) | |
| download | ek-33fcf676128426f2ac9a4730d63fa481bb351518.tar.gz ek-33fcf676128426f2ac9a4730d63fa481bb351518.zip | |
make check works again
Diffstat (limited to 'tests/defer_shadow')
| -rw-r--r-- | tests/defer_shadow/defer_shadow.ek | 28 | ||||
| -rw-r--r-- | tests/defer_shadow/source.mk | 1 |
2 files changed, 29 insertions, 0 deletions
diff --git a/tests/defer_shadow/defer_shadow.ek b/tests/defer_shadow/defer_shadow.ek new file mode 100644 index 0000000..0e890a2 --- /dev/null +++ b/tests/defer_shadow/defer_shadow.ek @@ -0,0 +1,28 @@ +typedef i9 {} +typedef i27 {} + +define any[] {} + +extern _putchar(i9 c); + +typedef some_struct[any T] { + test() + { + i9 a = 'a' as i9; + { + /* at this point, only a is defined */ + defer _putchar(a); + + /* a gets shadowed */ + i9 a = 'b' as i9; + + /* defer should still point to the outer 'a' */ + } + } +} + +main() +{ + some_struct![i9] test = some_struct![i9]{}; + test.test(); +} diff --git a/tests/defer_shadow/source.mk b/tests/defer_shadow/source.mk new file mode 100644 index 0000000..30b5c23 --- /dev/null +++ b/tests/defer_shadow/source.mk @@ -0,0 +1 @@ +SIMPLE += defer_shadow |
