Commit Graph

4305 Commits

Author SHA1 Message Date
Ted Kremenek c2546d6518 Mark nodes as sinks that GRAuditor says should be marked as sinks.
llvm-svn: 49179
2008-04-03 17:56:48 +00:00
Ted Kremenek b5c8225320 Use logical line number for BUGLINE.
llvm-svn: 49178
2008-04-03 17:55:57 +00:00
Ted Kremenek 406192d163 Added "getLogicalLineNumber" and "getLogicalColumnNumber" to FullSourceLoc.
llvm-svn: 49177
2008-04-03 17:55:15 +00:00
Sam Bishop 30d70968fd Remove handling of impossible "-?" option.
llvm-svn: 49161
2008-04-03 14:29:47 +00:00
Sam Bishop 2f8a31ca92 trivial whitespace fix
llvm-svn: 49160
2008-04-03 14:20:28 +00:00
Ted Kremenek ca40664275 Handle the case when getEndPath() returns NULL.
llvm-svn: 49155
2008-04-03 07:33:55 +00:00
Ted Kremenek 4d26d194e4 Don't run the analyzer on files whose language is "unknown"
llvm-svn: 49152
2008-04-03 07:14:59 +00:00
Ted Kremenek b73d6dda84 Added guard for printing out PathDiagnostics whose last element ends with
a piece with a SourceLocation that does not have a FileID.

llvm-svn: 49151
2008-04-03 07:13:10 +00:00
Ted Kremenek c599179267 Some cleanups in EscapeText and AddLineNumbers. Still investigating performance
issues.

llvm-svn: 49150
2008-04-03 07:12:29 +00:00
Ted Kremenek ffc1147323 Remove impossible "-?" option.
llvm-svn: 49149
2008-04-03 07:11:44 +00:00
Ted Kremenek 78e30c17bc Added "isFileID()" to FullSourceLoc.
llvm-svn: 49148
2008-04-03 07:11:38 +00:00
Ted Kremenek d4bee176b6 CSS/HTML generation tweaks for index.html: Remove special "classes" for <td>
elements in table so that sorttable can sort them.

llvm-svn: 49145
2008-04-03 05:50:51 +00:00
Chris Lattner e799eb5daa Fix PR2081 (problems codegen'ing some recursive structures) patch
by Lauro Venancio!

llvm-svn: 49144
2008-04-03 05:50:42 +00:00
Sam Bishop 2289459bf6 Created a destructor so that the top-level decls can be deleted.
llvm-svn: 49142
2008-04-03 05:35:20 +00:00
Sam Bishop 5981404289 Temporarily make the Decl virtual destructor public, so that calls to "delete"
can be tested on derived classes.

llvm-svn: 49141
2008-04-03 05:29:20 +00:00
Ted Kremenek e4c029e7aa Add back bug name to PathDiagnostic.
llvm-svn: 49139
2008-04-03 05:23:19 +00:00
Chris Lattner 3a0702e631 Fix a bug where we didn't check the RHS for null, we checked
the LHS for null twice.

llvm-svn: 49138
2008-04-03 05:07:25 +00:00
Chris Lattner efdc7685d4 qualifier comparisons should be done on canonical types.
llvm-svn: 49137
2008-04-03 05:07:04 +00:00
Sam Bishop 03e662d5be Call delete on the deserialized TranslationUnit object.
llvm-svn: 49136
2008-04-03 05:03:34 +00:00
Sam Bishop ca6226628e Call "delete" on the body of FunctionDecls.
llvm-svn: 49135
2008-04-03 05:01:04 +00:00
Ted Kremenek 4e9cc3f272 When creating PathDiagnostics, created a trimmed graph first and report the
BFS path to the root.  This also avoids problems with loops in the ExplodedGraph.

llvm-svn: 49133
2008-04-03 04:59:14 +00:00
Ted Kremenek 588dcdd58b Added node_iterator to ExplodedGraph to allow iteration over all nodes in
the graph.

llvm-svn: 49132
2008-04-03 04:58:29 +00:00
Ted Kremenek 572875c43f Updated Xcode project to include BugReporter.[cpp,h].
llvm-svn: 49128
2008-04-03 04:43:40 +00:00
Ted Kremenek 505a36afc6 Created new path-sensitive bug-reporting scheme based on the classes
"BugReporter" and "BugDescription".  BugDescription is used to describe
a bug and provide pieces of the PathDiagnostic, and BugReporter creates
the actual PathDiagnostic by crawling through the ExplodedGraph.

Migrated checks done by GRSimpleVals to be reported using the new BugReporter
mechanism.

llvm-svn: 49127
2008-04-03 04:42:52 +00:00
Ted Kremenek 7c7616cf29 Added missing #ifndef...#define...#endif directives to protect against
double includes.

llvm-svn: 49126
2008-04-03 04:38:39 +00:00
Ted Kremenek 84041843af CSS tweaking on blue boxes.
llvm-svn: 49121
2008-04-02 22:50:50 +00:00
Ted Kremenek 33d03a52f0 80 col violation
llvm-svn: 49120
2008-04-02 22:08:09 +00:00
Ted Kremenek 744fb6d9e7 Added more PathDiagnostic rendering for terminators: switch, goto, loops.
llvm-svn: 49119
2008-04-02 22:03:53 +00:00
Ted Kremenek ab2a52c4bf Blue diagnostic boxes.
llvm-svn: 49117
2008-04-02 21:14:04 +00:00
Ted Kremenek 258493c188 Added path sequence numbers in HTML output of PathDiagnostics.
llvm-svn: 49116
2008-04-02 21:04:20 +00:00
Ted Kremenek 3e38d6ad3c Fix initialization bug.
llvm-svn: 49115
2008-04-02 20:44:27 +00:00
Ted Kremenek 3276af4c1a Embed BUGLINE, BUGFILE, BUGPATHLENGTH in the emitted HTML file.
llvm-svn: 49114
2008-04-02 20:44:16 +00:00
Ted Kremenek 00ab318cf2 Made bug index tables sortable.
Added line number, file information, path length, for each bug report.

llvm-svn: 49113
2008-04-02 20:43:36 +00:00
Ted Kremenek 260fc46000 Added "back()" method to PathDiagnostic to access the last piece in a path.
llvm-svn: 49112
2008-04-02 20:35:01 +00:00
Ted Kremenek c57139e104 Initial work on CSS in generated index.html.
Added "-V/--view" option to view index.html after it has been generated.

llvm-svn: 49108
2008-04-02 18:42:49 +00:00
Steve Naroff 778927532d Change ObjCInterfaceDecl to inherit from NamedDecl (not TypeDecl). While ObjCInterfaceDecl is arguably a TypeDecl, it isn't a ScopedDecl. Since TypeDecl's are scoped, it makes sense to simply treat them as NamedDecl's. I could have fiddled a bit more with the hierarchy (in terms of creating a non-scoped TypeDecl), however this probably isn't worth the effort.
I also finished unifying access to scope decl change by converting Sema::getObjCInterfaceDecl() to use Sema::LookupDecl(). This is much cleaner now:-)

