- Aug 21, 2011
-
-
Jordy Rose authored
llvm-svn: 138215
-
- Aug 20, 2011
-
-
Benjamin Kramer authored
llvm-svn: 138214
-
Jordy Rose authored
[analyzer] RetainReleaseChecker always wants region change updates. There's no need for a flag, at least not right now. llvm-svn: 138212
-
Jordy Rose authored
llvm-svn: 138211
-
Jordy Rose authored
[analyzer] Move handling of hardcoded noreturn ("panic") methods from CFRefCount to NoReturnFunctionChecker. No functionality change intended. llvm-svn: 138210
-
Chad Rosier authored
llvm-svn: 138200
-
Ted Kremenek authored
[analyzer] Handle reads of ObjCPropertyRefExprs implicitly in Environment. No need to bind an explicit value and create a new node. llvm-svn: 138196
-
Ted Kremenek authored
[analyzer] Simplify ExprEngine::VisitBinaryOperator() by removing recursive visit to subexpressions (which is no longer needed). llvm-svn: 138195
-
Ted Kremenek authored
of the analysis (e.g., analysis of C expressions, analysis of Objective-C expressions, and so on). llvm-svn: 138194
-
Ted Kremenek authored
llvm-svn: 138193
-
Douglas Gregor authored
different modules) more robust. It already handled (simple) merges of the set of declarations attached to that identifier, so add a test case that shows us getting two different declarations for the same identifier (one struct, one function) from different modules, and are able to use both of them. llvm-svn: 138189
-
Douglas Gregor authored
llvm-svn: 138188
-
Douglas Gregor authored
modules (those that no other module depends on) and performs a search over all of the modules, visiting a new module only when all of the modules that depend on it have already been visited. The visitor can abort the search for all modules that a module depends on, which allows us to minimize the number of lookups necessary when performing a search. Switch identifier lookup from a linear walk over the set of modules to this module visitation operation. The behavior is the same for simple PCH and chained PCH, but provides the proper search order for modules. Verified with printf debugging, since we don't have enough in place to actually test this. llvm-svn: 138187
-
Anna Zaks authored
Static Analyzer Diagnostics: Move the responsibility for generating the endOfPath diagnostic piece from BugReport to BugReporterVisitor. Switch CFRefCount to use visitors in order to generate the endOfPath piece. llvm-svn: 138184
-
Ted Kremenek authored
llvm-svn: 138183
-
Anna Zaks authored
Static Analyzer Diagnostics: Switch CFRefCount to using the new visitor API. BugReport no longer needs to inherit from BugReporterVisitor. llvm-svn: 138142
-
Argyrios Kyrtzidis authored
for tokens that are lexed consecutively from the same FileID, instead of creating a SLocEntry for each token. e.g for assert(foo == bar); there will be a single SLocEntry for the "foo == bar" chunk and locations for the 'foo', '==', 'bar' tokens will point inside that chunk. For parsing SemaExpr.cpp, this reduced the number of SLocEntries by 25%. llvm-svn: 138129
-
Argyrios Kyrtzidis authored
Rename TokenLexer::getMacroExpansionLocation -> getExpansionLocForMacroDefLoc, no functionality change. llvm-svn: 138128
-
Argyrios Kyrtzidis authored
llvm-svn: 138127
-
Anna Zaks authored
Static Analyzer Diagnostics: Kill the addVisitorCreator(callbackTy, void*) API in favor of addVisitor(BugReporterVisitor*). 1) Create a header file to expose the predefined visitors. And move the parent(BugReporterVisitor) there as well. 2) Remove the registerXXXVisitor functions - the Visitor constructors/getters can be used now to create the object. One exception is registerVarDeclsLastStore(), which registers more then one visitor, so make it static member of FindLastStoreBRVisitor. 3) Modify all the checkers to use the new API. llvm-svn: 138126
-
- Aug 19, 2011
-
-
Douglas Gregor authored
llvm-svn: 138079
-
Matt Beaumont-Gay authored
llvm-svn: 138074
-
Fariborz Jahanian authored
specified. // rdar://9971982 llvm-svn: 138062
-
Fariborz Jahanian authored
llvm-svn: 138049
-
Fariborz Jahanian authored
to modernity. Instead of passing down individual context objects from parser to sema, establish decl context in parser and have sema access current context as needed. I still need to take of Doug's comment for minor cleanups. llvm-svn: 138040
-
Benjamin Kramer authored
llvm-svn: 138032
-
Craig Topper authored
llvm-svn: 138031
-
Douglas Gregor authored
has already been loaded before allocating a new Module structure. If the module has already been loaded (uniquing based on file name), then just return the existing module rather than trying to load it again. This allows us to load a DAG of modules. Introduce a simple test case that forms a diamond-shaped module graph, and illustrates that a source file importing the bottom of the diamond can see declarations in all four of the modules that make up the diamond. Note that this version moves the file-opening logic into the module manager, rather than splitting it between the module manager and the AST reader. More importantly, it properly handles the weird-but-possibly-useful case of loading an AST file from "-". llvm-svn: 138030
-
Anna Zaks authored
Fix a memory leak in the analyzer - BugReports didn't get freed. Plus, remove invalid assert from the destructor which wasn't called previously due to the leak. llvm-svn: 138027
-
Chandler Carruth authored
llvm-svn: 138024
-
Chandler Carruth authored
llvm-svn: 138023
-
Eric Christopher authored
when falling back to cc1plus for our compile. rdar://9963920 llvm-svn: 138017
-
Ted Kremenek authored
Enhance -Wstrl-incorrect-size to not report a FIXIT for destinations that are flexible arrays or have size 1. llvm-svn: 138004
-
Anna Zaks authored
One API change: I added BugReporter as an additional parameter to the BugReporterVisitor::VisitNode() method to allow visitors register other visitors with the report on the fly (while processing a node). This functionality is used by NilReceiverVisitor, which registers TrackNullOrUndefValue when the receiver is null. llvm-svn: 138001
-
- Aug 18, 2011
-
-
Kaelyn Uhrain authored
uncorrected identifier. Fixes a problem pointed out by Eli. llvm-svn: 137987
-
Ted Kremenek authored
Reapply r137903, but fix the definition of size_t in the test case to use __SIZE_TYPE__ (and hence be portable). Also, change the warning to -Wstrl-incorrect-size. llvm-svn: 137980
-
Argyrios Kyrtzidis authored
llvm-svn: 137973
-
Chad Rosier authored
Teach ModuleManager::addModule() to check whether a particular module has already been loaded before allocating a new Module structure. If the module has already been loaded (uniquing based on file name), then just return the existing module rather than trying to load it again. This allows us to load a DAG of modules. Introduce a simple test case that forms a diamond-shaped module graph, and illustrates that a source file importing the bottom of the diamond can see declarations in all four of the modules that make up the diamond. llvm-svn: 137971
-
Kaelyn Uhrain authored
diagnosing invalid function redeclarations. llvm-svn: 137966
-
Chad Rosier authored
llvm-svn: 137958
-