| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
if the return type on an Objective-C method is a CF type reference, not just an Objective-C object reference.
llvm-svn: 74841
|
| |
|
|
| |
llvm-svn: 74816
|
| |
|
|
|
|
| |
No functionality change.
llvm-svn: 74812
|
| |
|
|
|
|
|
| |
Remove ASTContext parameter from DeclContext's methods. This change cascaded down to other Decl's methods and changes to call sites started "escalating".
Timings using pre-tokenized "cocoa.h" showed only a ~1% increase in time run between and after this commit.
llvm-svn: 74506
|
| |
|
|
|
|
|
|
| |
subclasses.
Timings showed no significant difference before and after the commit.
llvm-svn: 74504
|
| |
|
|
|
|
|
|
|
| |
The implementations of these methods can Use Decl::getASTContext() to get the ASTContext.
This commit touches a lot of files since call sites for these methods are everywhere.
I used pre-tokenized "carbon.h" and "cocoa.h" headers to do some timings, and there was no real time difference between before the commit and after it.
llvm-svn: 74501
|
| |
|
|
| |
llvm-svn: 74419
|
| |
|
|
|
|
| |
symbol.
llvm-svn: 74408
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
GRTransferFuncs had the conflated role of both constructing SVals (symbolic
expressions) as well as handling checker-specific logic. Now SValuator has the
role of constructing SVals from expressions and GRTransferFuncs just handles
checker-specific logic. The motivation is by separating these two concepts we
will be able to much more easily create richer constraint-generating logic
without coupling it to the main checker transfer function logic.
We now have one implementation of SValuator: SimpleSValuator.
SimpleSValuator is essentially the SVal-related logic that was in GRSimpleVals
(which is removed in this patch). This includes the logic for EvalBinOp,
EvalCast, etc. Because SValuator has a narrower role than the old
GRTransferFuncs, the interfaces are much simpler, and so is the implementation
of SimpleSValuator compared to GRSimpleVals. I also did a line-by-line review of
SVal-related logic in GRSimpleVals and cleaned it up while moving it over to
SimpleSValuator.
As a consequence of removing GRSimpleVals, there is no longer a
'-checker-simple' option. The '-checker-cfref' did everything that option did
but also ran the retain/release checker. Of course a user may not always wish to
run the retain/release checker, nor do we wish core analysis logic buried in the
checker-specific logic. The next step is to refactor the logic in CFRefCount.cpp
to separate out these pieces into the core analysis engine.
llvm-svn: 74229
|
| |
|
|
| |
llvm-svn: 74136
|
| |
|
|
| |
llvm-svn: 74006
|
| |
|
|
|
|
| |
MemRegion.
llvm-svn: 73973
|
| |
|
|
| |
llvm-svn: 73954
|
| |
|
|
|
|
|
|
| |
- Embed a reference to MemRegionManager objects in MemSpaceRegion objects
- Use this embedded reference for MemRegion objects to access ASTContext objects without external help
- Use this access to ASTContext to simplify 'isBoundable' (no ASTContext& argument required)
llvm-svn: 73935
|
| |
|
|
|
|
| |
GRState->bindXXX and friends (and constify some arguments along the way).
llvm-svn: 73740
|
| |
|
|
|
|
|
|
|
| |
- Remove the 'isFeasible' flag from all uses of 'Assume'.
- Remove the 'Assume' methods from GRStateManager. Now the only way to
create a new GRState with an assumption is to use the new 'assume' methods
in GRState.
llvm-svn: 73731
|
| |
|
|
| |
llvm-svn: 73702
|
| |
|
|
|
|
|
| |
pretty-print a GRState object anywhere it is referenced (instead of
needing a GRStateRef of a GRStateManager handy).
llvm-svn: 73669
|
| |
|
|
| |
llvm-svn: 73667
|
| |
|
|
|
|
| |
misinterpreted by clang scan-build
llvm-svn: 73415
|
| |
|
|
|
|
| |
retain/release checker
llvm-svn: 73411
|
| |
|
|
|
|
| |
Convert tabs to spaces.
llvm-svn: 73198
|
| |
|
|
| |
llvm-svn: 73197
|
| |
|
|
|
|
| |
<rdar://problem/6948053> False positive: object substitution during -init* methods warns about returning +0 when using -fobjc-gc-only
llvm-svn: 72971
|
| |
|
|
|
|
|
| |
for non-Objctive-C pointer types. This implicitly documents that the
return type is a CF object reference.
llvm-svn: 72968
|
| |
|
|
|
|
|
|
|
|
| |
QCRenderer, and CIContext (Apple APIs).
This fixes:
<rdar://problem/6902710> clang: false positives w/QC and CoreImage methods.
llvm-svn: 72187
|
| |
|
|
|
|
| |
aren' at the top-most scope of autorelease pools.
llvm-svn: 72065
|
| |
|
|
|
|
| |
types that cannot be determined to be CF types
llvm-svn: 71921
|
| |
|
|
|
|
| |
selector slot has a null IdentifierInfo*. This happens when analyzing Growl.
llvm-svn: 71857
|
| |
|
|
| |
llvm-svn: 71847
|
| |
|
|
|
|
| |
retained object.
llvm-svn: 71797
|
| |
|
|
|
|
|
|
| |
generation when EvalObjCMessageExpr() did not resolve the
ObjCInterfaceDecl* for a receiver when the receiver's symbolic value
wasn't being explicitly tracked.
llvm-svn: 71685
|
| |
|
|
|
|
| |
autorelease tracking.
llvm-svn: 71647
|
| |
|
|
|
|
|
|
|
| |
owned by caller
Now 'init' methods are treated by the retain/release checker as
claiming their receiver and allocating a new object.
llvm-svn: 71579
|
| |
|
|
|
|
|
|
|
| |
array region, set its default value to conjured symbol. When retrieving its
element, create new region value symbol for the element.
Also fix some 80 columns violations.
llvm-svn: 71548
|
| |
|
|
|
|
|
|
| |
same treatment as CF objects
This was accomplished by having 'isTypeRef' recursively walk the typedef stack.
llvm-svn: 71538
|
| |
|
|
|
|
| |
FieldRegions and ObjCIvarRegions as "base" regions in addition to VarRegions.
llvm-svn: 71488
|
| |
|
|
|
|
| |
extend the lifetime of an object stored to a container.
llvm-svn: 71452
|
| |
|
|
|
|
| |
autorelease]' would emit a false 'too many overreleases' error.
llvm-svn: 71432
|
| |
|
|
|
|
| |
the VarRegion as a super region of an ElementRegion.
llvm-svn: 71431
|
| |
|
|
|
|
| |
is expected.
llvm-svn: 71397
|
| |
|
|
|
|
|
|
| |
where an owned one is expected. Also add preliminary checking for
returning a positive retain count object in GC mode where an owned GC
object is expected.
llvm-svn: 71388
|
| |
|
|
|
|
|
|
| |
- Improve -autorelease diagnostics.
- Improve VLA diagnostics.
- Use "short description" for bug when outputting to TextDiagnostics
llvm-svn: 71383
|
| |
|
|
|
|
| |
TypedRegion::getValueType().
llvm-svn: 71321
|
| |
|
|
| |
llvm-svn: 71309
|
| |
|
|
|
|
| |
'autorelease'.
llvm-svn: 71307
|
| |
|
|
|
|
|
|
|
| |
RValueType => ObjectType
LValueType => LocationType
No functionality change.
llvm-svn: 71304
|
| |
|
|
|
|
| |
now until ready).
llvm-svn: 71303
|
| |
|
|
| |
llvm-svn: 71301
|
| |
|
|
| |
llvm-svn: 71290
|