Commit Graph

159 Commits

Author SHA1 Message Date
Ted Kremenek 9eca6af2f2 Remove debugging message.
llvm-svn: 56398
2008-09-21 18:26:58 +00:00
Ted Kremenek ca8ac081af Unbreak ccc-analyzer: getcwd is from package Cwd
llvm-svn: 56397
2008-09-21 18:26:19 +00:00
Ted Kremenek 32c1181468 Patch by Richard Godbee:
Output to .info files the absolute paths to files that were rejected by the
parser or crashed the analyzer.

llvm-svn: 56396
2008-09-21 18:04:49 +00:00
Ted Kremenek 172f04dfe6 scan-build now prints out bug categories.
llvm-svn: 56395
2008-09-21 06:58:09 +00:00
Ted Kremenek ebb4245b84 Have ScanView.py generate a "<td></td>" pair in the output HTML instead of having scan-build output an empty (and possibly unused) <td>.
llvm-svn: 56393
2008-09-21 03:55:51 +00:00
Daniel Dunbar 669632bf9a Add REPORTBUG marker to scan-build.
llvm-svn: 56373
2008-09-19 23:18:44 +00:00
Ted Kremenek 6633871cb3 Analysis option -warn-objc-nserror-methods is no longer available. (check is done automatically with -checker-cfref)
llvm-svn: 56313
2008-09-18 21:25:58 +00:00
Ted Kremenek be061e2a19 Enable '-warn-objc-nserror-methods' by default.
llvm-svn: 56298
2008-09-18 06:34:16 +00:00
Ted Kremenek 907921f753 Include links to stderr output of clang in the table of files that clang rejects.
llvm-svn: 56173
2008-09-12 22:49:36 +00:00
Daniel Dunbar 2880158a20 Add ccc support for -e and -sectorder.
- llvmc2, save me!

llvm-svn: 56169
2008-09-12 19:42:28 +00:00
Daniel Dunbar be12fd1f4f Teach FindSpecRefs how to link to C++ spec.
llvm-svn: 56164
2008-09-12 18:10:49 +00:00
Ted Kremenek 4ab81cbe2f Echo stderr/stdout from clang subprocess to both the stderr of ccc-analyzer and
to an output file. This way users can both see the output of 'clang' as well as
enable background logging of files that clang encounters problems on.

llvm-svn: 56130
2008-09-11 23:05:26 +00:00
Ted Kremenek 28d1dc50b8 Bug fix: <rdar://problem/6164367>
scan-build now correctly processes path prefixes that contain multiple '+'
characters or other regex control characters.

llvm-svn: 56121
2008-09-11 21:15:10 +00:00
Ted Kremenek 81ced5c472 Check if the environment variable TERM is defined before using it.
This fixes: <rdar://problem/6164279> scan-build gives error when invoked without TERM variable

llvm-svn: 56110
2008-09-11 18:17:51 +00:00
Ted Kremenek c92c134563 Patch to scan-build by Jordan Breeding:
- Don't remove $BaseDir; may be unsafe
- Always create HTML directory with parents

llvm-svn: 55813
2008-09-04 23:56:36 +00:00
Daniel Dunbar 217836527c Fix FindSpecRefs to be Python 2.4 compatible and get the SVN revision
in a more obvious fashion.

llvm-svn: 55791
2008-09-04 20:26:14 +00:00
Ted Kremenek e9354c6029 scan-build:
- Only set the environment variable 'CXX' if the user specifies --use-c++.
- Fix regression when setting LDPLUSPLUS: add a 'which' to determine the location of g++.  This regression was pointed out by Jordan Breeding!

llvm-svn: 55780
2008-09-04 17:52:41 +00:00
Ted Kremenek 3cbb3b2920 Capture 'uname' and 'gcc -v' output to .info files.
llvm-svn: 55752
2008-09-04 00:41:45 +00:00
Ted Kremenek 370de84b50 ccc-analyzer:
- Capture the STDERR output of 'clang' to a file for use with crash reporting.

llvm-svn: 55749
2008-09-04 00:02:34 +00:00
Ted Kremenek f4fd23f635 Added --use-cxx option to scan-build.
llvm-svn: 55706
2008-09-03 17:59:35 +00:00
Nuno Lopes d63db4063a recognise .s/.S file extensions. add default value for CCC_LANGUAGES
llvm-svn: 55630
2008-09-02 10:27:37 +00:00
Daniel Dunbar 2e5225818a Improve ccc:
- Support environment variable CCC_LANGUAGES to control which
   languages clang is invoked on. If unset clang is invoked for all
   languages, otherwise CCC_LANGUAGES should be a comma separated list
   of the languages (as accepted by -x) for which clang should be
   invoked. Useful for only building C and Objective-C parts of a
   project with clang, for example.

 - Add environment variable CCC_FALLBACK. If set and non-empty then
   ccc will try and compile using the regular compiler if compilation
   with clang fails.

 - A few other tweaks to add options, flush stdout, recognize .mm as
   objective-c++, and infer languages for compile+link style
   invocations.

llvm-svn: 55547
2008-08-29 21:03:27 +00:00
Daniel Dunbar a545f466e8 Add utils/FindSpecRefs, Python script for generating specification
references HTML page.

llvm-svn: 55524
2008-08-29 01:07:08 +00:00
Ted Kremenek 1bb387e056 Use explicit variable instead of $?
llvm-svn: 55501
2008-08-28 21:28:55 +00:00
Ted Kremenek de8008a130 Enhance ubiviz to support vertex styles.
llvm-svn: 55462
2008-08-28 05:01:37 +00:00
Ted Kremenek 266ec3fb4e Automatically execute ubiviz.
Cleanup ubigraph files when don't drawing the graphs.

