Граф коммитов

421 Коммитов

Автор SHA1 Сообщение Дата
Daniel Dunbar d427023c33 Add -analyze action to run static analyzer, instead of inferring from
individual checker options.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62634 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-20 23:17:32 +00:00
Daniel Dunbar 06172d6807 ccc: Darwin/x86: Add direct cpp support.
- Add Darwin_X86_CC1Tool which is shared by Darwin/x86/Compile and
   Darwin/x86/Preprocess tools.

 - Minor bug fixes (CmpDriver exit code, -x cpp-output handling, some
   linker argument translation).


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62551 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-20 00:47:24 +00:00
Daniel Dunbar c97c05f849 Return success indicator from CmpDriver.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62388 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-17 00:50:45 +00:00
Daniel Dunbar a83fb8647b Add utils/ABITest, my ABI test generation tool.
- Mostly written as an entertaining exercise in enumerating large or
   (countably, naturally) infinite sets. But hey, its useful too!

 - Idea is to number all C-types so that the N-th type can quickly be
   computed, with a good deal of flexibility about what types to
   include, and taking some care so that the (N+1)-th type is
   interestingly different from the N-th type. For example, using the
   default generator, the 1,000,000-th function type is:
--
typedef _Complex int T0;
typedef char T1 __attribute__ ((vector_size (4)));
typedef int T2 __attribute__ ((vector_size (4)));
T2 fn1000000(T0 arg0, signed long long arg1, T1 arg2, T0 arg3);
--
   and the 1,000,001-th type is:
--
typedef _Complex char T0;
typedef _Complex char T2;
typedef struct T1 { T2 field0; T2 field1; T2 field2; } T1;
typedef struct T3 {  } T3;
unsigned short fn1000001(T0 arg0, T1 arg1, T3 arg2);
--

   Computing the 10^1600-th type takes a little less than 1s. :)


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62253 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-15 04:24:17 +00:00
Daniel Dunbar 2253dc4705 CmpDriver: Allow over-ride of drivers to compare through env variables
(DRIVER_[AB]).


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62242 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-14 20:06:04 +00:00
Daniel Dunbar ab13061fe7 Add simple tool for comparing drivers (hardcoded to gcc and xcc) which
support -###.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62156 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-13 07:38:29 +00:00
Daniel Dunbar ef64fcfbfb Add utils/SummarizeErrors.
- Little script for scanning a compile log and summarizing warnings,
   errors, assertions, and crashes.
 - Is very slow, and stack trace regexs probably only work on Darwin.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62013 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-09 22:39:43 +00:00
Daniel Dunbar 91dce08a8e ccc (old): Pass -arch through to assembler if given.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61833 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-07 00:03:20 +00:00
Anders Carlsson e90b0acaa1 Pass '-undefined- to the linker
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61663 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-05 01:24:39 +00:00
Anders Carlsson 06c58b191f Pass -fblocks to clang
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61258 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-19 20:56:23 +00:00
Ted Kremenek cd25c13ade Properly "include" abs_path.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60502 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-03 19:50:37 +00:00
Ted Kremenek 990c2f45e5 Use abs_path to resolve symbolic links and '..' in report table.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60493 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-03 19:19:23 +00:00
Ted Kremenek d489d9cf9a Don't have special treatment from pruning the common suffices of files in /Developer, /usr, etc.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60491 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-03 19:16:58 +00:00
Nuno Lopes a44c278924 llvm-ld doesnt support '-g', so aovid passing that opt to it
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60428 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-02 18:19:03 +00:00
Ted Kremenek 92548fed40 scan-build now recognizes when the user is directly invoking gcc for:
(a) different versions of gcc (e.g., a suffix '-4.2')
(b) different paths for gcc


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59578 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-19 01:46:21 +00:00
Daniel Dunbar 1b6ff6fdd1 Input files should be before link options.
- PR3094.
 - No test case, ccc is not really a supported product (llvmc2 already
   got this right).


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59535 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-18 17:38:30 +00:00
Ted Kremenek 655aba727e Fix use of uninitialized variable.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58663 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-04 00:22:12 +00:00
Ted Kremenek db4f5f2618 Allow user toggling between plist and html output with scan-build/ccc-analyzer.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58657 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-04 00:02:53 +00:00
Ted Kremenek 87f8de72a3 Simplify the functions HtmlEsape and ShellEscape. We now properly print out the following command line in the HTML output: scan-build gcc -x c /dev/null -c -Dfoo='"string abc"'
Fixes <rdar://problem/6338651>


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58600 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-03 07:44:16 +00:00
Zhongxing Xu 3cab2b1c37 Add defined in if().
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58562 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-02 10:58:16 +00:00
Ted Kremenek ffda0b44eb On Mac OS X, use TMPDIR as the default location to place analysis results. This is a more secure location for such files, and addresses <rdar://problem/6334220>.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58491 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-31 05:48:42 +00:00
Daniel Dunbar 338bd0a160 Update FindSpecRefs to recognize named section references.
- Unfortunately, I don't have an easy way to map from named sections
   to numbers nicely so they don't get page numbers or integrate in
   the list well.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58368 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-29 05:58:09 +00:00
