diff options
| author | nsfisis <nsfisis@gmail.com> | 2026-02-07 19:02:38 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2026-02-07 19:02:52 +0900 |
| commit | 7ba8a506a215846d14d71487807f5e525e9e5c16 (patch) | |
| tree | 5bdd89ecabdf1b9c89d469f13ab1699566e5284f /tests | |
| parent | 55d624106b3abedfa13d8ea7c2edeef0d0da77a2 (diff) | |
| download | ducc-7ba8a506a215846d14d71487807f5e525e9e5c16.tar.gz ducc-7ba8a506a215846d14d71487807f5e525e9e5c16.tar.zst ducc-7ba8a506a215846d14d71487807f5e525e9e5c16.zip | |
feat: allow calling offsetof() in compile-time expression
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/stddef.c | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/tests/stddef.c b/tests/stddef.c new file mode 100644 index 0000000..f63e57c --- /dev/null +++ b/tests/stddef.c @@ -0,0 +1,23 @@ +#include <helpers.h> +#include <stddef.h> + +struct S { + int x; + int y; +}; +struct T { + char a; + int b; + char c; +}; + +int main() { + ASSERT_EQ(0, offsetof(struct S, x)); + ASSERT_EQ(4, offsetof(struct S, y)); + ASSERT_EQ(0, offsetof(struct T, a)); + ASSERT_EQ(4, offsetof(struct T, b)); + ASSERT_EQ(8, offsetof(struct T, c)); + + char buf[offsetof(struct T, b)]; + ASSERT_EQ(4, sizeof(buf)); +} |
