https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94379
Bug ID: 94379 Summary: Feature request: like clang, support __attribute((__warn_unused_result__)) on structs, unions, and enums Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P3 Component: c Assignee: unassigned at gcc dot gnu.org Reporter: pskocik at gmail dot com Target Milestone: --- Clang supports applying the warn_unused_result attribute to enums, structs, and unions, which has the effect that functions returning such an attributed enum/struct/union behaves as if it itself had the warn_unused_result attribute. Example: typedef struct __attribute__((__warn_unused_result__)) aStructType{ int x; } aStructType; aStructType getStruct(void); typedef union __attribute__((__warn_unused_result__)) aUnionType{ int x; } aUnionType; aUnionType getUnion(void); typedef enum __attribute__((__warn_unused_result__)) anEnumType{ anEnumarationConstant } anEnumType; anEnumType getEnum(void); int main() { getEnum(); getStruct(); getUnion(); } // https://gcc.godbolt.org/z/jyHhLx I find this to be a very useful feature, and it would be nice if gcc had it (along with its current un-void-able warn_unused_result (https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66425)).