summaryrefslogtreecommitdiffstats
path: root/clang/test/Analysis/inline-unique-reports.c
Commit message (Collapse)AuthorAgeFilesLines
* [Static Analyzer] The name of the checker that reports a bug is addedGabor Horvath2015-02-091-0/+1
| | | | | | | | | | | to the plist output. This check_name field does not guaranteed to be the same as the name of the checker in the future. Reviewer: Anna Zaks Differential Revision: http://reviews.llvm.org/D6841 llvm-svn: 228624
* [analyzer] Enable the new edge algorithm by default.Jordan Rose2013-06-031-1/+1
| | | | | | | | | ...but don't yet migrate over the existing plist tests. Some of these would be trivial to migrate; others could use a bit of inspection first. In any case, though, the new edge algorithm seems to have proven itself, and we'd like more coverage (and more usage) of it going forwards. llvm-svn: 183165
* [analyzer] Refactor BugReport::getLocation and ↵Anna Zaks2013-04-231-168/+286
| | | | | | | | | | | | | | | PathDiagnosticLocation::createEndOfPath for greater code reuse The 2 functions were computing the same location using different logic (each one had edge case bugs that the other one did not). Refactor them to rely on the same logic. The location of the warning reported in text/command line output format will now match that of the plist file. There is one change in the plist output as well. When reporting an error on a BinaryOperator, we use the location of the operator instead of the beginning of the BinaryOperator expression. This matches our output on command line and looks better in most cases. llvm-svn: 180165
* [analyzer] Plist: change the type of issue_hash from int to string.Anna Zaks2013-01-081-1/+1
| | | | | | This gives more flexibility to what could be stored as issue_hash. llvm-svn: 171824
* [analyzer] -analyzer-ipa=inlining is now the default. Remove it from tests.Jordan Rose2012-08-211-1/+1
| | | | | | | | | | | | | The actual change here is a little more complicated than the summary above. What we want to do is have our generic inlining tests run under whatever mode is the default. However, there are some tests that depend on the presence of C++ inlining, which still has some rough edges. These tests have been explicitly marked as -analyzer-ipa=inlining in preparation for a new mode that limits inlining to C functions and blocks. This will be the default until the false positives for C++ have been brought down to manageable levels. llvm-svn: 162317
* [analyzer] Solve another source of non-determinism in the diagnosticAnna Zaks2012-08-021-9/+10
| | | | | | | | | | | | engine. The code that was supposed to split the tie in a deterministic way is not deterministic. Most likely one of the profile methods uses a pointer. After this change we do finally get the consistent diagnostic output. Testing this requires running the analyzer on large code bases and diffing the results. llvm-svn: 161224
* PlistDiagnostics: force the ranges for control-flow edges to be single ↵Ted Kremenek2012-06-051-3/+4
| | | | | | | | locations, forcing adjacent edges to have compatible ranges. This simplifies the layout logic for some clients. llvm-svn: 158028
* Rework ExprEngine::evalLoad and clients (e.g. VisitBinaryOperator) so that ↵Ted Kremenek2012-04-061-10/+12
| | | | | | | | | | | | | | | | | | when we generate a new ExplodedNode we use the same Expr* as the one being currently visited. This is preparation for transitioning to having ProgramPoints refer to CFGStmts. This required a bit of trickery. We wish to keep the old Expr* bindings in the Environment intact, as plenty of logic relies on it and there is no reason to change it, but we sometimes want the Stmt* for the ProgramPoint to be different than the Expr* being used for bindings. This requires adding an extra argument for some functions (e.g., evalLocation). This looks a bit strange for some clients, but it will look a lot cleaner when were start using CFGStmt* in the appropriate places. As some fallout, the diagnostics arrows are a bit difference, since some of the node locations have changed. I have audited these, and they look reasonable. llvm-svn: 154214
* Include full plist output in FileCheck test.Ted Kremenek2012-03-151-3/+5
| | | | llvm-svn: 152859
* [analyzer] Call enter/exit diagnostic should refer to caller/callee,Anna Zaks2012-03-131-2/+2
| | | | | | respectively. llvm-svn: 152676
* [analyzer] Change the order in which we analyze the functions underAnna Zaks2012-03-131-7/+7
| | | | | | | | | | | inlining to be the reverse of their declaration. This optimizes running time under inlining up to 20% since we do not re-analyze the utility functions which are usually defined first in the translation unit if they have already been analyzed while inlined into the root functions. llvm-svn: 152653
* [analyzer] Rework inlining related command line options.Anna Zaks2012-03-081-1/+1
| | | | | | | | | - Remove -analyzer-inline-call. - Add -analyzer-ipa=[none|inlining] - Add -analyzer-inlining-mode to allow experimentation for different performance tuning methods. llvm-svn: 152351
* [analyzer] add a diagnostic event when entering a call via inlining, within ↵Ted Kremenek2012-03-061-2/+49
| | | | | | the callee, and add an edge. llvm-svn: 152086
* Make PathDiagnosticBuilder sensitive to varying LocationContexts, thus ↵Ted Kremenek2012-02-241-36/+3
| | | | | | fixing a bug in the inlining diagnostics where the wrong location could be used. llvm-svn: 151349
* Remove stray path in test file.Ted Kremenek2012-02-241-1/+0
| | | | llvm-svn: 151347
* Reapply r151317, but when computing the PathDiagnostic profile and size keep ↵Ted Kremenek2012-02-241-2/+17
| | | | | | | | into account the nested structure. Also fix a problem with how inlining impacted Plist diagnostics, and adjust some ranges in the Plist output due to richer information. llvm-svn: 151346
* Update test case.Ted Kremenek2012-02-071-3/+16
| | | | llvm-svn: 149964
* Rework flushing of diagnostics to PathDiagnosticConsumer. Now all the ↵Ted Kremenek2012-01-251-0/+139
reports are batched up before being flushed to the underlying consumer implementation. This allows us to unique reports across analyses to multiple functions (which shows up with inlining). llvm-svn: 148997
OpenPOWER on IntegriCloud