| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
llvm-svn: 163515
|
|
|
|
|
|
|
|
|
| |
I need to see how this breaks on other platforms when I fix the issue
that Benjamin Kramer pointed out.
This includes r163489 and r163490, plus a two line change.
llvm-svn: 163512
|
|
|
|
|
|
|
| |
r163489, "Take another crack at stabilizing the emission order of analyzer"
r163490, "Use isBeforeInTranslationUnitThan() instead of operator<."
llvm-svn: 163497
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
diagnostics without using FoldingSetNodeIDs. This is done
by doing a complete recursive comparison of the PathDiagnostics.
Note that the previous method of comparing FoldingSetNodeIDs did
not end up relying on unstable things such as pointer addresses, so
I suspect this may still have some issues on various buildbots because
I'm not sure if the true source of non-determinism has been eliminated.
The tests pass for me, so the only way to know is to commit this change
and see what happens.
llvm-svn: 163489
|
|
|
|
|
|
| |
fixes the buildbots.
llvm-svn: 163462
|
|
|
|
|
|
|
| |
PathDiagnosticEventPieces were *always* pruned. Instead, they
are suppose to only be pruned if the entire call gets pruned.
llvm-svn: 163460
|
|
|
|
|
|
|
| |
of the analyzer by using the FullProfile() of a PathDiagnostic
for ordering them.
llvm-svn: 163455
|
|
|
|
| |
llvm-svn: 163447
|
|
|
|
| |
llvm-svn: 163446
|
|
|
|
|
|
| |
looking at PathPieces.
llvm-svn: 163427
|
|
|
|
| |
llvm-svn: 163418
|
|
|
|
|
|
| |
Apparently the output of this test is not deterministic. Needs investigation.
llvm-svn: 163377
|
|
|
|
|
|
|
|
|
|
| |
of the analyzer, as the RetainReleaseChecker has many fine-grain
path diagnostic events that were not being checked. This uncovered
an inconsistency between the path diagnostics between Objective-C
and Objective-C++ code in ConditionBRVisitor that was fixed in a recent
patch.
llvm-svn: 163373
|
|
|
|
|
|
|
|
| |
return a CF object at all.
Fixes <rdar://problem/9566345>
llvm-svn: 163362
|
|
|
|
|
|
|
|
| |
via function/method with [CF,NS]_RETURNS_NOT_RETAINED.
Fixes <rdar://problem/11379000>.
llvm-svn: 163355
|
|
|
|
|
|
|
| |
There are two tests regressions that come from the fact that the Retain
Count checker does not cancel out inlining of ObjC methods.
llvm-svn: 162950
|
|
|
|
| |
llvm-svn: 162934
|
|
|
|
|
|
|
|
| |
Under GC, a release message is ignored, so "release and stop tracking" just
becomes "stop tracking". But CFRelease is still honored. This is the main
difference between ns_consumed and cf_consumed.
llvm-svn: 162234
|
|
|
|
|
|
|
|
|
| |
This is used to handle functions and methods that consume an argument
(annotated with the ns_consumed or cf_consumed attribute), but then the
argument's retain count may be further modified in a callback. We want
to warn about over-releasing, but we can't really track the object afterwards.
llvm-svn: 162221
|
|
|
|
|
|
|
| |
This is an additional test for r161349 (ignoring 10.8's annotations for
NSMakeCollectable).
llvm-svn: 161380
|
|
|
|
| |
llvm-svn: 159001
|
|
|
|
| |
llvm-svn: 157833
|
|
|
|
|
|
| |
to the declaration in this patch. // rdar://10893232
llvm-svn: 157537
|
|
|
|
| |
llvm-svn: 156699
|
|
|
|
| |
llvm-svn: 156481
|
|
|
|
|
|
| |
references (thus extending their lifetime).
llvm-svn: 156346
|
|
|
|
|
|
| |
Fixes radar://10973977.
llvm-svn: 156215
|
|
|
|
|
|
| |
warning.
llvm-svn: 155966
|
|
|
|
|
|
| |
pthread_setspecific and it should just give up when it sees it. Fixes <rdar://problem/11282706>.
llvm-svn: 155613
|
|
|
|
|
|
|
|
|
| |
root class is intentionally declared.
The warning this inhibits, -Wobjc-root-class, is opt-in for now. However, all clang unit tests that would trigger
the warning have been updated to use -Wno-objc-root-class. <rdar://problem/7446698>
llvm-svn: 154187
|
|
|
|
|
|
|
|
|
|
|
|
| |
assigned to a struct. This is fallout from inlining results, which expose
far more patterns where people stuff CF objects into structs and pass them
around (and we can reason about it). The problem is that we don't have
a general way to detect when values have escaped, so as an intermediate step
we need to eagerly prune out such tracking.
Fixes <rdar://problem/11104566>.
llvm-svn: 153489
|
|
|
|
|
|
| |
annotations. Fixes <rdar://problem/10824732>.
llvm-svn: 152448
|
|
|
|
| |
llvm-svn: 152139
|
|
|
|
|
|
| |
message.
llvm-svn: 151657
|
|
|
|
|
|
| |
<rdar://problem/10640253>.
llvm-svn: 150892
|
|
|
|
| |
llvm-svn: 147506
|
|
|
|
|
|
| |
used when they were meant to be. Fixes <rdar://problem/10241614>.
llvm-svn: 141250
|
|
|
|
|
|
|
|
| |
range and add asserts to check validity of locations early on. Ignore invalid ranges in PathDiagnosticPiece (they could be added by checker writers).
Addresses radar://10124836 and radar://radar10102244.
llvm-svn: 140218
|
|
|
|
|
|
|
|
|
|
| |
current analysis from CFRefCount to ExprEngine.
Remove TransferFuncs from ExprEngine and AnalysisConsumer.
Demote RetainReleaseChecker to a regular checker, and give it the name osx.cocoa.RetainCount (class name change coming shortly). Update tests accordingly.
llvm-svn: 138998
|
|
|
|
|
|
| |
driver. Also remove associated tests. Sorry for the messy commits; this is the result of a botched Git merge.
llvm-svn: 136422
|
|
|
|
|
|
|
|
|
|
|
|
| |
be linearized only when used by the static analyzer. This required a rewrite of LiveVariables, and exposed a ton of subtle bugs.
The motivation of this large change is to drastically simplify the logic in ExprEngine going forward.
Some fallout is that the output of some BugReporterVisitors is not as accurate as before; those will
need to be fixed over time. There is also some possible performance regression as RemoveDeadBindings
will be called frequently; this can also be improved over time.
llvm-svn: 136419
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
methods, including indirectly overridden methods like those
declared in protocols and categories. There are mismatches
that we would like to diagnose but aren't yet, but this
is fine for now.
I looked at approaches that avoided doing this lookup
unless we needed it, but the infer-related-result-type
checks were doing it anyway, so I left it with the same
fast-path check for no previous declartions of that
selector.
llvm-svn: 135743
|
|
|
|
|
|
| |
to extend to camel case functions instead of just title case functions. Fixes <rdar://problem/9732321>.
llvm-svn: 135350
|
|
|
|
| |
llvm-svn: 135317
|
|
|
|
|
|
|
| |
obey the objc_method_family attribute when provided. Fixes
<rdar://problem/9726279>.
llvm-svn: 134493
|
|
|
|
|
|
| |
reason to allow the user to control these semantics through a flag.
llvm-svn: 132919
|
|
|
|
|
|
| |
types do not follow the Core Foundation naming conventions.
llvm-svn: 132048
|
|
|
|
|
|
| |
arguments to C++ constructors. This is a stop-gap measure for Objective-C++ code that uses smart pointers to manage reference counts.
llvm-svn: 130711
|
|
|
|
|
|
| |
checker in Objective-C++ mode.
llvm-svn: 130559
|
|
|
|
|
|
|
| |
be sure to consume the argument index that actually had the attribute
rather than always the first. rdar://problem/9234108
llvm-svn: 128998
|