2017-10-17 8 views
1

Bonne journée. J'essaie d'exécuter une analyse statique en utilisant clang --analyze. Le CFLAGS dans mon Makefile est assez long.Problème avec clang --analyze

CFLAGS= -I$(RESOURCES) -I$(IMPORTED_HEADERS) -I$(EXPORTED_HEADERS) -isystem$(ATL_MFC_INCLUDE) -isystem$(SDK7INCLUDE) -isystem$(VCINCLUDE) -ferror-limit=0 -std=c++14 -fsyntax-only -Wmicrosoft -fms-extensions -fms-compatibility -Wno-microsoft-extra-qualification -Wno-non-pod-varargs -Wno-microsoft-cast -Wno-invalid-token-paste -Wno-inconsistent-dllimport -D_ATL_NO_HOSTING -DUNICODE -D_UNICODE -DWIN32 -D_DEBUG -DDEBUG 

Peu importe où j'essaie de tenir --analyze, au début ou à la fin, je reçois cet avertissement:

clang.exe: warning: argument unused during compilation: '--analyze' [-Wunused-command-line-argument] 

Cependant, lors de la compilation d'un fichier cpp trivial, analyse statique coups de pied. par exemple

#include <string.h> 

int main(int, char**) 
{ 
    strcpy(NULL, "Hello"); 
    return 0; 
} 

Est-ce un bug avec clang? Ou est-ce que je fais quelque chose de mal?

Répondre

0

C'est probablement parce que vous avez -fsyntax-only dans votre ligne de commande.

-fsyntax-only indique au compilateur de vérifier le code des erreurs de syntaxe, puis de quitter, sans procéder à la compilation.

En supprimant ce drapeau, --analyze devrait botter.

+0

Merci beaucoup. Je l'ai compris, j'aimerais que ce soit mentionné dans les docs. – MUXCAH