2016-09-14 6 views
1

다른 대상에서 clang 정적 분석기를 실행하려고합니다. 다음은 makefile snip입니다.스캔 빌드를 사용하여 다른 대상에서 clang 정적 분석기를 실행하는 방법

CC = <path to clang folder>/build/bin/clang 
. 
. 
.  
src/%.o: ../src/%.c 
    ${CC} --target=powerpc -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -o "[email protected]" "$<" 

나는 powerpc로 컴파일하려고합니다. 이 명령 라인과 출력 : 메이크가 그 소리를 호출하고 있지만 것을

>> <path_to_llvm_folder>/llvm/tools/clang/tools/scan-build/scan-build --use-analyzer=<path_to_llvm_folder>/build/bin/clang make 
scan-build: Using '<path_to_llvm_folder>/build/bin/clang' for static analysis 
Building file: ../src/testing.c 
Invoking: GCC C Compiler 
<path to clang folder>/llvm/tools/clang/tools/scan-build/ccc-analyzer --target=powerpc -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"src/testing.d" -MT"src/testing.o" -o "src/testing.o" "../src/testing.c" 
cc1: warning: command line option "-ftarget=powerpc" is valid for Java but not for C 

공지 사항 - 내가 GCC 경고를 얻고있다 ... 어떻게해야합니까 코드를 컴파일 할 연타를 사용하여 다른 대상에 대한 정적 분석을위한 ?

답변

0

이 용액을 발견했다.

my %CompilerLinkerOptionMap = (
    '-Wwrite-strings' => 0, 
    '-ftrapv-handler' => 1, # specifically call out separated -f flag 
    '-mios-simulator-version-min' => 0, # This really has 1 argument, but always has '=' 
    '-isysroot' => 1, 
    '-arch' => 1, 
    '-m32' => 0, 
    '-m64' => 0, 
    '-stdlib' => 0, # This is really a 1 argument, but always has '=' 
    '--sysroot' => 1, 
    '-target' => 1, 
    '-v' => 0, 
    '-mmacosx-version-min' => 0, # This is really a 1 argument, but always has '=' 
    '-miphoneos-version-min' => 0 # This is really a 1 argument, but always has '=' 
); 

'-target' => 1, 

요구 ('-'이중와)

'--target' => 1, 

로 : 나는 다음 PARAM에서 CCC 분석기 스크립트에 버그가 있다고 생각합니다. ..