È stato rilasciato IWYU (o include-what-you-use), un programma che consente di trovare inclusioni ridondanti e suggerire quelle mancanti #include nel tuo codice C/C++.
«Includere ciò che usi» significa quanto segue: per ogni simbolo (tipo, variabile, funzione o macro) utilizzato in foo.cc, o foo.cc o foo.h devono includere il file .h che esporta la dichiarazione di quel simbolo. Lo strumento include-what-you-use è un programma per analizzare gli #include dei file sorgente al fine di cercare le violazioni di questo approccio e fornire raccomandazioni per correggerle. Il programma utilizza le librerie Clang e di solito il rilascio significa compatibilità con la nuova versione di Clang.
L'obiettivo principale di include-what-you-use è rimuovere le inclusioni non necessarie. Per questo motivo è necessario scoprire quali #include non sono necessari in questo file (sia per .cc che per .h) e, se possibile, sostituire #include con una dichiarazione anticipata.
Modifiche principali
- Compatibilità con Clang 17.
- Migliorata l'analisi degli alias di tipo (typedef e using).
- Migliorata l'analisi degli alias dei namespace (namespace xyz = foobar).
- Migliorato il supporto per le dichiarazioni anticipate espanse (typedef struct Foo Bar;).
- Migliorare la gestione dell'«autocasting» e dei tipi restituiti dalle funzioni, in particolare quando si lavora con tipi template complessi.
- Aggiunta una nuova pragma IWYU: always_keep, che consente di contrassegnare un header affinché venga sempre mantenuto, ovunque venga incluso.
- Utilizzo automatico delle corrispondenze per builtins libc++, se libc++ è la libreria standard attiva.
- Miglioramento delle corrispondenze per gli header libc++ e posix.
Fonte: linux.org.ru
