Given a structure ending in a flexible array, that has a static initializer: ```c struct foo { size_t count; int some[]; }; static struct foo instance = { .count = 3, .some = { 5, 10, 15, }, }; ``` Clang reports the incorrect size with `__builtin_object_size()`. GCC correctly reports 20: ```c __builtin_object_size(&instance, 1) == 20 ``` Clang misses the flexible array members and reports only 8 (the `sizeof()`): ```c __builtin_object_size(&instance, 1) == 8 ``` https://godbolt.org/z/W5soYdrdK cc @nickdesaulniers @isanbard