Ted Kremenek 999e120c1f Minor UI enhancement:
(1) when all of the bug category boxes are checked, automatically check "All Bugs"

(2) when any of the bug category boxes are unchecked, automatically uncheck "All Bugs"


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58346 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-28 20:09:57 +00:00
Ted Kremenek 2350a46bec Patch by Nikita Zhuk:
The attached patch adds a checkbox to the scan-build summary report, which toggles all other checkboxes' states.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58344 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-28 19:56:52 +00:00
Zhongxing Xu 07c3767be5 Add store option to scan-build and ccc-analyzer.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58248 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-27 14:26:32 +00:00
Ted Kremenek ce1448bbbd Fix scan-build's processing of clang's analysis arguments. Patch by Nikita Zhuk!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58093 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-24 15:11:58 +00:00
Chris Lattner a778d7d973 Add support for assembler-with-cpp (preprocessed .S files), patch by
Roman Divacky!


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@57988 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-22 17:29:21 +00:00
Ted Kremenek 89c4fcfd05 Add "argument key" processing similar to ccc.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@57780 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-19 06:42:38 +00:00
Daniel Dunbar fa538e724f ccc: Pass '-g' through to clang. Handle -weak_framework.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@57779 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-19 02:41:16 +00:00
Daniel Dunbar dc914c876c ccc: support -Xlinker
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@57613 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-16 00:10:28 +00:00
Daniel Dunbar cb52925fec ccc: support -fsyntax-only, add some more darwin options, support
logging of actions.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@57603 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-15 21:52:00 +00:00
Ted Kremenek e15fa27364 Use 'realpath' to resolve the absolute path to clang and ccc-analyzer.
Add "-analyze-headers" option to scan-build that passes the option -analyzer-opt-analyze-headers to clang.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@57467 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-13 21:46:42 +00:00
Ted Kremenek 445fa776d2 Add missing newline.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@57333 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-10 00:17:08 +00:00
Daniel Dunbar 7b6d8c4269 Add script for checking builtin macros verse another compiler ($CC or
gcc).


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@57133 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-05 20:39:30 +00:00
Daniel Dunbar 29471a1341 Bug fix, ccc was passing -std twice.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56991 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-03 01:54:54 +00:00
Daniel Dunbar 8e45f73bae Fix ccc handling of -mmacosx-version-min.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56956 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-02 17:26:37 +00:00
Daniel Dunbar 1bf3f73598 ccc: Use CCC_NATIVE=1 by default.
- So far this works fairly well for me for building applications
   using clang as a gcc substitute. If you are using ccc for a
   different purpose and this is a problem, speak up! Note you can
   also use CCC_NATIVE=0 to disable.

 - Also, turn CCC_ECHO off as default.

 - Also, pass through -Wl, to linker.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56904 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-01 01:10:22 +00:00
Ted Kremenek b10362acd9 Support -mmacosx-version-min
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56892 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-30 23:40:25 +00:00
Daniel Dunbar 319e792cf6 ccc: Add support for another batch of OS X linker options, including
-mmacosx-version-min.

One might anticipate that at some point I will just break down and go
through the man page. That seems a little too obvious.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56890 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-30 22:54:22 +00:00
Daniel Dunbar 869f8b6053 ccc: Infer action type upfront.
- More straightforward, e.g. -E should always imply action =
   'preprocess' (I think).
 - Pass another option through for OS X.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56884 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-30 21:20:51 +00:00
