È stato rilasciato IWYU (o include-what-you-use), un programma che consente di trovare inclusioni redditizie e suggerire quelle mancanti nei vostri codici C/C++.
«Includere ciò che usi» significa che 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 l'analisi delle istruzioni #include nei file sorgente al fine di trovare violazioni di questo approccio e fornire raccomandazioni per la correzione. Il programma utilizza le librerie Clang e di solito la nuova versione indica compatibilità con un'altra versione di Clang.
L'obiettivo principale di include-what-you-use è rimuovere gli #include non necessari. A tal fine, è necessario scoprire quali #include non sono necessari in questo file (sia per .cc che per .h) e, ove possibile, sostituire gli #include con dichiarazioni forward.
Modifiche principali
- Compatibilità con Clang 17.
- Migliorata l'analisi degli alias di tipo (typedef e using).
- Migliorata l'analisi degli alias degli spazi dei nomi (namespace xyz = foobar).
- Migliorato il supporto per le dichiarazioni forward espanse (typedef struct Foo Bar;).
- Migliora la gestione dell'«autocast» e dei tipi di ritorno delle funzioni, specialmente quando si lavora con tipi di template complessi.
- È stata 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 i built-in di libc++, se libc++ è la libreria standard attiva.
- Miglioramento delle corrispondenze per gli header di libc++ e posix.
Fonte: linux.org.ru