llvm-svn: 49107
2008-04-02 18:30:49 +00:00
Ted Kremenek 2cd0d63d30 Initial support for generating index.html file.
llvm-svn: 49104
2008-04-02 18:03:36 +00:00
Ted Kremenek 13c0885a8d Put "BUGDESC" comment tag on its own line.
llvm-svn: 49103
2008-04-02 18:03:20 +00:00
Ted Kremenek 383bfd27d0 Shorted bug-description.
llvm-svn: 49102
2008-04-02 18:02:54 +00:00
Chris Lattner 182f660d8d simplify some code by using PointerLikeType.
llvm-svn: 49101
2008-04-02 17:45:06 +00:00
Chris Lattner db5f1fa3d8 add a common base class "PointerLikeType" for PointerType and ReferenceType,
allowing them to be treated the same in some contexts.  A suggestion for a
better name is welcome :)

llvm-svn: 49100
2008-04-02 17:35:06 +00:00
Chris Lattner b1f7398b1c properly handle array decay in objc message exprs.
llvm-svn: 49098
2008-04-02 17:17:33 +00:00
Chris Lattner 6f6d226f63 improve error to be something end users will actually understand :)
llvm-svn: 49097
2008-04-02 17:15:17 +00:00
Ted Kremenek 018ba60f8e Added path-sensitive null dereference test case.
llvm-svn: 49095
2008-04-02 16:54:39 +00:00
Ted Kremenek 3016cdd569 More wording cleanups in --help text.
llvm-svn: 49094
2008-04-02 16:47:27 +00:00
Ted Kremenek dfd204e133 More wording fixes.
llvm-svn: 49093
2008-04-02 16:41:25 +00:00
Ted Kremenek 1cf35de3cb Added error message for unrecognized options.
llvm-svn: 49092
2008-04-02 16:35:01 +00:00
Ted Kremenek c5f113f52e Wording cleanups.
llvm-svn: 49091
2008-04-02 16:31:58 +00:00
Ted Kremenek 977b644427 Implemented "-k" support.
llvm-svn: 49090
2008-04-02 16:04:51 +00:00
Ted Kremenek 37e908a6f0 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!

llvm-svn: 49089
2008-04-02 15:34:12 +00:00