Daniel Dunbar 7000bf8f87 Change ccc to not pass -x unknown down.
Pass through some more Mac OS X linker options.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56853 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-30 16:18:31 +00:00
Ted Kremenek 47fc25f0c1 Really don't add -isysroot twice.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56815 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-29 23:06:09 +00:00
Ted Kremenek e4f6952831 Don't filter out -fpascal-strings.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56810 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-29 22:45:28 +00:00
Ted Kremenek a30730e5cd Discard extra -isysroot options. This fixes:
<rdar://problem/6253141> Parser rejection occurs when command line has more than one -isysroot switch


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56790 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-29 16:15:20 +00:00
Ted Kremenek 81983111df Add "Path Length" back to the table of bug reports.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56765 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-28 04:13:09 +00:00
Ted Kremenek 27783eb8a0 Emulate gcc driver-driver functionality: run analyzer separately for each separate -arch option.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56618 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-25 20:17:57 +00:00
Daniel Dunbar 7ebe0ed444 Add link to report analyzer failures (parse errors, asserts, etc).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56606 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-25 06:05:31 +00:00
Daniel Dunbar ce723ce234 Update scan-build to add markers about crashes.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56603 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-25 01:10:50 +00:00
Ted Kremenek c3998fa64e Include clang preprocessed sources as well with "crashes" output.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56601 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-25 00:51:44 +00:00
Ted Kremenek 82a1253077 Use .txt extension for info files.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56598 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-25 00:25:16 +00:00
Ted Kremenek f143545ce5 For generated index.html, look for "scan-view.css", not "/scan-view.css"
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56510 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-23 22:34:51 +00:00
Ted Kremenek 2384dfa88e Yank out special CSS for button rendering (not very portable or well tested, and we were encountering race conditions with CSS loading).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56449 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-22 18:14:23 +00:00
Ted Kremenek db9e91b688 Reintegrate Daniel's changes.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56447 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-22 18:05:05 +00:00
Ted Kremenek 1d1abb1dec Add "SUMMARYENDHEAD" tag.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56445 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-22 17:52:58 +00:00
Ted Kremenek 3ce1207f90 Don't embed CSS inside scan-build script; use external scanview.css.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56444 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-22 17:50:47 +00:00
Ted Kremenek 91639ef5aa Don't emit link to source file.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56443 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-22 17:42:31 +00:00
Ted Kremenek 68005ddb49 Make "View Report" just a normal link again.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56442 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-22 17:39:18 +00:00
Ted Kremenek 50534dc3ab Don't print out the path length.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56441 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-22 17:38:23 +00:00
Ted Kremenek 5950b3f93a Use scan-view to view reports. Opening index.html is deprecated.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56431 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-22 06:47:01 +00:00
Ted Kremenek 7cba112624 Patch from Richard Godbee:
Improve scan-build results to include the user's host name, the working
directory of the analyzed project, and the date the analysis run took place.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56421 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-22 01:35:58 +00:00
Ted Kremenek 12a467ff0b Add webkit styles using Javascript (detect for AppleWebKit)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56408 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-21 20:10:46 +00:00
Ted Kremenek b315a3940f Unbreak using abs_path.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56407 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-21 19:56:14 +00:00
Ted Kremenek 365680de8f Remove debugging message.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56398 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-21 18:26:58 +00:00
Ted Kremenek 448b0f74c0 Unbreak ccc-analyzer: getcwd is from package Cwd
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56397 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-21 18:26:19 +00:00
Ted Kremenek 5f2825f6fa Patch by Richard Godbee:
Output to .info files the absolute paths to files that were rejected by the
parser or crashed the analyzer.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56396 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-21 18:04:49 +00:00
Ted Kremenek ebb7413bbe scan-build now prints out bug categories.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56395 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-21 06:58:09 +00:00
Ted Kremenek 3bf5ebe69f Have ScanView.py generate a "<td></td>" pair in the output HTML instead of having scan-build output an empty (and possibly unused) <td>.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56393 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-21 03:55:51 +00:00
Daniel Dunbar e43038ec3d Add REPORTBUG marker to scan-build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56373 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-19 23:18:44 +00:00
Ted Kremenek 1672d335ad Analysis option -warn-objc-nserror-methods is no longer available. (check is done automatically with -checker-cfref)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56313 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-18 21:25:58 +00:00
Ted Kremenek 5d443490cd Enable '-warn-objc-nserror-methods' by default.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56298 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-18 06:34:16 +00:00
Ted Kremenek 9f9b1fded4 Include links to stderr output of clang in the table of files that clang rejects.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56173 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-12 22:49:36 +00:00
Daniel Dunbar 75e0571497 Add ccc support for -e and -sectorder.
- llvmc2, save me!


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56169 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-12 19:42:28 +00:00
Daniel Dunbar 71441f0e8a Teach FindSpecRefs how to link to C++ spec.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56164 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-12 18:10:49 +00:00
Ted Kremenek 1346268d7f 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.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56130 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-11 23:05:26 +00:00
Ted Kremenek 20b2bae90c Bug fix: <rdar://problem/6164367>
scan-build now correctly processes path prefixes that contain multiple '+'
characters or other regex control characters.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56121 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-11 21:15:10 +00:00
Ted Kremenek 0e6893840f 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


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56110 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-11 18:17:51 +00:00
Ted Kremenek fc0898a652 Patch to scan-build by Jordan Breeding:
- Don't remove $BaseDir; may be unsafe
- Always create HTML directory with parents



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55813 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-04 23:56:36 +00:00
Daniel Dunbar 6aa9e8af34 Fix FindSpecRefs to be Python 2.4 compatible and get the SVN revision
in a more obvious fashion.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55791 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-04 20:26:14 +00:00
Ted Kremenek 95aa1050cd 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!


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55780 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-04 17:52:41 +00:00
Ted Kremenek 01479d0e9f Capture 'uname' and 'gcc -v' output to .info files.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55752 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-04 00:41:45 +00:00
Ted Kremenek 9a3c7dae00 ccc-analyzer:
- Capture the STDERR output of 'clang' to a file for use with crash reporting.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55749 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-04 00:02:34 +00:00
Ted Kremenek 386c693166 Added --use-cxx option to scan-build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55706 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-03 17:59:35 +00:00
Nuno Lopes 24653e8010 recognise .s/.S file extensions. add default value for CCC_LANGUAGES
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55630 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-02 10:27:37 +00:00
Daniel Dunbar d3d814131b 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.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55547 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-29 21:03:27 +00:00
Daniel Dunbar 33b511889b Add utils/FindSpecRefs, Python script for generating specification
references HTML page.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55524 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-29 01:07:08 +00:00
Ted Kremenek 6f12007499 Use explicit variable instead of $?
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55501 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-28 21:28:55 +00:00
Ted Kremenek f1f17006b2 Enhance ubiviz to support vertex styles.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55462 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-28 05:01:37 +00:00
Ted Kremenek 710ad9343f Automatically execute ubiviz.
Cleanup ubigraph files when don't drawing the graphs.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55459 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-28 03:54:51 +00:00
Ted Kremenek cb344d0f9b Fix regression: immediately terminate ccc-analyzer when gcc reports an error.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55452 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-28 01:18:44 +00:00
Ted Kremenek f8ce6991f4 Added Ubigraph visualization for the static analyzer (this is pretty alpha quality).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55442 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-27 22:31:43 +00:00
Ted Kremenek 948e06babd Remove regression where the analyzer was not called.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55440 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-27 22:30:34 +00:00
Ted Kremenek d52e425226 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


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55327 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-25 20:45:07 +00:00
Ted Kremenek 2ec5cd5535 Use the same 'cc' for generated preprocessed crash files as we do for compilation.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55326 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-25 20:44:31 +00:00
Ted Kremenek 5a4ddaf39a 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>


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55324 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-25 20:10:45 +00:00
Daniel Dunbar 4b5c4f27f3 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.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55260 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-23 22:15:15 +00:00
Ted Kremenek f17ef3caf1 Added --use-cc option to scan-build to allow the user to specify what compiler they want to use for code compilation.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55142 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-21 21:47:09 +00:00
Ted Kremenek 2dd7ad13bb Record arguments in .info file.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@54947 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-18 20:55:25 +00:00
Ted Kremenek 5d31f83bbe scan-build/ccc-analyzer now also report clang parser failures.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@54931 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-18 18:38:29 +00:00
Nuno Lopes c46cf49229 fix linking with .so files specified in cmd line (this fixes some libtool usages)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@54623 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-10 22:17:57 +00:00
Nuno Lopes 9a1844866b pass -R arg to linker
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@54622 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-10 21:58:01 +00:00
Ted Kremenek 991c54b9b7 Have scan-build/ccc-analyzer generate preprocessed .i/.mi files for sources that clang crashes on.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@54552 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-08 20:46:42 +00:00
Ted Kremenek 29da6c59df Fix by Jordan Breeding: when scanning for prior runs, scan-build should ignore files that are not directories.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@54473 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-07 17:57:34 +00:00
Ted Kremenek fc1d340169 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.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@54325 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-04 18:15:26 +00:00
Ted Kremenek 63c2017737 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.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@54323 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-04 17:34:06 +00:00
Ted Kremenek 5b08cbc9cb Use stable sort.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@54222 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-30 18:03:31 +00:00
Ted Kremenek 3cea9ee6b7 "Escape" bug names with quotes for selecting/deselecting from the bug table.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@54220 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-30 17:58:08 +00:00
Ted Kremenek bde3a05193 Enabled 'unused ivars' check by default.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@54052 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-25 20:35:01 +00:00
Ted Kremenek 940260996d Ignore -MT and -MF.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@53977 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-24 03:52:21 +00:00
Ted Kremenek 1683360500 "This patch adds paths for Fedora 9 in clang.cpp and support for two preprocessor options in ccc."
Patch by Zhongxing Xu!


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@53976 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-24 03:49:15 +00:00
Ted Kremenek fbeeca84dd Reimplement ccc-analyzer in a language I actually know, and implement some obvious optimizations when processing command line arguments.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@53783 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-19 06:11:04 +00:00
Ted Kremenek 2be1853a09 Remove typo.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@53776 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-18 23:13:03 +00:00
Ted Kremenek a3ed36afa9 Quote invocation of clang in pipe to handle paths with spaces.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@53775 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-18 23:11:33 +00:00
Ted Kremenek 9012599f4c Have scan-build control default analyses.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@53654 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-15 23:41:32 +00:00
Ted Kremenek ef42ca26ec Add -DIBOutlet=__attribute__((iboutlet)) to analyzer arguments.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@53648 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-15 23:09:14 +00:00
Ted Kremenek 363dc3f40f Added --status-bugs option to scan-build. By default, the exit status of
scan-build is the same as the exit status of the executed build command. With
this option, the exit status of scan-build is 1 if the analyzer flagged any
bugs, and 0 otherwise.