llvm-svn: 55459
2008-08-28 03:54:51 +00:00
Ted Kremenek 1a42278a19 Fix regression: immediately terminate ccc-analyzer when gcc reports an error.
llvm-svn: 55452
2008-08-28 01:18:44 +00:00
Ted Kremenek d461d7ad7e Added Ubigraph visualization for the static analyzer (this is pretty alpha quality).
llvm-svn: 55442
2008-08-27 22:31:43 +00:00
Ted Kremenek 7b62806272 Remove regression where the analyzer was not called.
llvm-svn: 55440
2008-08-27 22:30:34 +00:00
Ted Kremenek 715ac7c51e Use path information from .info files when computing common prefix information.
This partially implements PR 2705: http://llvm.org/bugs/show_bug.cgi?id=2705

llvm-svn: 55327
2008-08-25 20:45:07 +00:00
Ted Kremenek 6aa1ad0a7b Use the same 'cc' for generated preprocessed crash files as we do for compilation.
llvm-svn: 55326
2008-08-25 20:44:31 +00:00
Ted Kremenek a3b3c86a47 ccc-analyzer now correctly reports the exit code from 'cc'.
scan-build now correctly reports the exit code from the build command.
Fixes: <rdar://problem/6172224>

llvm-svn: 55324
2008-08-25 20:10:45 +00:00
Daniel Dunbar eacf1d2c0f Update ccc driver
- Use CCC_ECHO to control echoing behavior (default is on, set to ''
   or unset to disable)
 - Get 'clang','llc','as','cc','ld' executables from environment. 'cc'
   and 'ld' are fetched through CCC_CC and CCC_LD respectively -- to
   support make CC=ccc -- the others are through their upcased
   versions.
 - Add CCC_NATIVE mode.
   o This uses llc and as to generate native object files; allowing
     more drop-in replacement of gcc.
   o Disabled by default, but should eventually be default.
   o Allow --emit-llvm in CCC_NATIVE mode to override. Essentially
     this makes ccc more like a drop in replacement for llvm-gcc.
 - Prevent explicit -x <language> options from annoying clang.

llvm-svn: 55260
2008-08-23 22:15:15 +00:00
Ted Kremenek b57efcc3d0 Added --use-cc option to scan-build to allow the user to specify what compiler they want to use for code compilation.
llvm-svn: 55142
2008-08-21 21:47:09 +00:00
Ted Kremenek b3c98d3a88 Record arguments in .info file.
llvm-svn: 54947
2008-08-18 20:55:25 +00:00
Ted Kremenek 5abf546865 scan-build/ccc-analyzer now also report clang parser failures.
llvm-svn: 54931
2008-08-18 18:38:29 +00:00
Nuno Lopes d83be33cc0 fix linking with .so files specified in cmd line (this fixes some libtool usages)
llvm-svn: 54623
2008-08-10 22:17:57 +00:00
Nuno Lopes c14bcffda6 pass -R arg to linker
llvm-svn: 54622
2008-08-10 21:58:01 +00:00
Ted Kremenek 994c8e393d Have scan-build/ccc-analyzer generate preprocessed .i/.mi files for sources that clang crashes on.
llvm-svn: 54552
2008-08-08 20:46:42 +00:00
Ted Kremenek 1f4eb6b8da Fix by Jordan Breeding: when scanning for prior runs, scan-build should ignore files that are not directories.
llvm-svn: 54473
2008-08-07 17:57:34 +00:00
Ted Kremenek 7ae17ce6b4 Misc cleanups.
When results go to a auto-generated dir in /tmp, don't use randomized file names.  Just output /tmp/scan-build-DATE-counter, where counter is an auto-incremented counter for runs produced that day.

llvm-svn: 54325
2008-08-04 18:15:26 +00:00
Ted Kremenek 5a3803c076 Convert remaining "open" calls to use three-argument form (thanks to Sam Bishop for the tip!).
Recognize 'ccc-analyzer' as a build command some users may use.  Treat it just like calling gcc.

llvm-svn: 54323
2008-08-04 17:34:06 +00:00
Ted Kremenek 6a77d42a4d Use stable sort.
llvm-svn: 54222
2008-07-30 18:03:31 +00:00
Ted Kremenek e8fce56cd1 "Escape" bug names with quotes for selecting/deselecting from the bug table.
llvm-svn: 54220
2008-07-30 17:58:08 +00:00
Ted Kremenek 7fb92dbf47 Enabled 'unused ivars' check by default.
llvm-svn: 54052
2008-07-25 20:35:01 +00:00
Ted Kremenek 4a154b2857 Ignore -MT and -MF.
llvm-svn: 53977
2008-07-24 03:52:21 +00:00
Ted Kremenek 1c0c06bb9c "This patch adds paths for Fedora 9 in clang.cpp and support for two preprocessor options in ccc."
Patch by Zhongxing Xu!

llvm-svn: 53976
2008-07-24 03:49:15 +00:00
Ted Kremenek f7ffd66551 Reimplement ccc-analyzer in a language I actually know, and implement some obvious optimizations when processing command line arguments.
llvm-svn: 53783
2008-07-19 06:11:04 +00:00
Ted Kremenek d2d122961d Remove typo.
llvm-svn: 53776
2008-07-18 23:13:03 +00:00
Ted Kremenek 2a6b0b5d5e Quote invocation of clang in pipe to handle paths with spaces.
llvm-svn: 53775
2008-07-18 23:11:33 +00:00