summaryrefslogtreecommitdiffstats
path: root/clang/utils/analyzer
Commit message (Collapse)AuthorAgeFilesLines
* [analyzer] SATestBuild.py: Remove html and log when producing reference results.Devin Coughlin2016-01-231-7/+29
| | | | | | | | | | | The html reports are huge -- every issue in a given file results in a separate copy of the source code, in HTML form, for the file. This gets very large quickly and it doesn't make sense to check this into a reference repository. Also remove the log when generating reference results because it can leak absolute path names. We still keep both the html and the log around when producing non-reference results. llvm-svn: 258594
* [analyzer] SATestBuild.py: Handle spaces in path passed to --use-analyzer.Devin Coughlin2016-01-221-2/+2
| | | | | | I missed this one in r258493. llvm-svn: 258517
* [analyzer] Update SATestBuild.py to handle spaces in paths.Devin Coughlin2016-01-221-10/+10
| | | | | | | The Jenkins workspace on the new Green Dragon builder for the static analyzer has spaces in its path. llvm-svn: 258493
* [analyzer] Update SATestBuild.py to enable a 'download and patch' model for ↵Devin Coughlin2015-11-072-13/+112
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | projects. Currently the SATestBuild.py and SATestAdd.py buildbot scripts expect project sources to be checked into the project repository. This commit changes these scripts to additionally support a model where project sources are downloaded rather than checked into the repository. Sometimes projects may need to be modified (for example, to support a newer versions of clang), so the updated scripts also allow for an optional patch file that will be applied to the downloaded project source before analysis. To support this workflow, this commit changes the expected layout of a project in the repository. The project-specific helper scripts will stay in the root of each project directory, but the benchmark source itself (if checked into the repo) should now be stored in a subdirectory named 'CachedSource': project_name/ cleanup_run_static_analyzer.sh [optional] run_static_analyzer.cmd [required] download_project.sh [optional] CachedSource/ [optional] changes_for_analyzer.patch [optional] If the 'CachedSource' source directory is not present, the download script will be executed. This script should download the project source into 'CachedSource'. Then, if 'changes_for_analyzer.patch' is present its changes will be applied to a copy of 'CachedSource' before analysis. Differential Revision: http://reviews.llvm.org/D14345 llvm-svn: 252410
* [analyzer] Bug identificationGabor Horvath2015-10-221-2/+2
| | | | | | | | | | | | | | | | This patch adds hashes to the plist and html output to be able to identfy bugs for suppressing false positives or diff results against a baseline. This hash aims to be resilient for code evolution and is usable to identify bugs in two different snapshots of the same software. One missing piece however is a permanent unique identifier of the checker that produces the warning. Once that issue is resolved, the hashes generated are going to change. Until that point this feature is marked experimental, but it is suitable for early adoption. Differential Revision: http://reviews.llvm.org/D10305 Original patch by: Bence Babati! llvm-svn: 251011
* [analyzer] SATestBuild.py: Move additional checkers logic so SATestAdd.py ↵Devin Coughlin2015-09-161-4/+6
| | | | | | | | | | | | | can use it as well. Move the logic looking for additional checkers in the SA_ADDITIONAL_CHECKERS environmental variable from SATestBuild's main() to runScanBuild(). This allows SATestAdd.py to use the variable as well. Without it, we won't include additional checkers when building reference results for the build bot. Differential Revision: http://reviews.llvm.org/D12891 llvm-svn: 247767
* [analyzer] Update SATestBuild.py to set -isysroot for preprocessed filesDevin Coughlin2015-09-141-2/+19
| | | | | | | | | 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
* [analyzer] Apply whitespace cleanups by Honggyu Kim.Ted Kremenek2015-09-085-160/+158
| | | | llvm-svn: 246978
* [Static Analyzer] Made it easier to test new checkers using the test suite.Gabor Horvath2015-08-201-0/+7
| | | | llvm-svn: 245637
* [Static Analyzer] Make the paths relative from the project root when ↵Gabor Horvath2015-07-082-4/+17
| | | | | | generating reference results in the test suite. llvm-svn: 241706
* [Static Analyzer] No longer include the full path of the source file in the ↵Gabor Horvath2015-07-021-1/+1
| | | | | | single file tests' bug identifiers. llvm-svn: 241292
* [Static Analyzer] Minor improvements to SATest.Gabor Horvath2015-06-302-20/+41
| | | | | | Differential Revision: http://reviews.llvm.org/D10812 llvm-svn: 241073
* [analyzer] Rename NewDeleteLeaks checker in the test script.Anna Zaks2014-10-311-1/+1
| | | | | | Fixup to r220289. llvm-svn: 220976
* Correct hyphenations in comments and assert messagesAlp Toker2013-12-051-2/+2
| | | | | | | This patch tries to avoid unrelated changes other than fixing a few hyphen-related ambiguities in nearby lines. llvm-svn: 196466
* [analyzer] SATestBuild: strip trailing newlines from command file.Jordan Rose2013-09-061-0/+1
| | | | | | | | | | When running a make-based command, SATestBuild tries to append a -jN flag with an appropriate N to run the build in parallel. However, it failed to take into account that each line read includes a trailing newline (unless it is the last line of a file without a trailing newline), which resulted in the "-jN" appearing on a line on its own. llvm-svn: 190164
* [analyzer] SATestBuild: Don't require reference results to have logs.Jordan Rose2013-06-101-2/+4
| | | | | | | | The Logs directory isn't used for testing, so it's filtered out ahead of time. However, there's then no reason to include it in version control at all. Don't error if it's not present. llvm-svn: 183689
* [analyzer] Always use ccc-analyzer when running scan-build on buildbotAnna Zaks2013-05-311-0/+3
| | | | llvm-svn: 182982
* [analyzer] Re-enable cplusplus.NewDelete (but not NewDeleteLeaks).Jordan Rose2013-04-051-2/+3
| | | | | | | | As mentioned in the previous commit message, the use-after-free and double-free warnings for 'delete' are worth enabling even while the leak warnings still have false positives. llvm-svn: 178891
* [analyzer] Moving cplusplus.NewDelete to alpha.* for now.Anton Yartsev2013-04-021-1/+1
| | | | llvm-svn: 178529
* [analyzer] Adds cplusplus.NewDelete checker that check for memory leaks, ↵Anton Yartsev2013-03-251-1/+1
| | | | | | double free, and use-after-free problems of memory managed by new/delete. llvm-svn: 177849
* [analyzer] CmpRuns.py: Accept single files as input.Jordan Rose2013-03-231-46/+51
| | | | | | | | This allows us to compare two direct invocations of the analyzer on a single source file without having to wrap the output plists in their own directories. llvm-svn: 177804
* scan-build: Add a --keep-empty option for better testing.Jordan Rose2013-01-241-0/+1
| | | | | | | | SATestBuild expects to compare output directories for each invocation of scan-build that it runs, but scan-build clears out empty directories by default. We were coincidentally not getting that behavior until r173294. llvm-svn: 173383
* [analyzer] SATestBuild.py: allow make builds to disable parallelizationJordan Rose2012-11-261-1/+2
| | | | | | | | Before, SATestBuild unilaterally added '-j<n>' to every project built with 'make'. Now, we check and see if there's a -j option already specified, which allows a project to explicitly be marked '-j1'. llvm-svn: 168603
* [analyzer] SATestBuild.py: fix broken string concatenationJordan Rose2012-11-161-2/+2
| | | | | | | | This has been broken for a while, but the branch was never being taken. (We were trying to do 'str + floatVal'; now we do 'str % intVal' and use the '%d' format.) llvm-svn: 168174
* [analyzer] CmpRuns: move the clang_version info into the run (out ofAnna Zaks2012-11-151-7/+15
| | | | | | report) llvm-svn: 168105
* [analyzer] SATestBuild.py: correctly add -j option for projects using make.Jordan Rose2012-11-151-2/+2
| | | | llvm-svn: 168099
* [analyzer] Ensure that CmpRuns recursively walks the output directory.Anna Zaks2012-11-141-39/+40
| | | | llvm-svn: 167981
* [analyzer] Test SimpleStream on the buildbot.Anna Zaks2012-11-021-1/+1
| | | | llvm-svn: 167317
* [analyzer] CmpRuns: cleanup APIs, allow processing of plists with noAnna Zaks2012-10-171-16/+20
| | | | | | clang_version, fix the compare routine. llvm-svn: 166129
* [analyzer] Expose clang_version in CmpRunsAnna Zaks2012-10-161-2/+3
| | | | llvm-svn: 166048
* [analyzer] CmpRuns - cleaned up the API, added relative path getterAnna Zaks2012-10-151-19/+40
| | | | llvm-svn: 165995
* Add handy script for updating plist FileCheck expected output forTed Kremenek2012-09-101-0/+51
| | | | | | analyzer tests. llvm-svn: 163486
* [analyzer] testing: add a build mode to allow C++11 testing.Anna Zaks2012-09-062-16/+22
| | | | llvm-svn: 163357
* Revert "[analyzer] Disable diagnostic checking on the buildbot."Jordan Rose2012-08-311-8/+6
| | | | | | | This reverts commit befc0f648c83f65e1f3567f2058c7c18b4bc3ad8 now that plist-html diagnostics are working again. llvm-svn: 162966
* [analyzer] Disable diagnostic checking on the buildbot.Anna Zaks2012-08-301-6/+8
| | | | | | Due to recent diagnostic changes, we may generate malformed diagnostics. llvm-svn: 162940
* [analyzer] Fixup 162863.Anna Zaks2012-08-291-3/+0
| | | | | | Thanks Jordan. llvm-svn: 162875
* [analyzer]Fix typo, unbreak static analyzer BuildBot (at leastAnna Zaks2012-08-291-1/+4
| | | | | | | | partially). (Addresses a regression from r162790.) llvm-svn: 162864
* Automatically use more cores when the test build uses 'make'.Ted Kremenek2012-08-281-0/+29
| | | | llvm-svn: 162790
* Consolidate helper methods and configuration logic. No functionality change.Ted Kremenek2012-08-281-34/+46
| | | | llvm-svn: 162789
* Pass --use-analyzer to scan-build when running within the test harness.Ted Kremenek2012-08-281-4/+42
| | | | llvm-svn: 162783
* experimental.security.taint is now alpha.security.taintTed Kremenek2012-08-281-1/+1
| | | | llvm-svn: 162775
* [analyzer] More internal stats collection.Anna Zaks2012-08-271-4/+13
| | | | llvm-svn: 162687
* [analyzer] Ted fixed the plist-html issue, so the assert can go away.Anna Zaks2012-08-241-3/+1
| | | | llvm-svn: 162598
* [analyzer] Unbreak the static analyzer buildbot.Anna Zaks2012-08-171-1/+3
| | | | | | | We no longer associate the correct HTML file with plist diagnostic. Fall out from r162028. llvm-svn: 162071
* [analyzer] CmpRuns should include file name in the issue identifier.Anna Zaks2012-08-021-17/+26
| | | | | | | | | | This prevents us from treating the issues from different files with the same function names and same offsets as the same. The issue identifier now includes the file name. Also added a way to strip off the root directories form the source file names. llvm-svn: 161150
* SATestBuild should not ask for non-existent checkers.Jordan Rose2012-07-261-1/+1
| | | | | | | - "cocoa" was moved to "osx.cocoa" a long time ago. - "cplusplus" would be a valid package except we don't have any C++ checkers. llvm-svn: 160821
* Un-break standalone invocations of CmpRuns.py.Jordan Rose2012-07-261-1/+1
| | | | | | Fallout from CmpRuns.py API changes in r160314. llvm-svn: 160800
* [analyzer] Make CmpRuns external-user friendly.Anna Zaks2012-07-162-45/+63
| | | | | | | | | CmpRuns can be used for static analyzer bug report comparison. However, we want to make sure external users do not rely on the way bugs are represented (plist files). Make sure that we have a user friendly/documented API for CmpRuns script. llvm-svn: 160314
* [analyzer] Add a statistic for maximum CFG size and a script to summarize ↵Anna Zaks2012-07-051-0/+75
| | | | | | analyzer stats from scan-build output. llvm-svn: 159776
* [analyzer] Use "issue hash" in CmpRuns; followup on r158180Anna Zaks2012-06-081-3/+11
| | | | | | | (For the future: It would be more efficient to produce a hash key with the embedded function info inside the compiler.) llvm-svn: 158187
OpenPOWER on IntegriCloud