This addresses: <rdar://problem/6075320>



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@53642 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-15 22:03:09 +00:00
Ted Kremenek 20161e9ed7 Per Sam Bishop's excellent suggestion, use "system" instead of backticks to invoke sub-commands used by scan-build. This avoids meta-character translation issues caused by a shell subprocess.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@53640 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-15 20:18:21 +00:00
Ted Kremenek e0787814a7 Quote file names to better handle paths with spaces.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@53635 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-15 18:28:16 +00:00
Ted Kremenek 5656a98557 scan-build now propagates up the exit status of the build command.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@53620 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-15 17:09:28 +00:00
Ted Kremenek 24ec065270 Do not enable -warn-objc-missing-dealloc by default.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@53619 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-15 17:06:44 +00:00
Ted Kremenek b7770c0b49 scan-build now interrogates clang for a list of available analyses, and presents
these as options to the user of scan-build.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@53618 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-15 17:06:13 +00:00
Ted Kremenek 57bb37fcf5 Re-enable missing -dealloc check.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@53578 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-14 23:56:31 +00:00
Ted Kremenek 003798181c Using new clang option to invoke the type-signature check of Objective-C instance methods.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@53576 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-14 23:41:49 +00:00
Ted Kremenek 5b10bd7e83 Run by default: -check-objc-methodsigs
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@53483 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-11 22:41:43 +00:00
Ted Kremenek 150c2120ab scan-build now also prints the HTML directory reports were emitted to at the end of the build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@53466 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-11 19:15:05 +00:00
Ted Kremenek 88a96d6c3f Mark the "Bug Type" column as being initially sorted (display the sort ding) so that users can readily see that the table can be sorted.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@53176 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-07 17:23:32 +00:00
Ted Kremenek 2645c77072 Output html should have 'class=' before "sorttable_nosort".
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@53175 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-07 16:58:44 +00:00
Nuno Lopes 05f971a432 llvm-ld doesnt support -O1, -O2, etc options, so dont pass them
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@53144 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-05 17:31:10 +00:00
Ted Kremenek 1c6f3b274c Have ccc-analyzer skip any files with an unknown (or absent) extension.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@53114 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-03 22:24:10 +00:00
Ted Kremenek 01006786e3 ccc-analyzer now dispatches the options "-checker-cfref" and "-warn-dead-stores" to clang instead of just "-checker-cfref".
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@53053 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-02 23:16:10 +00:00
Ted Kremenek 3301cb103d When inspecting the build command, strip off the preceding path to the build command.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@52913 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-30 18:18:16 +00:00
Ted Kremenek 2797b1731a Bug fix: when copying prefix files using 'cp', don't split file names by spaces.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@52899 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-30 16:12:30 +00:00
Chris Lattner cf719b7829 "This maps the -pthread option to -lpthread - this isn't 100% correct,
since handling this correctly is quite complex, and on some platforms  
requires additional -D options and on some implies linking against a  
different libc, but this works better than just ignoring the option.

