diff options
| author | Josh Triplett <josh@freedesktop.org> | 2006-10-16 21:46:15 -0700 |
|---|---|---|
| committer | Josh Triplett <josh@freedesktop.org> | 2006-10-16 21:46:15 -0700 |
| commit | c30df9be78778eacb19b30e7bf903236f6116ee0 (patch) | |
| tree | 5c7984b7e51f09d2a48a64bb58df886b705b53e7 /validation | |
| parent | 7fdd2a497b8962b15d54b54b412380fb024767ed (diff) | |
| parent | 8aed19aea597dd467e0de3402ed7e6feae70394c (diff) | |
| download | sparse-dev-c30df9be78778eacb19b30e7bf903236f6116ee0.tar.gz | |
Merge branch 'fix-defined-twice-error-on-empty-struct' into staging
Diffstat (limited to 'validation')
| -rw-r--r-- | validation/initializer-entry-defined-twice.c | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/validation/initializer-entry-defined-twice.c b/validation/initializer-entry-defined-twice.c new file mode 100644 index 00000000..80434f1c --- /dev/null +++ b/validation/initializer-entry-defined-twice.c @@ -0,0 +1,43 @@ +/* Tests for the "Initializer entry defined twice" warning. */ + +/* Initializing a struct field twice should trigger the warning. */ +struct normal { + int field1; + int field2; +}; + +struct normal struct_error = { + .field1 = 0, + .field1 = 0 +}; + +/* Initializing two different fields of a union should trigger the warning. */ +struct has_union { + int x; + union { + int a; + int b; + } y; + int z; +}; + +struct has_union union_error = { + .y = { + .a = 0, + .b = 0 + } +}; + +/* Empty structures can make two fields have the same offset in a struct. + * Initialzing both should not trigger the warning. */ +struct empty { }; + +struct same_offset { + struct empty field1; + int field2; +}; + +struct same_offset not_an_error = { + .field1 = { }, + .field2 = 0 +}; |
