2015-11-16 12 views
5

Ho appena installato ClangOnWin e sto cercando di ottenere il controllo di "aggiornamento" di clang-tidy. Purtroppo, non sembra che lo clang-tidy li conosca: clang-tidy -list-checks foo.cpp -- | grep modernize non produce output.Come posso abilitare i controlli "modernizza" di clang-tidy?

I controlli di "aggiornamento" sono elencati here, ma quella pagina sembra documentare Clang 3.8 e la versione che ho installato è 3.7. Tuttavia, la versione 3.7 è quella corrente elencata allo LLVM Download Page.

clang-tidy conosce una varietà di controlli di sicurezza, quindi penso di averlo installato correttamente. Ad esempio, clang-tidy -list-checks foo.cpp -- | grep security cede questo:

clang-analyzer-security.FloatLoopCounter 
clang-analyzer-security.insecureAPI.UncheckedReturn 
clang-analyzer-security.insecureAPI.getpw 
clang-analyzer-security.insecureAPI.gets 
clang-analyzer-security.insecureAPI.mkstemp 
clang-analyzer-security.insecureAPI.mktemp 
clang-analyzer-security.insecureAPI.rand 
clang-analyzer-security.insecureAPI.strcpy 
clang-analyzer-security.insecureAPI.vfork 

C'è qualcosa di speciale ho bisogno di fare per consentire i controlli, come modernize-use-override e modernize-use-nullptr?

risposta

1

Hai provato con i binari ufficiali di LLVM: http://llvm.org/releases/download.html? Forse i binari di ClangOnWin non sono compilati con tutte le opzioni, o qualcosa del genere.

+0

Con -checks = "*" funziona correttamente! –

3

I controlli di modernizzazione sono stati aggiunti dopo 3.7 (portati da clang-modernize), ma provare ad aggiungere -checks="*" per visualizzare l'intero elenco di controlli disponibili.

clang-tidy -list-checks -checks="*" foo.cpp -- 
Problemi correlati