The other change passes the -x option across to clang, which allows  
compiling .c files as Objective-C and so on.  For some reason a lot of  
configure scripts seem to be under the misguided impression that this  
is a sensible thing to do."

Patch by David Chisnall!



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@52579 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-21 17:46:11 +00:00
Nuno Lopes e5d12e8003 handle -arch and -isysroot correctly (like ccc-analyszer do).
Patch by Filipe Cabecinhas

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@52417 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-17 17:23:14 +00:00
Ted Kremenek f2f8d6c471 Only use colored output when the environment variable SCAN_BUILD_COLOR is set.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@52379 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-17 03:06:59 +00:00
Ted Kremenek 23cfca3760 Remove debugging message in ccc-analyzer.
Add color diagnostics from scan-build, and indicate the number of bugs found (if any).


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@52372 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-16 22:40:14 +00:00
Ted Kremenek 6814447ddd Re-enable the analyzer.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@52367 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-16 21:41:07 +00:00
Ted Kremenek cd85348a93 Skip a few more files and linker options.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@52189 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-10 18:56:59 +00:00
Ted Kremenek fe4db8b834 Ignore a few more linker arguments.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@52023 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-05 22:46:24 +00:00
Ted Kremenek 49061fab7a ccc-analyzer now properly eats the -install_name, -exported_symbols_list, -current_version, -compatibility_version, and -sectorder command line arguments.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51965 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-04 20:49:03 +00:00
Ted Kremenek 6195c373b8 Use the correct 'ccc-analyzer' when the build command is a direct invocation of gcc.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51883 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-02 21:52:47 +00:00
Ted Kremenek b96ffdf59e Use "file_language" for per-language -x options.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51871 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-02 17:13:40 +00:00
Ted Kremenek 915e972098 When the build command is xcodebuild, set the magical environment variable LDPLUSPLUS to g++ to ensure that C++ object files are linked with g++ instead of gcc.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51621 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-27 23:18:07 +00:00
Ted Kremenek 30aba6d2aa Correctly check to see if we are analyzing C++ files (skip).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51620 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-27 23:17:16 +00:00
Ted Kremenek 39165e2a19 Fix variable misspelling.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51548 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-24 16:16:30 +00:00
Ted Kremenek 508b381d32 Don't use inferlanguage to override the default language for all files.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51547 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-24 16:14:34 +00:00
Ted Kremenek e4863992a2 Don't analyze .o files.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51546 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-24 16:09:00 +00:00
Ted Kremenek 61cd988a7e Cleanup indentation and remove some dead code.
Analyze files not compiled using "-c".  This fixes:

