forked from OSchip/llvm-project
[analyzer] Update SATestBuild.py to set -isysroot for preprocessed files
Update the static analyzer buildbot script to set -isysroot to the OS X SDK path when analyzing preprocessed files on OS X. Differential Revision: http://reviews.llvm.org/D12769 llvm-svn: 247617
This commit is contained in:
parent
06f9927930
commit
bace032eb8
|
@ -52,7 +52,7 @@ import shutil
|
|||
import time
|
||||
import plistlib
|
||||
import argparse
|
||||
from subprocess import check_call, CalledProcessError
|
||||
from subprocess import check_call, check_output, CalledProcessError
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# Helper functions.
|
||||
|
@ -255,6 +255,15 @@ def isValidSingleInputFile(FileName):
|
|||
return True
|
||||
return False
|
||||
|
||||
# Get the path to the SDK for the given SDK name. Returns None if
|
||||
# the path cannot be determined.
|
||||
def getSDKPath(SDKName):
|
||||
if which("xcrun") is None:
|
||||
return None
|
||||
|
||||
Cmd = "xcrun --sdk " + SDKName + " --show-sdk-path"
|
||||
return check_output(Cmd, shell=True).rstrip()
|
||||
|
||||
# Run analysis on a set of preprocessed files.
|
||||
def runAnalyzePreprocessed(Dir, SBOutputDir, Mode):
|
||||
if os.path.exists(os.path.join(Dir, BuildScript)):
|
||||
|
@ -262,7 +271,15 @@ def runAnalyzePreprocessed(Dir, SBOutputDir, Mode):
|
|||
BuildScript
|
||||
raise Exception()
|
||||
|
||||
CmdPrefix = Clang + " -cc1 -analyze -analyzer-output=plist -w "
|
||||
CmdPrefix = Clang + " -cc1 "
|
||||
|
||||
# For now, we assume the preprocessed files should be analyzed
|
||||
# with the OS X SDK.
|
||||
SDKPath = getSDKPath("macosx")
|
||||
if SDKPath is not None:
|
||||
CmdPrefix += "-isysroot " + SDKPath + " "
|
||||
|
||||
CmdPrefix += "-analyze -analyzer-output=plist -w "
|
||||
CmdPrefix += "-analyzer-checker=" + Checkers +" -fcxx-exceptions -fblocks "
|
||||
|
||||
if (Mode == 2) :
|
||||
|
|
Loading…
Reference in New Issue