Istnieje wtyczka clang, w elfs-clang-plugins (autor autorstwa mnie, open source), która pomaga.
Chociaż nie dla GCC, może być nadal przydatne, np. jeśli możesz dodać go do procesu odstraszania CI (jeśli go masz) lub po prostu uruchamiać ręcznie raz na jakiś czas.
Wtyczka warn_unused_result wyemituje ostrzeżenie o funkcjach, które nie mają atrybutu warn_unused_result w przypadku atrybutu . Wtyczka uwzględnia tylko funkcje zadeklarowane lub zdefiniowane w bieżącej jednostce kompilacji, więc biblioteki zewnętrzne nie dodają szumu.
Wtyczka akceptuje opcjonalny argument arg, --static-only, który powoduje, że ostrzega on tylko o funkcjach statycznych (gdy zmiana zewnętrznych interfejsów API jest zbyt duża).
Przykład:
int foo(void);
wyjście Compiler:
/tmp/test.c:1:5: warning: missing attribute warn_unused_result
int foo(void);
Od przeglądając dokumentację Powiedziałbym, że odpowiedź brzmi: nie. –
alternatywa: możesz uruchamiać swoje programy za pomocą szyny, testując ignorowane wartości zwracane: http://www.splint.org – justin
Które kompilatory ją obsługują? – sinelaw