- Sep 25, 2007
-
-
Fariborz Jahanian authored
objective-c code with no @interface declaration. llvm-svn: 42319
-
Ted Kremenek authored
llvm-svn: 42317
-
Fariborz Jahanian authored
semantic checks for class and protocol declarations. Test cases are good indications of kind of checking being done in this patch. llvm-svn: 42311
-
Ted Kremenek authored
"CheckDiagnostics" (used for -parse-ast-check) to check the diagnostics of any ASTConsumer. Reimplemented CheckDiagnostics to use CheckASTConsumer instead. Added driver option -warn-dead-stores-check, which checks the diagnostics generated by the DeadStores checker. This is implemented using CheckASTConsumer.111 llvm-svn: 42310
-
Ted Kremenek authored
"-check-uninit-values" to "-warn-dead-stores" and "-warn-uninit-values" llvm-svn: 42307
-
Ted Kremenek authored
llvm-svn: 42305
-
Ted Kremenek authored
llvm-svn: 42304
-
Ted Kremenek authored
llvm-svn: 42301
-
Hartmut Kaiser authored
llvm-svn: 42295
-
Ted Kremenek authored
between forward and backward analyses, with trait classes being used to implement the key differences in operations/functionality. Converted the LiveVariables analysis to use the generic DataflowSolver. This, along with removing some extra functionality that was not needed, reduced the code for LiveVariables by over half. Modified Driver code to handle the updated interface to LiveVariables. Modified the DeadStores checker to handle the update interface to LiveVariables. Updated DataflowValues (generic ADT to store dataflow values) to also store values for blocks. This is used by DeadStores. Updated some comments. llvm-svn: 42293
-
Ted Kremenek authored
llvm-svn: 42292
-
Chris Lattner authored
llvm-svn: 42291
-
Ted Kremenek authored
is persistent. Adds/removals to a PersistentMap do not result in a map being modified, but a new map being created. This will be useful for path-sensitive analyses. The current implementation mainly makes copies to implement this functionality. If the map turns out to be extensively used, this implementation will be replaced with a more efficient one that uses data sharing (see comments in PersistentMap.h for more information). llvm-svn: 42290
-
- Sep 24, 2007
-
-
Ted Kremenek authored
counted objects that maintain their own internal reference count. This smart pointer implementation is compatible with LLVM-style down-casting (see in llvm: include/llvm/Support/Casting.h). Implemented "RefCounted", a base class that objects that wish to be managed using IntrusiveSPtrs can subclass. Reference counted objects are being targeted for use in path-sensitive dataflow analyses where managing many live objects becomes difficult. llvm-svn: 42260
-
Chris Lattner authored
so that we don't emit an error on the #endif. Suggestion by Neil. llvm-svn: 42258
-
Chris Lattner authored
llvm-svn: 42253
-
Hartmut Kaiser authored
llvm-svn: 42252
-
- Sep 22, 2007
-
-
Chris Lattner authored
integer constant expressions. The only questionable thing is that we now reject: void foo() { switch (1) { case (int)1.0e10000: ; } } with: t.c:5:13: error: case label does not reduce to an integer constant case (int)1.0e10000: ~~~~~^~~~~~~~~ GCC accepts this, emitting the pedwarn: t.c:5: warning: floating constant exceeds range of 'double' llvm-svn: 42238
-
Chris Lattner authored
llvm-svn: 42237
-
Chris Lattner authored
APFloat straight through to LLVM now. llvm-svn: 42236
-
Chris Lattner authored
llvm-svn: 42235
-
Chris Lattner authored
for *which* apfloat to use for a particular type. llvm-svn: 42234
-
Fariborz Jahanian authored
1. Handles saving and checking on protocols used in an @interface declaration 2. Checks and saves class's super class. 3. Adds semantic check to category declarations. llvm-svn: 42218
-
- Sep 21, 2007
-
-
Chris Lattner authored
values. Patch mostly by Gabor Greif for PR1682. llvm-svn: 42203
-
Fariborz Jahanian authored
protocols referenced in @protocol declarations. llvm-svn: 42191
-
- Sep 20, 2007
-
-
Hartmut Kaiser authored
llvm-svn: 42177
-
Ted Kremenek authored
llvm-svn: 42176
-
Ted Kremenek authored
Analysis/Visitors/*Visitors.h files. llvm-svn: 42175
-
Ted Kremenek authored
"Visitors" is more general than "CFGVisitors", as we aren't just using visitation useful for CFG analysis. llvm-svn: 42174
-
Ted Kremenek authored
We had enough visitors that it was cluttering the Analysis directory. llvm-svn: 42173
-
Fariborz Jahanian authored
ObjcInterfaceClass Objects. llvm-svn: 42172
-
Fariborz Jahanian authored
1. Detect used of undeclared/forward declared super class. 2. Detect duplicate definition of a class. llvm-svn: 42168
-
Hartmut Kaiser authored
Disambiguated a variable. llvm-svn: 42161
-
- Sep 19, 2007
-
-
Ted Kremenek authored
functionality is still preliminary. llvm-svn: 42152
-
Ted Kremenek authored
Moved GraphTraits<Stmt*> to StmtGraphTraits.h. This allows consumers of Stmt.h not to have to pay the cost of parsing the GraphTraits templates if they don't need that functionality. Defined nodes_iterator for GraphTraits<Stmt*> to be based on llvm::df_iterator. llvm-svn: 42150
-
Fariborz Jahanian authored
llvm-svn: 42148
-
Ted Kremenek authored
llvm-svn: 42146
-
Ted Kremenek authored
llvm-svn: 42145
-
Ted Kremenek authored
The extended functionality of these visitors is that they automatically visit all statements in an AST (no explicit recursion is required from subclasses), and the for the latter, decls are visited as well. llvm-svn: 42144
-
Steve Naroff authored
Remove SelectorTable/SelectorInfo, simply store all selectors in the central IdentifierTable. Rationale: We currently have a separate table to unique ObjC selectors. Since I don't need all the instance data in IdentifierInfo, I thought this would save space (and make more sense conceptually). It turns out the cost of having duplicate entries for unary selectors (i.e. names without colons) outweighs the cost difference between the IdentifierInfo & SelectorInfo structures. Here is the data: Two tables: *** Selector/Identifier Stats: # Selectors/Identifiers: 51635 Bytes allocated: 1999824 One table: *** Identifier Table Stats: # Identifiers: 49500 Bytes allocated: 1990316 llvm-svn: 42139
-