<rdar://problem/5961638> invoke checker when gcc is not called with "-c"


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51545 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-24 15:58:54 +00:00
Ted Kremenek cfd4c7bef7 Disable the use of PCH files when using xcodebuild.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51509 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-23 22:18:16 +00:00
Ted Kremenek f4cdf41fc7 When known, include the analyzer build in the output of scan-build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51492 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-23 18:17:05 +00:00
Ted Kremenek 26681e8e3a Don't specify a -o option to clang when not using "-checker-cfref".
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51124 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-14 20:26:52 +00:00
Ted Kremenek 48921c8a2e Fix variable misspelling.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51122 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-14 20:20:46 +00:00
Ted Kremenek bfd6a3fbc1 Don't run clang on .s files.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51121 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-14 20:17:17 +00:00
Ted Kremenek 1262fc4d66 Added "-a" option to scan-build to select the analysis (ASTConsumer) used by clang. The default is -checker-cfref.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51116 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-14 20:10:33 +00:00
Ted Kremenek 9d7405fafd Zero-pad the month and day fields in the output HTML directory.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51109 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-14 17:23:56 +00:00
Ted Kremenek c3e15e22f5 Output #LINE for computing line counts.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51079 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-13 22:56:36 +00:00
Ted Kremenek 8912b5427a Use "-i" option with make when ignoring errors.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51070 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-13 21:28:02 +00:00
Ted Kremenek 73cb10307b Re-enable the analyzer.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51055 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-13 17:10:28 +00:00
Ted Kremenek 7edbce2e55 Place "-x" option before other analyzer options.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51014 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-12 23:56:50 +00:00
Ted Kremenek 3319600871 Directly invoke gcc immediately instead of before we process the command line arguments.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51012 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-12 23:47:41 +00:00
Ted Kremenek a9525c929b Added internal command logging.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51003 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-12 22:07:14 +00:00
Ted Kremenek bdf66c7373 Fix a few glitches in scan-build with automatically generating class names from bug types.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50784 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-06 23:51:45 +00:00
Ted Kremenek 432af5985a Experiment with not converting bug names to lower case.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50753 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-06 18:11:36 +00:00
Ted Kremenek 3e56e0b8b2 Remove debugging statement.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50598 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-02 23:40:49 +00:00
Ted Kremenek 7a4648df32 Output better paths to display in bug reports and compute a common
prefix for all files.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50592 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-02 22:04:53 +00:00
Ted Kremenek 73c083c27c Add missing "-" that prefix arguments to forward to clang.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50540 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-01 21:26:22 +00:00
Ted Kremenek 6b6289848e scan-build: Disable distributed builds for xcodebuild
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50506 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-30 23:47:12 +00:00
Ted Kremenek 688e659cb5 Pass fobjc-gc-only and fobjc-gc options down to clang.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50426 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-29 16:24:23 +00:00
Ted Kremenek dc34300db9 Pass down more -iXXX options that clang supports
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50304 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-25 21:28:20 +00:00
Nate Begeman 4cd3603978 Don't double-increment counter for -arch and -isysroot
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50082 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-22 04:47:32 +00:00
Ted Kremenek fe87354769 Remove unused "verbose" argument to compile(). Also unbreaks ccc-analyzer.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50066 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-21 21:58:05 +00:00
Ted Kremenek d0eef024e9 Pass "-arch" down to clang.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50056 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-21 20:28:01 +00:00
Ted Kremenek 39a79734e7 Pass "-isysroot" option down to clang.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49956 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-19 18:42:26 +00:00
Ted Kremenek 7ea02e6822 Fix spelling/grammar in comment.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49955 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-19 18:07:44 +00:00
Ted Kremenek a6e2481120 Use Digest::MD5 (a Perl module that should come bundled standard with Perl) to compute file digests instead of using the external program "sha1sum" (which may not be present).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49954 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-19 18:05:48 +00:00
Ted Kremenek f22eacb11b Use 'clang' binary in the same dir as scan-build; if it isn't there use the one in the path
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49933 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-18 22:00:56 +00:00
Ted Kremenek af79c1156a Turn on CF reference count checker.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49931 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-18 21:53:01 +00:00
Ted Kremenek 809709f46f Spelling fix.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49908 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-18 16:58:34 +00:00
Ted Kremenek 684bb097fb scan-build now fixes permissions of report files and directories, which may
be created as "temporary files" that are not world readable.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49904 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-18 15:18:20 +00:00
Ted Kremenek 57cf446d34 Compute a digest of each report file, and nuke reports that have the same
digest as a file already added to the index.  This a workaround for the
analyzer analyzing the same file more than once, which can happen when building
multiple targets.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49903 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-18 15:09:30 +00:00
Ted Kremenek 6e6eff7aaa Added "summary table" to generated index.html page that allows one to
toggle which bug reports are displayed in the report table.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49738 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-15 20:47:02 +00:00
Ted Kremenek 7d311abfc2 Used --checker-simple.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49501 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-10 22:17:23 +00:00
Ted Kremenek 4bb6ac2bb6 When not emitting path diagnostics in BugReporter::EmitWarning(), use the
BugReport-specific SourceRanges (when available).


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49486 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-10 16:12:38 +00:00
Ted Kremenek 0b6c153491 Set the location of ccc-analyzer to be the same directory as where scan-build
is located.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49397 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-08 20:22:12 +00:00
Ted Kremenek d8c6d0c8a5 Left-justify text in report table.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49358 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-07 23:50:07 +00:00
Ted Kremenek 6e9d38e2b8 Fix analyzer breakage introduced by r49213: http://llvm.org/viewvc/llvm-project?rev=49213&view=rev
The problem is that some clients of gcc lookout at the stdout output of gcc;
this requires that all the analyzer diagnostics go to stderr to avoid polluting
stdout.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49355 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-07 23:27:54 +00:00
Seo Sanghyeon d389465f42 - ccc: print generated command line to stdout instead of stderr
- ccc: quote shell metacharacters in command line to ease copy-and-paste


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49213 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-04 11:02:21 +00:00
Ted Kremenek 8cb53fb1e9 Remove bogus check to prune out analyzing files.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49191 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-03 21:29:11 +00:00
Ted Kremenek f5221b0803 More reliably remove '\n' from queries of the location of ccc-analyzer
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49189 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-03 21:17:14 +00:00
Ted Kremenek 4f4b17da43 Use full path to ccc-analyzer.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49187 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-03 20:08:18 +00:00
Sam Bishop 2f2418eacf Remove handling of impossible "-?" option.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49161 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-03 14:29:47 +00:00
Ted Kremenek 9c600ff132 Don't run the analyzer on files whose language is "unknown"
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49152 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-03 07:14:59 +00:00
Ted Kremenek 10f883fe7e Remove impossible "-?" option.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49149 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-03 07:11:44 +00:00
Ted Kremenek bba1cf5500 CSS/HTML generation tweaks for index.html: Remove special "classes" for <td>
elements in table so that sorttable can sort them.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49145 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-03 05:50:51 +00:00
Ted Kremenek 22d6a639ce Made bug index tables sortable.
Added line number, file information, path length, for each bug report.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49113 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-02 20:43:36 +00:00
Ted Kremenek 7f8a32572e Initial work on CSS in generated index.html.
Added "-V/--view" option to view index.html after it has been generated.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49108 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-02 18:42:49 +00:00
Ted Kremenek 5744dc294e Initial support for generating index.html file.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49104 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-02 18:03:36 +00:00
Ted Kremenek 39eefde0ae More wording cleanups in --help text.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49094 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-02 16:47:27 +00:00
Ted Kremenek f02e8dbf7e More wording fixes.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49093 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-02 16:41:25 +00:00
Ted Kremenek 0062ad4f47 Added error message for unrecognized options.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49092 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-02 16:35:01 +00:00
Ted Kremenek af08f64abc Wording cleanups.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49091 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-02 16:31:58 +00:00
Ted Kremenek 7442ca6b27 Implemented "-k" support.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49090 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-02 16:04:51 +00:00
Ted Kremenek 6a43ba9cd2 Do equality testing, not regex, when the build command is gcc. This matches
better with what compiler invocations that ccc-analyzer actually intercepts.

