| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
llvm-svn: 138404
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 138390
|
|
|
|
|
|
| |
Unfortunately, CFRefReport still is. No functionality change.
llvm-svn: 138388
|
|
|
|
|
|
| |
closer to their uses. No functionality change.
llvm-svn: 138382
|
|
|
|
|
|
| |
the other.
llvm-svn: 138381
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
of isInFileID
since it is a bit more efficient.
llvm-svn: 138379
|
|
|
|
| |
llvm-svn: 138378
|
|
|
|
|
|
| |
SourceLocation.
llvm-svn: 138377
|
|
|
|
|
|
| |
the extra SourceManager::getFileID call.
llvm-svn: 138376
|
|
|
|
| |
llvm-svn: 138375
|
|
|
|
|
|
| |
RetainReleaseChecker, and then explicitly provide the summary log when creating CFRefReports. No functionality change.
llvm-svn: 138374
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
RetainReleaseChecker. No functionality change.
llvm-svn: 138370
|
|
|
|
| |
llvm-svn: 138369
|
|
|
|
| |
llvm-svn: 138368
|
|
|
|
|
|
| |
RetainReleaseChecker. No functionality change.
llvm-svn: 138365
|
|
|
|
|
|
| |
RetainReleaseChecker. Tweak CFRefReport to reflect that fact that ReturnStmt checks are pre-statement, not post-statement. No intended functionality change.
llvm-svn: 138358
|
|
|
|
|
|
| |
RetainReleaseChecker.
llvm-svn: 138353
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
stmt expression, recursively walk down all substatements
of the stmt expression. // rdar://10001085
llvm-svn: 138334
|
|
|
|
|
|
| |
This matches gcc's behavior.
llvm-svn: 138324
|
|
|
|
|
|
| |
functions/messages. This is a minor saving of memory but doesn't seem to cost any performance.
llvm-svn: 138320
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
is captured by a given statement expression. // rdar://10001085
llvm-svn: 138314
|
|
|
|
|
|
| |
since it no longer, uh, evaluates call summaries.
llvm-svn: 138313
|
|
|
|
|
|
| |
<rdar://problem/9973228>
llvm-svn: 138310
|
|
|
|
|
|
| |
ArgEffects from CFRefCount to RetainReleaseChecker. No intended functionality change.
llvm-svn: 138309
|
|
|
|
|
|
| |
to deallocate the password. Catch this error explicitly and generate the error message at the place where free() is called.
llvm-svn: 138296
|
|
|
|
| |
llvm-svn: 138276
|
|
|
|
|
|
| |
renamed into ExtraText, to the diagnostic without subclassing BugReport.
llvm-svn: 138272
|
|
|
|
|
|
| |
objc's decl context.
llvm-svn: 138267
|
|
|
|
|
|
| |
-dealloc is illegal in that mode.
llvm-svn: 138261
|
|
|
|
|
|
| |
CFRefReportVisitors.
llvm-svn: 138259
|
|
|
|
| |
llvm-svn: 138257
|
|
|
|
| |
llvm-svn: 138253
|
|
|
|
|
|
| |
a context switching object.
llvm-svn: 138248
|
|
|
|
|
|
| |
This matches gcc's logic. Half of PR10661.
llvm-svn: 138240
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 138235
|
|
|
|
|
|
| |
failures are resolved.
llvm-svn: 138234
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
from CFRefCount to RetainReleaseChecker. No intended functionality change.
llvm-svn: 138223
|
|
|
|
|
|
| |
return its receiver and pretending that it does won't actually buy us anything. (Comment change only.)
llvm-svn: 138221
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 138215
|
|
|
|
| |
llvm-svn: 138214
|
|
|
|
|
|
| |
no need for a flag, at least not right now.
llvm-svn: 138212
|