summaryrefslogtreecommitdiffstats
path: root/clang/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* Whitespace.Eric Christopher2011-08-231-45/+45
| | | | llvm-svn: 138404
* Refactor and fix checking for initialization of flexible array members. The ↵Eli Friedman2011-08-232-45/+45
| | | | | | | | old version had the checks scattered across the code, missed some checks, and had a couple nasty bugs in existing checks. Fixes PR10648 and another similar accepts-invalid bug. llvm-svn: 138398
* [analyzer] Clean up unused bits of CFRefCount.Jordy Rose2011-08-231-11/+1
| | | | llvm-svn: 138390
* [analyzer] Make CFRefBug and CFRefReportVisitor not dependent on CFRefCount. ↵Jordy Rose2011-08-231-89/+69
| | | | | | Unfortunately, CFRefReport still is. No functionality change. llvm-svn: 138388
* [analyzer] Cleanup: Move temporary declarations of CFRefCount variables ↵Jordy Rose2011-08-231-13/+11
| | | | | | closer to their uses. No functionality change. llvm-svn: 138382
* Remove one SourceManager::isInFileID overload and use isOffsetInFileID for ↵Argyrios Kyrtzidis2011-08-231-24/+0
| | | | | | the other. llvm-svn: 138381
* Amend r138129 (reduction of SLocEntries) which introduced performance ↵Argyrios Kyrtzidis2011-08-232-19/+48
| | | | | | | | | | | | | | | | | | | | | | regression due to increased calls to SourceManager::getFileID. (rdar://9992664) Use a slightly different approach that is more efficient both in terms of speed (no extra getFileID calls) and in SLocEntries reduction. Comparing pre-r138129 and this patch we get: For compiling SemaExpr.cpp reduction of SLocEntries by 26%. For the boost enum library: -SLocEntries -34% (note that this was -5% for r138129) -Memory consumption -50% -PCH size -31% Reduced SLocEntries also benefit the hot function SourceManager::getFileID, evident by the reduced "FileID scans". llvm-svn: 138380
* Introduce SourceManager::isInSLocAddrSpace and use it in TokenLexer instead ↵Argyrios Kyrtzidis2011-08-231-12/+9
| | | | | | | | of isInFileID since it is a bit more efficient. llvm-svn: 138379
* Rename SourceManager::isBeforeInSourceLocationOffset -> isBeforeInSLocAddrSpace.Argyrios Kyrtzidis2011-08-231-2/+1
| | | | llvm-svn: 138378
* TokenLexer::getExpansionLocForMacroDefLoc doesn't need to return an invalid ↵Argyrios Kyrtzidis2011-08-231-29/+16
| | | | | | SourceLocation. llvm-svn: 138377
* In Lexer::isAtEndOfMacroExpansion use SourceManager::isInFileID and avoidArgyrios Kyrtzidis2011-08-231-5/+3
| | | | | | the extra SourceManager::getFileID call. llvm-svn: 138376
* Move a couple of SourceManager functions out-of-line; no functionality change.Argyrios Kyrtzidis2011-08-231-0/+43
| | | | llvm-svn: 138375
* [analyzer] Move function retain-count effect summary log from CFRefCount to ↵Jordy Rose2011-08-231-32/+30
| | | | | | RetainReleaseChecker, and then explicitly provide the summary log when creating CFRefReports. No functionality change. llvm-svn: 138374
* Fix regression in -Wuninitialized involving VLAs. It turns out that we were ↵Ted Kremenek2011-08-232-32/+2
| | | | | | | | | | | modeling sizeof(VLAs) incorrectly in the CFG, and also the static analyzer. This patch regresses the analyzer a bit, but that needs to be followed up with a better solution. Fixes <rdar://problem/10008112>. llvm-svn: 138372
* [analyzer] Move helper method Update from CFRefCount to ↵Jordy Rose2011-08-231-147/+155
| | | | | | RetainReleaseChecker. No functionality change. llvm-svn: 138370
* Cleanup to use helper.Eli Friedman2011-08-231-1/+1
| | | | llvm-svn: 138369
* Remove function parameter which always used the default value.Eli Friedman2011-08-231-6/+3
| | | | llvm-svn: 138368
* [analyzer] Move helper method handleAutoreleaseCounts from CFRefCount to ↵Jordy Rose2011-08-231-104/+84
| | | | | | RetainReleaseChecker. No functionality change. llvm-svn: 138365
* [analyzer] Move ReturnStmt retain-count analysis from CFRefCount to ↵Jordy Rose2011-08-231-186/+182
| | | | | | RetainReleaseChecker. Tweak CFRefReport to reflect that fact that ReturnStmt checks are pre-statement, not post-statement. No intended functionality change. llvm-svn: 138358
* [analyzer] Move symbol death leak analysis from CFRefCount to ↵Jordy Rose2011-08-232-167/+179
| | | | | | RetainReleaseChecker. llvm-svn: 138353
* Thread-safety analysis: adding in a basic lockset tracking system. ThisCaitlin Sadowski2011-08-232-50/+676
| | | | | | | | | | | | | | | | system flags an error when unlocking a lock which was not held, locking the same lock twice, having a different lockset on each iteration of a loop, or going out of scope while still holding a lock. In order to successfully use the lockset, this patch also makes sure that attribute arguments are attached correctly for later parsing. This patch was also worked on by DeLesley Hutchins. Note: This patch has been reviewed by Chandler Carruth and Jeffrey Yasskin. Feel free to provide post-commit review comments for a subsequent patch. llvm-svn: 138350
* Add support for a verifier to the driver. Currently only verifies debugEric Christopher2011-08-235-9/+73
| | | | | | | | | | | output on darwin so is hard coded there. As a note this will need a little bit of refactoring in the class hierarchy to separate it out for different verifiers based on input type. Fixes rdar://8256258. llvm-svn: 138343
* checking for __block variable captured by givenFariborz Jahanian2011-08-231-2/+9
| | | | | | | stmt expression, recursively walk down all substatements of the stmt expression. // rdar://10001085 llvm-svn: 138334
* enable -fstack-protector on 10.5 for usermode binaries by default.Nico Weber2011-08-232-5/+10
| | | | | | This matches gcc's behavior. llvm-svn: 138324
* [analyzer] Only allocate retain summaries for interesting ↵Jordy Rose2011-08-231-43/+71
| | | | | | functions/messages. This is a minor saving of memory but doesn't seem to cost any performance. llvm-svn: 138320
* Fix an incorrect note.Matt Beaumont-Gay2011-08-231-1/+1
| | | | | | | | For the test case added to function-redecl.cpp, we were previously complaining about a mismatch in the parameter types, since the definition used the typedef'd type. llvm-svn: 138318
* block IRgen - Fixes a crash when determining if given block variableFariborz Jahanian2011-08-231-0/+3
| | | | | | is captured by a given statement expression. // rdar://10001085 llvm-svn: 138314
* [analyzer] Rename CFRefCount's evalSummary method to evalCallOrMessage, ↵Jordy Rose2011-08-231-54/+21
| | | | | | since it no longer, uh, evaluates call summaries. llvm-svn: 138313
* Make sure we don't inline functions marked with __attribute__((naked)). ↵Eli Friedman2011-08-221-4/+9
| | | | | | <rdar://problem/9973228> llvm-svn: 138310
* [analyzer] Migrate the handling of retain-count-related RetEffects and ↵Jordy Rose2011-08-221-211/+292
| | | | | | ArgEffects from CFRefCount to RetainReleaseChecker. No intended functionality change. llvm-svn: 138309
* [analyzer] MacOSKeychainAPIChecker: Users of KeyChain API often use free() ↵Anna Zaks2011-08-221-10/+18
| | | | | | to deallocate the password. Catch this error explicitly and generate the error message at the place where free() is called. llvm-svn: 138296
* objc refactoring - minor clean up.Fariborz Jahanian2011-08-221-12/+8
| | | | llvm-svn: 138276
* Static Analyzer Diagnostics: Allow checkers to add ExtraDescriptiveText, now ↵Anna Zaks2011-08-222-24/+31
| | | | | | renamed into ExtraText, to the diagnostic without subclassing BugReport. llvm-svn: 138272
* objc - use existing API for temporary switch ofFariborz Jahanian2011-08-221-5/+2
| | | | | | objc's decl context. llvm-svn: 138267
* Do not perform check for missing '[super dealloc]' under ARC as calling ↵Ted Kremenek2011-08-221-1/+3
| | | | | | -dealloc is illegal in that mode. llvm-svn: 138261
* Clean up the CFRefBugReport - remove the members, which got moved to the ↵Anna Zaks2011-08-221-13/+5
| | | | | | CFRefReportVisitors. llvm-svn: 138259
* Don't warn on varaidic macros in C++0x mode.Eli Friedman2011-08-221-2/+2
| | | | llvm-svn: 138257
* objc - minor comment fix up and cleanup.Fariborz Jahanian2011-08-222-3/+3
| | | | llvm-svn: 138253
* objc - Simplify switing objc decl context by usingFariborz Jahanian2011-08-224-50/+18
| | | | | | a context switching object. llvm-svn: 138248
* Warn on missing [super dealloc] calls.Nico Weber2011-08-224-3/+22
| | | | | | This matches gcc's logic. Half of PR10661. llvm-svn: 138240
* Fix a crash-on-valid that has been here for a very long time:Chandler Carruth2011-08-221-2/+9
| | | | | | | | | | | | | | | const int &x = x; This crashed by inifinetly recursing within the lvalue evaluation routine. I've added a (somewhat) braindead way of preventing this recursion. If folks have better suggestions for how to avoid it I'm all ears. That said, we have some work to do. This doesn't trigger a single warning for uninitialized, self-initialized or otherwise completely wrong code. In some senses, the crash was almost better. llvm-svn: 138239
* Fix a bug in objc @encoding of C++ classes.Argyrios Kyrtzidis2011-08-221-1/+3
| | | | llvm-svn: 138235
* Restore patch I reversed in r138040. Known buildbotFariborz Jahanian2011-08-229-119/+185
| | | | | | failures are resolved. llvm-svn: 138234
* Boost the efficiency of SourceManager::getMacroArgExpandedLocation.Argyrios Kyrtzidis2011-08-215-41/+126
| | | | | | | | | | | | | | | | | | Currently getMacroArgExpandedLocation is very inefficient and for the case of a location pointing at the main file it will end up checking almost all of the SLocEntries. Make it faster: -Use a map of macro argument chunks to their expanded source location. The map is for a single source file, it's stored in the file's ContentCache and lazily computed, like the source lines cache. -In SLocEntry's FileInfo add an 'unsigned NumCreatedFIDs' field that keeps track of the number of FileIDs (files and macros) that were created during preprocessing of that particular file SLocEntry. This is useful when computing the macro argument map in skipping included files while scanning for macro arg FileIDs that lexed from a specific source file. Due to padding, the new field does not increase the size of SLocEntry. llvm-svn: 138225
* [analyzer] Migrate the aliasing effects of CFRetain and CFMakeCollectable ↵Jordy Rose2011-08-211-46/+94
| | | | | | from CFRefCount to RetainReleaseChecker. No intended functionality change. llvm-svn: 138223
* [analyzer] Remove FIXME; Ted reminded me that -init is not guaranteed to ↵Jordy Rose2011-08-211-1/+0
| | | | | | return its receiver and pretending that it does won't actually buy us anything. (Comment change only.) llvm-svn: 138221
* [analyzer] Migrate return value handling from CFRefCount to ExprEngine. This ↵Jordy Rose2011-08-213-67/+98
| | | | | | seems to result in a minor performance hit, but I think that will go away again once we eliminate TransferFuncs from function calls entirely. llvm-svn: 138220
* [analyzer] Replace calls to getNameAsString() with StringRef equivalents.Jordy Rose2011-08-214-16/+15
| | | | llvm-svn: 138215
* Fix compile on platforms that don't implicitly include stdarg.h here.Benjamin Kramer2011-08-201-1/+1
| | | | llvm-svn: 138214
* [analyzer] RetainReleaseChecker always wants region change updates. There's ↵Jordy Rose2011-08-201-6/+2
| | | | | | no need for a flag, at least not right now. llvm-svn: 138212
OpenPOWER on IntegriCloud