Fixes suggested by Sam Bishop!


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49089 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-02 15:34:12 +00:00
Ted Kremenek 02493782bd Minor wording changes.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49085 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-02 07:05:07 +00:00
Ted Kremenek dab111099e Added special handling when the build command is "gcc", "cc", or "llvm-gcc";
in these cases we directly call ccc-analyzer.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49073 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-02 04:43:42 +00:00
Sam Bishop a0e226621b a bunch of random cleanups
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49071 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-02 03:35:43 +00:00
Ted Kremenek c052046348 Minor cleanups.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49052 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-01 21:36:28 +00:00
Ted Kremenek 2b74ab6fdf Added help text for scan-build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49051 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-01 21:22:03 +00:00
Ted Kremenek 9cc8c2cc79 Initial checking of 'scan-build' script, a script used to wrap builds and
interpose calls to gcc with calls to the analyzer.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49049 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-01 20:47:38 +00:00
Ted Kremenek 69b6442f3c Do not abort ccc-analyzer script if an HTML directory is not specified.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48997 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-31 21:20:32 +00:00
Ted Kremenek 09c2ad63c3 The ccc-analyzer script now interrogates environment variables to determine
where to dump HTML reports.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48987 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-31 18:25:05 +00:00
Ted Kremenek b0982880c0 Added hacked version of ccc script used to invoke the static analyzer. This
will gradually get pruned down, as it doesn't need to be as functional as
'ccc'.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48806 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-25 22:35:32 +00:00
Lauro Ramos Venancio de808ca855 Disable internalize. Unfortunately, the configure scripts are not ready for some link time optimizations.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47682 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-27 18:46:32 +00:00
Lauro Ramos Venancio 279876b3b4 Add c++ to "inferlanguage"
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47185 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-15 22:35:25 +00:00
Anders Carlsson dac2b54b1c Use the subprocess module instead of os.system. Patch by Sam Bishop.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46819 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-06 19:03:27 +00:00
Bill Wendling 550ce0f9b7 - ccc creates output objects in same directory as the source file, and
not in the current directory. This doesn't work with VPATH builds in
  autotooled builds.
- ccc now creates object files without an extension.
- Return exit code 1 if code > 255.

Patch by Torok!


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46689 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-03 21:27:46 +00:00
Seo Sanghyeon 795aaed924 Make ccc work with older Python versions. Patch by Sam Bishop.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46675 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-03 03:40:41 +00:00
Anders Carlsson c720d9b22e Don't try to compile .a files.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46626 91177308-0d34-0410-b5e6-96231b3b80d8
2008-01-31 23:48:19 +00:00
Anders Carlsson d125bb191f Improvements to ccc. Patch by Shantonu Sen.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46501 91177308-0d34-0410-b5e6-96231b3b80d8
2008-01-29 07:21:34 +00:00
Seo Sanghyeon 96b99f7939 Implement -print-prog-name. Patch by Nuno Lopes.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46353 91177308-0d34-0410-b5e6-96231b3b80d8
2008-01-25 14:57:54 +00:00
Seo Sanghyeon 42599555d1 Ignore --param
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46107 91177308-0d34-0410-b5e6-96231b3b80d8
2008-01-17 01:08:43 +00:00
Seo Sanghyeon 2bfa5334a7 Compiler driver
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45809 91177308-0d34-0410-b5e6-96231b3b80d8
2008-01-10 01:43:47 +00:00