================
@@ -19,13 +19,12 @@ struct on_member_pointer_complete_ty {
};
struct on_member_pointer_incomplete_ty {
- struct size_unknown * buf __counted_by(count); //
expected-error{{'counted_by' cannot be applied to a pointer with pointee of
unknown size because 'struct size_unknown' is an incomplete type}}
+ struct size_unknown * buf __counted_by(count); // ok
----------------
delcypher wrote:
@AaronBallman I should have also noted the current design also allows for
headers that deliberately don't provide complete types to reduce compile times
which I believe is fairly common practice.
E.g.
```
// some_data.h
struct SomeData {
int value;
};
// list_handle.h
// Forward declare to avoid needing to include `some_data.h`
struct SomeData;
struct ListHandle {
struct SomeData* __counted_by(count) items;
size_t count;
};
```
https://github.com/llvm/llvm-project/pull/106321
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits