- Jan 25, 2010
-
-
Ted Kremenek authored
llvm-svn: 94428
-
Ted Kremenek authored
(1) libAnalysis is a generic analysis library that can be used by Sema. It defines the CFG, basic dataflow analysis primitives, and inexpensive flow-sensitive analyses (e.g. LiveVariables). (2) libChecker contains the guts of the static analyzer, incuding the path-sensitive analysis engine and domain-specific checks. Now any clients that want to use the frontend to build their own tools don't need to link in the entire static analyzer. This change exposes various obvious cleanups that can be made to the layout of files and headers in libChecker. More changes pending. :) This change also exposed a layering violation between AnalysisContext and MemRegion. BlockInvocationContext shouldn't explicitly know about BlockDataRegions. For now I've removed the BlockDataRegion* from BlockInvocationContext (removing context-sensitivity; although this wasn't used yet). We need to have a better way to extend BlockInvocationContext (and any LocationContext) to add context-sensitivty. llvm-svn: 94406
-
- Jan 20, 2010
-
-
Mike Stump authored
llvm-svn: 93966
-
- Dec 03, 2009
-
-
Ted Kremenek authored
Try to make the output of PlistDiagnostics more deterministic by sorting PathDiagnostics before they are emitted. Fixes <rdar://problem/7439668>. llvm-svn: 90478
-
- Nov 28, 2009
-
-
Benjamin Kramer authored
llvm-svn: 90033
-
- Nov 13, 2009
-
-
Ted Kremenek authored
llvm-svn: 87073
-
-
- Nov 05, 2009
-
-
Daniel Dunbar authored
llvm-svn: 86112
-
Ted Kremenek authored
migrate work in the destructors of PathDiagnosticClients from their destructors to FlushReports(). The destructors now currently call FlushReports(); this will be fixed in a subsequent patch. llvm-svn: 86108
-
Daniel Dunbar authored
llvm-svn: 86076
-
- Sep 09, 2009
-
-
Mike Stump authored
llvm-svn: 81346
-
- Aug 25, 2009
-
-
Dan Gohman authored
llvm-svn: 79991
-
- Aug 23, 2009
-
-
Chris Lattner authored
llvm-svn: 79809
-
- Jul 29, 2009
-
-
Daniel Dunbar authored
llvm-svn: 77416
-
- Jul 28, 2009
-
-
Ted Kremenek authored
object that it can use to forward PathDiagnostics for further processing. Along with this feature, the PlistDiagnostics object logs which files are created by the forwarding of the PathDiagnostics. (2) Create a new PathDiagnosticClientFactory object for HTMLDiagnostics, allowing other PathDiagnosticClients to forward PathDiagnostics through an opaque interface. (3) Create a "plist-html" diagnostics option in AnalysisConsumer to allow the logging of HTML files created in a hybrid Plist+HTML diagnostic client. llvm-svn: 77264
-
- Jul 15, 2009
-
-
Dan Gohman authored
Force flag to control whether the case of opening an existing file is considered an error. llvm-svn: 75802
-
- Apr 29, 2009
-
-
Ted Kremenek authored
- Add an (optional) short description for BugReports for clients that want to distinguish between long and short descriptions for bugs - Make the bug report for VLA less obscene for Plist diagnostics by using the short description llvm-svn: 70415
-
- Apr 23, 2009
-
-
Ted Kremenek authored
indicate whether or not the range represents an absolute range or should be extended by lexing to the end of the token. llvm-svn: 69834
-
- Apr 21, 2009
-
-
Ted Kremenek authored
pieces. llvm-svn: 69719
-
- Apr 15, 2009
-
-
Chris Lattner authored
This allows it to accurately measure tokens, so that we get: t.cpp:8:13: error: unknown type name 'X' static foo::X P; ~~~~~^ instead of the woefully inferior: t.cpp:8:13: error: unknown type name 'X' static foo::X P; ~~~~ ^ Most of this is just plumbing to push the reference around. llvm-svn: 69099
-
- Apr 05, 2009
-
-
Ted Kremenek authored
llvm-svn: 68437
-
- Apr 02, 2009
-
-
Ted Kremenek authored
can use a PathLocation after any reference Stmts are reclaimed, flattenLocation() converts those references to statements to source ranges. llvm-svn: 68292
-
Ted Kremenek authored
llvm-svn: 68264
-
- Apr 01, 2009
-
-
Ted Kremenek authored
instead of a FullSourceLoc. This resulted in a bunch of small edits in various clients. - Updated BugReporter to include an alternate PathDiagnostic generation algorithm for PathDiagnosticClients desiring more control-flow pieces. llvm-svn: 68193
-
- Mar 31, 2009
-
-
Ted Kremenek authored
refactoring to make this possible (no functionality change). llvm-svn: 68141
-
- Mar 28, 2009
-
-
Ted Kremenek authored
llvm-svn: 67924
-
- Mar 27, 2009
-
-
Ted Kremenek authored
start-end points, where start and end are source ranges. llvm-svn: 67847
-
-
Ted Kremenek authored
- Added an internal helper class 'PathDiagnosticBuilder' which now bundles the 'ExecutionContinues' methods. - Added preliminary diagnostics for short-circuit '&&' and '||' llvm-svn: 67822
-
- Mar 19, 2009
-
-
Ted Kremenek authored
llvm-svn: 67269
-
- Mar 12, 2009
-
-
Ted Kremenek authored
- PathDiagnosticControlFlowPiece now consists of a "start" and "end" location to indicating the branch location and where the branch goes. BugReporter: - Updated BugReporter to construct PathDiagnosticControlFlowPiece objects with "end" locations. PlistDiagnostics: - Plists now contain the bug "type" (not just bug "category") - Plists now encode control-flow pieces differently than events; now the "start" and "end" locations are recorded llvm-svn: 66818
-
- Mar 10, 2009
-
-
Ted Kremenek authored
llvm-svn: 66518
-
- Mar 02, 2009
-
-
Ted Kremenek authored
llvm-svn: 65878
-
Ted Kremenek authored
llvm-svn: 65861
-
Daniel Dunbar authored
driver taking lib/Driver. llvm-svn: 65811
-
- Feb 02, 2009
-
-
Ted Kremenek authored
llvm-svn: 63551
-
- Jan 23, 2009
-
-
Ted Kremenek authored
llvm-svn: 62871
-
- Jan 21, 2009
-
-
Ted Kremenek authored
Static Analyzer: When generating plists for errors reports, generate one plist file per translation unit that contains all of the diagnostics. llvm-svn: 62647
-
- Jan 19, 2009
-
-
Chris Lattner authored
no longer such thing as a non-canonical FileID. llvm-svn: 62499
-
- Jan 17, 2009
-
-
Chris Lattner authored
"FileID" a concept that is now enforced by the compiler's type checker instead of yet-another-random-unsigned floating around. This is an important distinction from the "FileID" currently tracked by SourceLocation. *That* FileID may refer to the start of a file or to a chunk within it. The new FileID *only* refers to the file (and its #include stack and eventually #line data), it cannot refer to a chunk. FileID is a completely opaque datatype to all clients, only SourceManager is allowed to poke and prod it. llvm-svn: 62407
-