r362020 - [analyzer] ConditionBRVisitor: Enhance to write out more information
Csaba Dabis via cfe-commits
cfe-commits at lists.llvm.org
Wed May 29 13:06:10 PDT 2019
Author: charusso
Date: Wed May 29 13:06:09 2019
New Revision: 362020
URL: http://llvm.org/viewvc/llvm-project?rev=362020&view=rev
Log:
[analyzer] ConditionBRVisitor: Enhance to write out more information
Summary:
Add extra messages to the bug report to inform the user why the analyzer
`Taking true/false branch`.
Reviewers: NoQ, george.karpenkov
Reviewed By: NoQ
Subscribers: gerazo, gsd, dkrupp, whisperity, baloghadamsoftware, xazax.hun,
eraman, szepet, a.sidorin, mikhail.ramalho, Szelethus,
donat.nagy, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D53076
Modified:
cfe/trunk/include/clang/StaticAnalyzer/Core/BugReporter/BugReporterVisitors.h
cfe/trunk/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp
cfe/trunk/test/Analysis/Inputs/expected-plists/NewDelete-path-notes.cpp.plist
cfe/trunk/test/Analysis/Inputs/expected-plists/cxx-for-range.cpp.plist
cfe/trunk/test/Analysis/Inputs/expected-plists/edges-new.mm.plist
cfe/trunk/test/Analysis/Inputs/expected-plists/inline-plist.c.plist
cfe/trunk/test/Analysis/Inputs/expected-plists/objc-radar17039661.m.plist
cfe/trunk/test/Analysis/Inputs/expected-plists/plist-macros-with-expansion.cpp.plist
cfe/trunk/test/Analysis/Inputs/expected-plists/plist-macros.cpp.plist
cfe/trunk/test/Analysis/Inputs/expected-plists/plist-output.m.plist
cfe/trunk/test/Analysis/Inputs/expected-plists/retain-release.m.objc.plist
cfe/trunk/test/Analysis/Inputs/expected-plists/retain-release.m.objcpp.plist
cfe/trunk/test/Analysis/NewDelete-path-notes.cpp
cfe/trunk/test/Analysis/diagnostics/no-store-func-path-notes.c
cfe/trunk/test/Analysis/diagnostics/no-store-func-path-notes.cpp
cfe/trunk/test/Analysis/diagnostics/no-store-func-path-notes.m
cfe/trunk/test/Analysis/inline-plist.c
cfe/trunk/test/Analysis/osobject-retain-release.cpp
cfe/trunk/test/Analysis/use-after-move.cpp
cfe/trunk/test/Analysis/virtualcall.cpp
Modified: cfe/trunk/include/clang/StaticAnalyzer/Core/BugReporter/BugReporterVisitors.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/StaticAnalyzer/Core/BugReporter/BugReporterVisitors.h?rev=362020&r1=362019&r2=362020&view=diff
==============================================================================
--- cfe/trunk/include/clang/StaticAnalyzer/Core/BugReporter/BugReporterVisitors.h (original)
+++ cfe/trunk/include/clang/StaticAnalyzer/Core/BugReporter/BugReporterVisitors.h Wed May 29 13:06:09 2019
@@ -189,22 +189,23 @@ public:
BugReporterContext &BRC);
std::shared_ptr<PathDiagnosticPiece>
- VisitTrueTest(const Expr *Cond, bool tookTrue, BugReporterContext &BRC,
- BugReport &R, const ExplodedNode *N);
+ VisitTrueTest(const Expr *Cond, BugReporterContext &BRC, BugReport &R,
+ const ExplodedNode *N, bool TookTrue);
std::shared_ptr<PathDiagnosticPiece>
- VisitTrueTest(const Expr *Cond, const DeclRefExpr *DR, const bool tookTrue,
- BugReporterContext &BRC, BugReport &R, const ExplodedNode *N);
+ VisitTrueTest(const Expr *Cond, const DeclRefExpr *DR,
+ BugReporterContext &BRC, BugReport &R, const ExplodedNode *N,
+ bool TookTrue, bool IsAssuming);
std::shared_ptr<PathDiagnosticPiece>
VisitTrueTest(const Expr *Cond, const BinaryOperator *BExpr,
- const bool tookTrue, BugReporterContext &BRC, BugReport &R,
- const ExplodedNode *N);
+ BugReporterContext &BRC, BugReport &R, const ExplodedNode *N,
+ bool TookTrue, bool IsAssuming);
std::shared_ptr<PathDiagnosticPiece>
VisitConditionVariable(StringRef LhsString, const Expr *CondVarExpr,
- const bool tookTrue, BugReporterContext &BRC,
- BugReport &R, const ExplodedNode *N);
+ BugReporterContext &BRC, BugReport &R,
+ const ExplodedNode *N, bool TookTrue);
bool patternMatch(const Expr *Ex,
const Expr *ParentEx,
Modified: cfe/trunk/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp?rev=362020&r1=362019&r2=362020&view=diff
==============================================================================
--- cfe/trunk/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp (original)
+++ cfe/trunk/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp Wed May 29 13:06:09 2019
@@ -179,6 +179,23 @@ static bool hasVisibleUpdate(const Explo
RLCV->getStore() == RightNode->getState()->getStore();
}
+static Optional<const llvm::APSInt *>
+getConcreteIntegerValue(const Expr *CondVarExpr, const ExplodedNode *N) {
+ ProgramStateRef State = N->getState();
+ const LocationContext *LCtx = N->getLocationContext();
+
+ // The declaration of the value may rely on a pointer so take its l-value.
+ if (const auto *DRE = dyn_cast_or_null<DeclRefExpr>(CondVarExpr)) {
+ if (const auto *VD = dyn_cast_or_null<VarDecl>(DRE->getDecl())) {
+ SVal DeclSVal = State->getSVal(State->getLValue(VD, LCtx));
+ if (auto DeclCI = DeclSVal.getAs<nonloc::ConcreteInt>())
+ return &DeclCI->getValue();
+ }
+ }
+
+ return {};
+}
+
//===----------------------------------------------------------------------===//
// Definitions for bug reporter visitors.
//===----------------------------------------------------------------------===//
@@ -1846,30 +1863,36 @@ ConditionBRVisitor::VisitNode(const Expl
std::shared_ptr<PathDiagnosticPiece>
ConditionBRVisitor::VisitNodeImpl(const ExplodedNode *N,
BugReporterContext &BRC, BugReport &BR) {
- ProgramPoint progPoint = N->getLocation();
+ ProgramPoint ProgPoint = N->getLocation();
+ const std::pair<const ProgramPointTag *, const ProgramPointTag *> &Tags =
+ ExprEngine::geteagerlyAssumeBinOpBifurcationTags();
// If an assumption was made on a branch, it should be caught
// here by looking at the state transition.
- if (Optional<BlockEdge> BE = progPoint.getAs<BlockEdge>()) {
- const CFGBlock *srcBlk = BE->getSrc();
- if (const Stmt *term = srcBlk->getTerminatorStmt())
- return VisitTerminator(term, N, srcBlk, BE->getDst(), BR, BRC);
+ if (Optional<BlockEdge> BE = ProgPoint.getAs<BlockEdge>()) {
+ const CFGBlock *SrcBlock = BE->getSrc();
+ if (const Stmt *Term = SrcBlock->getTerminatorStmt()) {
+ // If the tag of the previous node is 'Eagerly Assume...' the current
+ // 'BlockEdge' has the same constraint information. We do not want to
+ // report the value as it is just an assumption on the predecessor node
+ // which will be caught in the next VisitNode() iteration as a 'PostStmt'.
+ const ProgramPointTag *PreviousNodeTag =
+ N->getFirstPred()->getLocation().getTag();
+ if (PreviousNodeTag == Tags.first || PreviousNodeTag == Tags.second)
+ return nullptr;
+
+ return VisitTerminator(Term, N, SrcBlock, BE->getDst(), BR, BRC);
+ }
return nullptr;
}
- if (Optional<PostStmt> PS = progPoint.getAs<PostStmt>()) {
- const std::pair<const ProgramPointTag *, const ProgramPointTag *> &tags =
- ExprEngine::geteagerlyAssumeBinOpBifurcationTags();
-
- const ProgramPointTag *tag = PS->getTag();
- if (tag == tags.first)
- return VisitTrueTest(cast<Expr>(PS->getStmt()), true,
- BRC, BR, N);
- if (tag == tags.second)
- return VisitTrueTest(cast<Expr>(PS->getStmt()), false,
- BRC, BR, N);
+ if (Optional<PostStmt> PS = ProgPoint.getAs<PostStmt>()) {
+ const ProgramPointTag *CurrentNodeTag = PS->getTag();
+ if (CurrentNodeTag != Tags.first && CurrentNodeTag != Tags.second)
+ return nullptr;
- return nullptr;
+ bool TookTrue = CurrentNodeTag == Tags.first;
+ return VisitTrueTest(cast<Expr>(PS->getStmt()), BRC, BR, N, TookTrue);
}
return nullptr;
@@ -1928,30 +1951,30 @@ std::shared_ptr<PathDiagnosticPiece> Con
assert(Cond);
assert(srcBlk->succ_size() == 2);
- const bool tookTrue = *(srcBlk->succ_begin()) == dstBlk;
- return VisitTrueTest(Cond, tookTrue, BRC, R, N);
+ const bool TookTrue = *(srcBlk->succ_begin()) == dstBlk;
+ return VisitTrueTest(Cond, BRC, R, N, TookTrue);
}
std::shared_ptr<PathDiagnosticPiece>
-ConditionBRVisitor::VisitTrueTest(const Expr *Cond, bool tookTrue,
- BugReporterContext &BRC, BugReport &R,
- const ExplodedNode *N) {
+ConditionBRVisitor::VisitTrueTest(const Expr *Cond, BugReporterContext &BRC,
+ BugReport &R, const ExplodedNode *N,
+ bool TookTrue) {
ProgramStateRef CurrentState = N->getState();
- ProgramStateRef PreviousState = N->getFirstPred()->getState();
+ ProgramStateRef PrevState = N->getFirstPred()->getState();
const LocationContext *LCtx = N->getLocationContext();
// If the constraint information is changed between the current and the
// previous program state we assuming the newly seen constraint information.
// If we cannot evaluate the condition (and the constraints are the same)
// the analyzer has no information about the value and just assuming it.
- if (BRC.getStateManager().haveEqualConstraints(CurrentState, PreviousState) &&
- CurrentState->getSVal(Cond, LCtx).isValid())
- return nullptr;
+ bool IsAssuming =
+ !BRC.getStateManager().haveEqualConstraints(CurrentState, PrevState) ||
+ CurrentState->getSVal(Cond, LCtx).isUnknownOrUndef();
// These will be modified in code below, but we need to preserve the original
// values in case we want to throw the generic message.
const Expr *CondTmp = Cond;
- bool tookTrueTmp = tookTrue;
+ bool TookTrueTmp = TookTrue;
while (true) {
CondTmp = CondTmp->IgnoreParenCasts();
@@ -1960,18 +1983,18 @@ ConditionBRVisitor::VisitTrueTest(const
break;
case Stmt::BinaryOperatorClass:
if (auto P = VisitTrueTest(Cond, cast<BinaryOperator>(CondTmp),
- tookTrueTmp, BRC, R, N))
+ BRC, R, N, TookTrueTmp, IsAssuming))
return P;
break;
case Stmt::DeclRefExprClass:
if (auto P = VisitTrueTest(Cond, cast<DeclRefExpr>(CondTmp),
- tookTrueTmp, BRC, R, N))
+ BRC, R, N, TookTrueTmp, IsAssuming))
return P;
break;
case Stmt::UnaryOperatorClass: {
const auto *UO = cast<UnaryOperator>(CondTmp);
if (UO->getOpcode() == UO_LNot) {
- tookTrueTmp = !tookTrueTmp;
+ TookTrueTmp = !TookTrueTmp;
CondTmp = UO->getSubExpr();
continue;
}
@@ -1983,12 +2006,17 @@ ConditionBRVisitor::VisitTrueTest(const
// Condition too complex to explain? Just say something so that the user
// knew we've made some path decision at this point.
+ // If it is too complex and we know the evaluation of the condition do not
+ // repeat the note from 'BugReporter.cpp'
+ if (!IsAssuming)
+ return nullptr;
+
PathDiagnosticLocation Loc(Cond, BRC.getSourceManager(), LCtx);
if (!Loc.isValid() || !Loc.asLocation().isValid())
return nullptr;
return std::make_shared<PathDiagnosticEventPiece>(
- Loc, tookTrue ? GenericTrueMessage : GenericFalseMessage);
+ Loc, TookTrue ? GenericTrueMessage : GenericFalseMessage);
}
bool ConditionBRVisitor::patternMatch(const Expr *Ex,
@@ -2066,10 +2094,9 @@ bool ConditionBRVisitor::patternMatch(co
return false;
}
-std::shared_ptr<PathDiagnosticPiece>
-ConditionBRVisitor::VisitTrueTest(const Expr *Cond, const BinaryOperator *BExpr,
- const bool tookTrue, BugReporterContext &BRC,
- BugReport &R, const ExplodedNode *N) {
+std::shared_ptr<PathDiagnosticPiece> ConditionBRVisitor::VisitTrueTest(
+ const Expr *Cond, const BinaryOperator *BExpr, BugReporterContext &BRC,
+ BugReport &R, const ExplodedNode *N, bool TookTrue, bool IsAssuming) {
bool shouldInvert = false;
Optional<bool> shouldPrune;
@@ -2089,8 +2116,8 @@ ConditionBRVisitor::VisitTrueTest(const
if (BinaryOperator::isAssignmentOp(Op)) {
// For assignment operators, all that we care about is that the LHS
// evaluates to "true" or "false".
- return VisitConditionVariable(LhsString, BExpr->getLHS(), tookTrue,
- BRC, R, N);
+ return VisitConditionVariable(LhsString, BExpr->getLHS(), BRC, R, N,
+ TookTrue);
}
// For non-assignment operations, we require that we can understand
@@ -2102,7 +2129,8 @@ ConditionBRVisitor::VisitTrueTest(const
// Should we invert the strings if the LHS is not a variable name?
SmallString<256> buf;
llvm::raw_svector_ostream Out(buf);
- Out << "Assuming " << (shouldInvert ? RhsString : LhsString) << " is ";
+ Out << (IsAssuming ? "Assuming " : "")
+ << (shouldInvert ? RhsString : LhsString) << " is ";
// Do we need to invert the opcode?
if (shouldInvert)
@@ -2114,7 +2142,7 @@ ConditionBRVisitor::VisitTrueTest(const
case BO_GE: Op = BO_LE; break;
}
- if (!tookTrue)
+ if (!TookTrue)
switch (Op) {
case BO_EQ: Op = BO_NE; break;
case BO_NE: Op = BO_EQ; break;
@@ -2141,6 +2169,11 @@ ConditionBRVisitor::VisitTrueTest(const
Out << (shouldInvert ? LhsString : RhsString);
const LocationContext *LCtx = N->getLocationContext();
PathDiagnosticLocation Loc(Cond, BRC.getSourceManager(), LCtx);
+
+ // If we know the value create a pop-up note.
+ if (!IsAssuming)
+ return std::make_shared<PathDiagnosticPopUpPiece>(Loc, Out.str());
+
auto event = std::make_shared<PathDiagnosticEventPiece>(Loc, Out.str());
if (shouldPrune.hasValue())
event->setPrunable(shouldPrune.getValue());
@@ -2148,8 +2181,8 @@ ConditionBRVisitor::VisitTrueTest(const
}
std::shared_ptr<PathDiagnosticPiece> ConditionBRVisitor::VisitConditionVariable(
- StringRef LhsString, const Expr *CondVarExpr, const bool tookTrue,
- BugReporterContext &BRC, BugReport &report, const ExplodedNode *N) {
+ StringRef LhsString, const Expr *CondVarExpr, BugReporterContext &BRC,
+ BugReport &report, const ExplodedNode *N, bool TookTrue) {
// FIXME: If there's already a constraint tracker for this variable,
// we shouldn't emit anything here (c.f. the double note in
// test/Analysis/inlining/path-notes.c)
@@ -2160,13 +2193,13 @@ std::shared_ptr<PathDiagnosticPiece> Con
QualType Ty = CondVarExpr->getType();
if (Ty->isPointerType())
- Out << (tookTrue ? "not null" : "null");
+ Out << (TookTrue ? "not null" : "null");
else if (Ty->isObjCObjectPointerType())
- Out << (tookTrue ? "not nil" : "nil");
+ Out << (TookTrue ? "not nil" : "nil");
else if (Ty->isBooleanType())
- Out << (tookTrue ? "true" : "false");
+ Out << (TookTrue ? "true" : "false");
else if (Ty->isIntegralOrEnumerationType())
- Out << (tookTrue ? "non-zero" : "zero");
+ Out << (TookTrue ? "non-zero" : "zero");
else
return nullptr;
@@ -2187,34 +2220,44 @@ std::shared_ptr<PathDiagnosticPiece> Con
return event;
}
-std::shared_ptr<PathDiagnosticPiece>
-ConditionBRVisitor::VisitTrueTest(const Expr *Cond, const DeclRefExpr *DR,
- const bool tookTrue, BugReporterContext &BRC,
- BugReport &report, const ExplodedNode *N) {
- const auto *VD = dyn_cast<VarDecl>(DR->getDecl());
+std::shared_ptr<PathDiagnosticPiece> ConditionBRVisitor::VisitTrueTest(
+ const Expr *Cond, const DeclRefExpr *DRE, BugReporterContext &BRC,
+ BugReport &report, const ExplodedNode *N, bool TookTrue, bool IsAssuming) {
+ const auto *VD = dyn_cast<VarDecl>(DRE->getDecl());
if (!VD)
return nullptr;
SmallString<256> Buf;
llvm::raw_svector_ostream Out(Buf);
- Out << "Assuming '" << VD->getDeclName() << "' is ";
+ Out << (IsAssuming ? "Assuming '" : "'") << VD->getDeclName() << "' is ";
- QualType VDTy = VD->getType();
+ QualType Ty = VD->getType();
- if (VDTy->isPointerType())
- Out << (tookTrue ? "non-null" : "null");
- else if (VDTy->isObjCObjectPointerType())
- Out << (tookTrue ? "non-nil" : "nil");
- else if (VDTy->isScalarType())
- Out << (tookTrue ? "not equal to 0" : "0");
- else
+ if (Ty->isPointerType())
+ Out << (TookTrue ? "non-null" : "null");
+ else if (Ty->isObjCObjectPointerType())
+ Out << (TookTrue ? "non-nil" : "nil");
+ else if (Ty->isScalarType()) {
+ Optional<const llvm::APSInt *> IntValue;
+ if (!IsAssuming)
+ IntValue = getConcreteIntegerValue(DRE, N);
+
+ if (IsAssuming || !IntValue.hasValue())
+ Out << (TookTrue ? "not equal to 0" : "0");
+ else
+ Out << *IntValue.getValue();
+ } else
return nullptr;
const LocationContext *LCtx = N->getLocationContext();
PathDiagnosticLocation Loc(Cond, BRC.getSourceManager(), LCtx);
- auto event = std::make_shared<PathDiagnosticEventPiece>(Loc, Out.str());
+ // If we know the value create a pop-up note.
+ if (!IsAssuming)
+ return std::make_shared<PathDiagnosticPopUpPiece>(Loc, Out.str());
+
+ auto event = std::make_shared<PathDiagnosticEventPiece>(Loc, Out.str());
const ProgramState *state = N->getState().get();
if (const MemRegion *R = state->getLValue(VD, LCtx).getAsRegion()) {
if (report.isInteresting(R))
Modified: cfe/trunk/test/Analysis/Inputs/expected-plists/NewDelete-path-notes.cpp.plist
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Analysis/Inputs/expected-plists/NewDelete-path-notes.cpp.plist?rev=362020&r1=362019&r2=362020&view=diff
==============================================================================
--- cfe/trunk/test/Analysis/Inputs/expected-plists/NewDelete-path-notes.cpp.plist (original)
+++ cfe/trunk/test/Analysis/Inputs/expected-plists/NewDelete-path-notes.cpp.plist Wed May 29 13:06:09 2019
@@ -93,6 +93,68 @@
<key>end</key>
<array>
<dict>
+ <key>line</key><integer>9</integer>
+ <key>col</key><integer>7</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ <dict>
+ <key>line</key><integer>9</integer>
+ <key>col</key><integer>7</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ </array>
+ </dict>
+ </array>
+ </dict>
+ <dict>
+ <key>kind</key><string>pop-up</string>
+ <key>location</key>
+ <dict>
+ <key>line</key><integer>9</integer>
+ <key>col</key><integer>7</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ <key>ranges</key>
+ <array>
+ <array>
+ <dict>
+ <key>line</key><integer>9</integer>
+ <key>col</key><integer>7</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ <dict>
+ <key>line</key><integer>9</integer>
+ <key>col</key><integer>7</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ </array>
+ </array>
+ <key>extended_message</key>
+ <string>'p' is non-null</string>
+ <key>message</key>
+ <string>'p' is non-null</string>
+ </dict>
+ <dict>
+ <key>kind</key><string>control</string>
+ <key>edges</key>
+ <array>
+ <dict>
+ <key>start</key>
+ <array>
+ <dict>
+ <key>line</key><integer>9</integer>
+ <key>col</key><integer>7</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ <dict>
+ <key>line</key><integer>9</integer>
+ <key>col</key><integer>7</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ </array>
+ <key>end</key>
+ <array>
+ <dict>
<key>line</key><integer>11</integer>
<key>col</key><integer>5</integer>
<key>file</key><integer>0</integer>
Modified: cfe/trunk/test/Analysis/Inputs/expected-plists/cxx-for-range.cpp.plist
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Analysis/Inputs/expected-plists/cxx-for-range.cpp.plist?rev=362020&r1=362019&r2=362020&view=diff
==============================================================================
--- cfe/trunk/test/Analysis/Inputs/expected-plists/cxx-for-range.cpp.plist (original)
+++ cfe/trunk/test/Analysis/Inputs/expected-plists/cxx-for-range.cpp.plist Wed May 29 13:06:09 2019
@@ -161,6 +161,68 @@
<key>end</key>
<array>
<dict>
+ <key>line</key><integer>11</integer>
+ <key>col</key><integer>9</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ <dict>
+ <key>line</key><integer>11</integer>
+ <key>col</key><integer>9</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ </array>
+ </dict>
+ </array>
+ </dict>
+ <dict>
+ <key>kind</key><string>pop-up</string>
+ <key>location</key>
+ <dict>
+ <key>line</key><integer>11</integer>
+ <key>col</key><integer>9</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ <key>ranges</key>
+ <array>
+ <array>
+ <dict>
+ <key>line</key><integer>11</integer>
+ <key>col</key><integer>9</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ <dict>
+ <key>line</key><integer>11</integer>
+ <key>col</key><integer>14</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ </array>
+ </array>
+ <key>extended_message</key>
+ <string>'y' is not equal to 2</string>
+ <key>message</key>
+ <string>'y' is not equal to 2</string>
+ </dict>
+ <dict>
+ <key>kind</key><string>control</string>
+ <key>edges</key>
+ <array>
+ <dict>
+ <key>start</key>
+ <array>
+ <dict>
+ <key>line</key><integer>11</integer>
+ <key>col</key><integer>9</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ <dict>
+ <key>line</key><integer>11</integer>
+ <key>col</key><integer>9</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ </array>
+ <key>end</key>
+ <array>
+ <dict>
<key>line</key><integer>13</integer>
<key>col</key><integer>5</integer>
<key>file</key><integer>0</integer>
@@ -423,6 +485,68 @@
<key>end</key>
<array>
<dict>
+ <key>line</key><integer>11</integer>
+ <key>col</key><integer>9</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ <dict>
+ <key>line</key><integer>11</integer>
+ <key>col</key><integer>9</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ </array>
+ </dict>
+ </array>
+ </dict>
+ <dict>
+ <key>kind</key><string>pop-up</string>
+ <key>location</key>
+ <dict>
+ <key>line</key><integer>11</integer>
+ <key>col</key><integer>9</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ <key>ranges</key>
+ <array>
+ <array>
+ <dict>
+ <key>line</key><integer>11</integer>
+ <key>col</key><integer>9</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ <dict>
+ <key>line</key><integer>11</integer>
+ <key>col</key><integer>14</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ </array>
+ </array>
+ <key>extended_message</key>
+ <string>'y' is equal to 2</string>
+ <key>message</key>
+ <string>'y' is equal to 2</string>
+ </dict>
+ <dict>
+ <key>kind</key><string>control</string>
+ <key>edges</key>
+ <array>
+ <dict>
+ <key>start</key>
+ <array>
+ <dict>
+ <key>line</key><integer>11</integer>
+ <key>col</key><integer>9</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ <dict>
+ <key>line</key><integer>11</integer>
+ <key>col</key><integer>9</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ </array>
+ <key>end</key>
+ <array>
+ <dict>
<key>line</key><integer>12</integer>
<key>col</key><integer>7</integer>
<key>file</key><integer>0</integer>
@@ -665,6 +789,68 @@
<key>file</key><integer>0</integer>
</dict>
</array>
+ <key>end</key>
+ <array>
+ <dict>
+ <key>line</key><integer>32</integer>
+ <key>col</key><integer>7</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ <dict>
+ <key>line</key><integer>32</integer>
+ <key>col</key><integer>10</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ </array>
+ </dict>
+ </array>
+ </dict>
+ <dict>
+ <key>kind</key><string>pop-up</string>
+ <key>location</key>
+ <dict>
+ <key>line</key><integer>32</integer>
+ <key>col</key><integer>7</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ <key>ranges</key>
+ <array>
+ <array>
+ <dict>
+ <key>line</key><integer>32</integer>
+ <key>col</key><integer>7</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ <dict>
+ <key>line</key><integer>32</integer>
+ <key>col</key><integer>10</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ </array>
+ </array>
+ <key>extended_message</key>
+ <string>'fail' is 1</string>
+ <key>message</key>
+ <string>'fail' is 1</string>
+ </dict>
+ <dict>
+ <key>kind</key><string>control</string>
+ <key>edges</key>
+ <array>
+ <dict>
+ <key>start</key>
+ <array>
+ <dict>
+ <key>line</key><integer>32</integer>
+ <key>col</key><integer>7</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ <dict>
+ <key>line</key><integer>32</integer>
+ <key>col</key><integer>10</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ </array>
<key>end</key>
<array>
<dict>
Modified: cfe/trunk/test/Analysis/Inputs/expected-plists/edges-new.mm.plist
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Analysis/Inputs/expected-plists/edges-new.mm.plist?rev=362020&r1=362019&r2=362020&view=diff
==============================================================================
--- cfe/trunk/test/Analysis/Inputs/expected-plists/edges-new.mm.plist (original)
+++ cfe/trunk/test/Analysis/Inputs/expected-plists/edges-new.mm.plist Wed May 29 13:06:09 2019
@@ -2710,6 +2710,34 @@
</array>
</dict>
<dict>
+ <key>kind</key><string>pop-up</string>
+ <key>location</key>
+ <dict>
+ <key>line</key><integer>146</integer>
+ <key>col</key><integer>8</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ <key>ranges</key>
+ <array>
+ <array>
+ <dict>
+ <key>line</key><integer>146</integer>
+ <key>col</key><integer>8</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ <dict>
+ <key>line</key><integer>146</integer>
+ <key>col</key><integer>13</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ </array>
+ </array>
+ <key>extended_message</key>
+ <string>'i' is not equal to 1</string>
+ <key>message</key>
+ <string>'i' is not equal to 1</string>
+ </dict>
+ <dict>
<key>kind</key><string>control</string>
<key>edges</key>
<array>
@@ -2890,6 +2918,68 @@
<key>end</key>
<array>
<dict>
+ <key>line</key><integer>146</integer>
+ <key>col</key><integer>8</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ <dict>
+ <key>line</key><integer>146</integer>
+ <key>col</key><integer>8</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ </array>
+ </dict>
+ </array>
+ </dict>
+ <dict>
+ <key>kind</key><string>pop-up</string>
+ <key>location</key>
+ <dict>
+ <key>line</key><integer>146</integer>
+ <key>col</key><integer>8</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ <key>ranges</key>
+ <array>
+ <array>
+ <dict>
+ <key>line</key><integer>146</integer>
+ <key>col</key><integer>8</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ <dict>
+ <key>line</key><integer>146</integer>
+ <key>col</key><integer>13</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ </array>
+ </array>
+ <key>extended_message</key>
+ <string>'i' is equal to 1</string>
+ <key>message</key>
+ <string>'i' is equal to 1</string>
+ </dict>
+ <dict>
+ <key>kind</key><string>control</string>
+ <key>edges</key>
+ <array>
+ <dict>
+ <key>start</key>
+ <array>
+ <dict>
+ <key>line</key><integer>146</integer>
+ <key>col</key><integer>8</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ <dict>
+ <key>line</key><integer>146</integer>
+ <key>col</key><integer>8</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ </array>
+ <key>end</key>
+ <array>
+ <dict>
<key>line</key><integer>147</integer>
<key>col</key><integer>5</integer>
<key>file</key><integer>0</integer>
@@ -3808,6 +3898,68 @@
<key>end</key>
<array>
<dict>
+ <key>line</key><integer>178</integer>
+ <key>col</key><integer>9</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ <dict>
+ <key>line</key><integer>178</integer>
+ <key>col</key><integer>9</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ </array>
+ </dict>
+ </array>
+ </dict>
+ <dict>
+ <key>kind</key><string>pop-up</string>
+ <key>location</key>
+ <dict>
+ <key>line</key><integer>178</integer>
+ <key>col</key><integer>9</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ <key>ranges</key>
+ <array>
+ <array>
+ <dict>
+ <key>line</key><integer>178</integer>
+ <key>col</key><integer>9</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ <dict>
+ <key>line</key><integer>178</integer>
+ <key>col</key><integer>14</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ </array>
+ </array>
+ <key>extended_message</key>
+ <string>'i' is equal to 0</string>
+ <key>message</key>
+ <string>'i' is equal to 0</string>
+ </dict>
+ <dict>
+ <key>kind</key><string>control</string>
+ <key>edges</key>
+ <array>
+ <dict>
+ <key>start</key>
+ <array>
+ <dict>
+ <key>line</key><integer>178</integer>
+ <key>col</key><integer>9</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ <dict>
+ <key>line</key><integer>178</integer>
+ <key>col</key><integer>9</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ </array>
+ <key>end</key>
+ <array>
+ <dict>
<key>line</key><integer>179</integer>
<key>col</key><integer>7</integer>
<key>file</key><integer>0</integer>
@@ -4002,6 +4154,68 @@
<key>end</key>
<array>
<dict>
+ <key>line</key><integer>178</integer>
+ <key>col</key><integer>9</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ <dict>
+ <key>line</key><integer>178</integer>
+ <key>col</key><integer>9</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ </array>
+ </dict>
+ </array>
+ </dict>
+ <dict>
+ <key>kind</key><string>pop-up</string>
+ <key>location</key>
+ <dict>
+ <key>line</key><integer>178</integer>
+ <key>col</key><integer>9</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ <key>ranges</key>
+ <array>
+ <array>
+ <dict>
+ <key>line</key><integer>178</integer>
+ <key>col</key><integer>9</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ <dict>
+ <key>line</key><integer>178</integer>
+ <key>col</key><integer>14</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ </array>
+ </array>
+ <key>extended_message</key>
+ <string>'i' is not equal to 0</string>
+ <key>message</key>
+ <string>'i' is not equal to 0</string>
+ </dict>
+ <dict>
+ <key>kind</key><string>control</string>
+ <key>edges</key>
+ <array>
+ <dict>
+ <key>start</key>
+ <array>
+ <dict>
+ <key>line</key><integer>178</integer>
+ <key>col</key><integer>9</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ <dict>
+ <key>line</key><integer>178</integer>
+ <key>col</key><integer>9</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ </array>
+ <key>end</key>
+ <array>
+ <dict>
<key>line</key><integer>181</integer>
<key>col</key><integer>5</integer>
<key>file</key><integer>0</integer>
@@ -4036,6 +4250,68 @@
<key>end</key>
<array>
<dict>
+ <key>line</key><integer>181</integer>
+ <key>col</key><integer>9</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ <dict>
+ <key>line</key><integer>181</integer>
+ <key>col</key><integer>9</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ </array>
+ </dict>
+ </array>
+ </dict>
+ <dict>
+ <key>kind</key><string>pop-up</string>
+ <key>location</key>
+ <dict>
+ <key>line</key><integer>181</integer>
+ <key>col</key><integer>9</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ <key>ranges</key>
+ <array>
+ <array>
+ <dict>
+ <key>line</key><integer>181</integer>
+ <key>col</key><integer>9</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ <dict>
+ <key>line</key><integer>181</integer>
+ <key>col</key><integer>14</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ </array>
+ </array>
+ <key>extended_message</key>
+ <string>'i' is equal to 1</string>
+ <key>message</key>
+ <string>'i' is equal to 1</string>
+ </dict>
+ <dict>
+ <key>kind</key><string>control</string>
+ <key>edges</key>
+ <array>
+ <dict>
+ <key>start</key>
+ <array>
+ <dict>
+ <key>line</key><integer>181</integer>
+ <key>col</key><integer>9</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ <dict>
+ <key>line</key><integer>181</integer>
+ <key>col</key><integer>9</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ </array>
+ <key>end</key>
+ <array>
+ <dict>
<key>line</key><integer>183</integer>
<key>col</key><integer>7</integer>
<key>file</key><integer>0</integer>
@@ -7807,18 +8083,46 @@
</array>
</dict>
<dict>
- <key>kind</key><string>control</string>
- <key>edges</key>
- <array>
- <dict>
- <key>start</key>
- <array>
- <dict>
- <key>line</key><integer>267</integer>
- <key>col</key><integer>18</integer>
- <key>file</key><integer>0</integer>
- </dict>
- <dict>
+ <key>kind</key><string>pop-up</string>
+ <key>location</key>
+ <dict>
+ <key>line</key><integer>267</integer>
+ <key>col</key><integer>18</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ <key>ranges</key>
+ <array>
+ <array>
+ <dict>
+ <key>line</key><integer>267</integer>
+ <key>col</key><integer>18</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ <dict>
+ <key>line</key><integer>267</integer>
+ <key>col</key><integer>22</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ </array>
+ </array>
+ <key>extended_message</key>
+ <string>'coin' is 0</string>
+ <key>message</key>
+ <string>'coin' is 0</string>
+ </dict>
+ <dict>
+ <key>kind</key><string>control</string>
+ <key>edges</key>
+ <array>
+ <dict>
+ <key>start</key>
+ <array>
+ <dict>
+ <key>line</key><integer>267</integer>
+ <key>col</key><integer>18</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ <dict>
<key>line</key><integer>267</integer>
<key>col</key><integer>18</integer>
<key>file</key><integer>0</integer>
@@ -8659,6 +8963,34 @@
</array>
</dict>
<dict>
+ <key>kind</key><string>pop-up</string>
+ <key>location</key>
+ <dict>
+ <key>line</key><integer>285</integer>
+ <key>col</key><integer>12</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ <key>ranges</key>
+ <array>
+ <array>
+ <dict>
+ <key>line</key><integer>285</integer>
+ <key>col</key><integer>12</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ <dict>
+ <key>line</key><integer>285</integer>
+ <key>col</key><integer>12</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ </array>
+ </array>
+ <key>extended_message</key>
+ <string>'z' is 0</string>
+ <key>message</key>
+ <string>'z' is 0</string>
+ </dict>
+ <dict>
<key>kind</key><string>control</string>
<key>edges</key>
<array>
@@ -9000,6 +9332,68 @@
<key>end</key>
<array>
<dict>
+ <key>line</key><integer>294</integer>
+ <key>col</key><integer>7</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ <dict>
+ <key>line</key><integer>294</integer>
+ <key>col</key><integer>7</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ </array>
+ </dict>
+ </array>
+ </dict>
+ <dict>
+ <key>kind</key><string>pop-up</string>
+ <key>location</key>
+ <dict>
+ <key>line</key><integer>294</integer>
+ <key>col</key><integer>7</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ <key>ranges</key>
+ <array>
+ <array>
+ <dict>
+ <key>line</key><integer>294</integer>
+ <key>col</key><integer>7</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ <dict>
+ <key>line</key><integer>294</integer>
+ <key>col</key><integer>7</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ </array>
+ </array>
+ <key>extended_message</key>
+ <string>'y' is null</string>
+ <key>message</key>
+ <string>'y' is null</string>
+ </dict>
+ <dict>
+ <key>kind</key><string>control</string>
+ <key>edges</key>
+ <array>
+ <dict>
+ <key>start</key>
+ <array>
+ <dict>
+ <key>line</key><integer>294</integer>
+ <key>col</key><integer>7</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ <dict>
+ <key>line</key><integer>294</integer>
+ <key>col</key><integer>7</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ </array>
+ <key>end</key>
+ <array>
+ <dict>
<key>line</key><integer>297</integer>
<key>col</key><integer>3</integer>
<key>file</key><integer>0</integer>
@@ -11588,6 +11982,68 @@
<key>end</key>
<array>
<dict>
+ <key>line</key><integer>457</integer>
+ <key>col</key><integer>9</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ <dict>
+ <key>line</key><integer>457</integer>
+ <key>col</key><integer>9</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ </array>
+ </dict>
+ </array>
+ </dict>
+ <dict>
+ <key>kind</key><string>pop-up</string>
+ <key>location</key>
+ <dict>
+ <key>line</key><integer>457</integer>
+ <key>col</key><integer>9</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ <key>ranges</key>
+ <array>
+ <array>
+ <dict>
+ <key>line</key><integer>457</integer>
+ <key>col</key><integer>9</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ <dict>
+ <key>line</key><integer>457</integer>
+ <key>col</key><integer>14</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ </array>
+ </array>
+ <key>extended_message</key>
+ <string>'first' is 1</string>
+ <key>message</key>
+ <string>'first' is 1</string>
+ </dict>
+ <dict>
+ <key>kind</key><string>control</string>
+ <key>edges</key>
+ <array>
+ <dict>
+ <key>start</key>
+ <array>
+ <dict>
+ <key>line</key><integer>457</integer>
+ <key>col</key><integer>9</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ <dict>
+ <key>line</key><integer>457</integer>
+ <key>col</key><integer>9</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ </array>
+ <key>end</key>
+ <array>
+ <dict>
<key>line</key><integer>459</integer>
<key>col</key><integer>5</integer>
<key>file</key><integer>0</integer>
@@ -11787,6 +12243,68 @@
<key>end</key>
<array>
<dict>
+ <key>line</key><integer>457</integer>
+ <key>col</key><integer>9</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ <dict>
+ <key>line</key><integer>457</integer>
+ <key>col</key><integer>9</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ </array>
+ </dict>
+ </array>
+ </dict>
+ <dict>
+ <key>kind</key><string>pop-up</string>
+ <key>location</key>
+ <dict>
+ <key>line</key><integer>457</integer>
+ <key>col</key><integer>9</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ <key>ranges</key>
+ <array>
+ <array>
+ <dict>
+ <key>line</key><integer>457</integer>
+ <key>col</key><integer>9</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ <dict>
+ <key>line</key><integer>457</integer>
+ <key>col</key><integer>14</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ </array>
+ </array>
+ <key>extended_message</key>
+ <string>'first' is 0</string>
+ <key>message</key>
+ <string>'first' is 0</string>
+ </dict>
+ <dict>
+ <key>kind</key><string>control</string>
+ <key>edges</key>
+ <array>
+ <dict>
+ <key>start</key>
+ <array>
+ <dict>
+ <key>line</key><integer>457</integer>
+ <key>col</key><integer>9</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ <dict>
+ <key>line</key><integer>457</integer>
+ <key>col</key><integer>9</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ </array>
+ <key>end</key>
+ <array>
+ <dict>
<key>line</key><integer>458</integer>
<key>col</key><integer>7</integer>
<key>file</key><integer>0</integer>
@@ -12052,6 +12570,68 @@
<key>end</key>
<array>
<dict>
+ <key>line</key><integer>457</integer>
+ <key>col</key><integer>9</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ <dict>
+ <key>line</key><integer>457</integer>
+ <key>col</key><integer>9</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ </array>
+ </dict>
+ </array>
+ </dict>
+ <dict>
+ <key>kind</key><string>pop-up</string>
+ <key>location</key>
+ <dict>
+ <key>line</key><integer>457</integer>
+ <key>col</key><integer>9</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ <key>ranges</key>
+ <array>
+ <array>
+ <dict>
+ <key>line</key><integer>457</integer>
+ <key>col</key><integer>9</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ <dict>
+ <key>line</key><integer>457</integer>
+ <key>col</key><integer>14</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ </array>
+ </array>
+ <key>extended_message</key>
+ <string>'first' is 1</string>
+ <key>message</key>
+ <string>'first' is 1</string>
+ </dict>
+ <dict>
+ <key>kind</key><string>control</string>
+ <key>edges</key>
+ <array>
+ <dict>
+ <key>start</key>
+ <array>
+ <dict>
+ <key>line</key><integer>457</integer>
+ <key>col</key><integer>9</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ <dict>
+ <key>line</key><integer>457</integer>
+ <key>col</key><integer>9</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ </array>
+ <key>end</key>
+ <array>
+ <dict>
<key>line</key><integer>459</integer>
<key>col</key><integer>5</integer>
<key>file</key><integer>0</integer>
@@ -12514,12 +13094,46 @@
<array>
<dict>
<key>line</key><integer>457</integer>
- <key>col</key><integer>5</integer>
+ <key>col</key><integer>5</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ <dict>
+ <key>line</key><integer>457</integer>
+ <key>col</key><integer>6</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ </array>
+ </dict>
+ </array>
+ </dict>
+ <dict>
+ <key>kind</key><string>control</string>
+ <key>edges</key>
+ <array>
+ <dict>
+ <key>start</key>
+ <array>
+ <dict>
+ <key>line</key><integer>457</integer>
+ <key>col</key><integer>5</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ <dict>
+ <key>line</key><integer>457</integer>
+ <key>col</key><integer>6</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ </array>
+ <key>end</key>
+ <array>
+ <dict>
+ <key>line</key><integer>457</integer>
+ <key>col</key><integer>9</integer>
<key>file</key><integer>0</integer>
</dict>
<dict>
<key>line</key><integer>457</integer>
- <key>col</key><integer>6</integer>
+ <key>col</key><integer>9</integer>
<key>file</key><integer>0</integer>
</dict>
</array>
@@ -12527,6 +13141,34 @@
</array>
</dict>
<dict>
+ <key>kind</key><string>pop-up</string>
+ <key>location</key>
+ <dict>
+ <key>line</key><integer>457</integer>
+ <key>col</key><integer>9</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ <key>ranges</key>
+ <array>
+ <array>
+ <dict>
+ <key>line</key><integer>457</integer>
+ <key>col</key><integer>9</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ <dict>
+ <key>line</key><integer>457</integer>
+ <key>col</key><integer>14</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ </array>
+ </array>
+ <key>extended_message</key>
+ <string>'first' is 1</string>
+ <key>message</key>
+ <string>'first' is 1</string>
+ </dict>
+ <dict>
<key>kind</key><string>control</string>
<key>edges</key>
<array>
@@ -12535,12 +13177,12 @@
<array>
<dict>
<key>line</key><integer>457</integer>
- <key>col</key><integer>5</integer>
+ <key>col</key><integer>9</integer>
<key>file</key><integer>0</integer>
</dict>
<dict>
<key>line</key><integer>457</integer>
- <key>col</key><integer>6</integer>
+ <key>col</key><integer>9</integer>
<key>file</key><integer>0</integer>
</dict>
</array>
@@ -13109,6 +13751,68 @@
<key>end</key>
<array>
<dict>
+ <key>line</key><integer>457</integer>
+ <key>col</key><integer>9</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ <dict>
+ <key>line</key><integer>457</integer>
+ <key>col</key><integer>9</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ </array>
+ </dict>
+ </array>
+ </dict>
+ <dict>
+ <key>kind</key><string>pop-up</string>
+ <key>location</key>
+ <dict>
+ <key>line</key><integer>457</integer>
+ <key>col</key><integer>9</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ <key>ranges</key>
+ <array>
+ <array>
+ <dict>
+ <key>line</key><integer>457</integer>
+ <key>col</key><integer>9</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ <dict>
+ <key>line</key><integer>457</integer>
+ <key>col</key><integer>14</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ </array>
+ </array>
+ <key>extended_message</key>
+ <string>'first' is 1</string>
+ <key>message</key>
+ <string>'first' is 1</string>
+ </dict>
+ <dict>
+ <key>kind</key><string>control</string>
+ <key>edges</key>
+ <array>
+ <dict>
+ <key>start</key>
+ <array>
+ <dict>
+ <key>line</key><integer>457</integer>
+ <key>col</key><integer>9</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ <dict>
+ <key>line</key><integer>457</integer>
+ <key>col</key><integer>9</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ </array>
+ <key>end</key>
+ <array>
+ <dict>
<key>line</key><integer>459</integer>
<key>col</key><integer>5</integer>
<key>file</key><integer>0</integer>
@@ -14590,6 +15294,68 @@
<key>end</key>
<array>
<dict>
+ <key>line</key><integer>457</integer>
+ <key>col</key><integer>9</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ <dict>
+ <key>line</key><integer>457</integer>
+ <key>col</key><integer>9</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ </array>
+ </dict>
+ </array>
+ </dict>
+ <dict>
+ <key>kind</key><string>pop-up</string>
+ <key>location</key>
+ <dict>
+ <key>line</key><integer>457</integer>
+ <key>col</key><integer>9</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ <key>ranges</key>
+ <array>
+ <array>
+ <dict>
+ <key>line</key><integer>457</integer>
+ <key>col</key><integer>9</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ <dict>
+ <key>line</key><integer>457</integer>
+ <key>col</key><integer>14</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ </array>
+ </array>
+ <key>extended_message</key>
+ <string>'first' is 1</string>
+ <key>message</key>
+ <string>'first' is 1</string>
+ </dict>
+ <dict>
+ <key>kind</key><string>control</string>
+ <key>edges</key>
+ <array>
+ <dict>
+ <key>start</key>
+ <array>
+ <dict>
+ <key>line</key><integer>457</integer>
+ <key>col</key><integer>9</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ <dict>
+ <key>line</key><integer>457</integer>
+ <key>col</key><integer>9</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ </array>
+ <key>end</key>
+ <array>
+ <dict>
<key>line</key><integer>459</integer>
<key>col</key><integer>5</integer>
<key>file</key><integer>0</integer>
@@ -16198,6 +16964,68 @@
<key>end</key>
<array>
<dict>
+ <key>line</key><integer>457</integer>
+ <key>col</key><integer>9</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ <dict>
+ <key>line</key><integer>457</integer>
+ <key>col</key><integer>9</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ </array>
+ </dict>
+ </array>
+ </dict>
+ <dict>
+ <key>kind</key><string>pop-up</string>
+ <key>location</key>
+ <dict>
+ <key>line</key><integer>457</integer>
+ <key>col</key><integer>9</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ <key>ranges</key>
+ <array>
+ <array>
+ <dict>
+ <key>line</key><integer>457</integer>
+ <key>col</key><integer>9</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ <dict>
+ <key>line</key><integer>457</integer>
+ <key>col</key><integer>14</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ </array>
+ </array>
+ <key>extended_message</key>
+ <string>'first' is 1</string>
+ <key>message</key>
+ <string>'first' is 1</string>
+ </dict>
+ <dict>
+ <key>kind</key><string>control</string>
+ <key>edges</key>
+ <array>
+ <dict>
+ <key>start</key>
+ <array>
+ <dict>
+ <key>line</key><integer>457</integer>
+ <key>col</key><integer>9</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ <dict>
+ <key>line</key><integer>457</integer>
+ <key>col</key><integer>9</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ </array>
+ <key>end</key>
+ <array>
+ <dict>
<key>line</key><integer>459</integer>
<key>col</key><integer>5</integer>
<key>file</key><integer>0</integer>
@@ -18028,6 +18856,68 @@
<key>file</key><integer>0</integer>
</dict>
</array>
+ <key>end</key>
+ <array>
+ <dict>
+ <key>line</key><integer>457</integer>
+ <key>col</key><integer>9</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ <dict>
+ <key>line</key><integer>457</integer>
+ <key>col</key><integer>9</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ </array>
+ </dict>
+ </array>
+ </dict>
+ <dict>
+ <key>kind</key><string>pop-up</string>
+ <key>location</key>
+ <dict>
+ <key>line</key><integer>457</integer>
+ <key>col</key><integer>9</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ <key>ranges</key>
+ <array>
+ <array>
+ <dict>
+ <key>line</key><integer>457</integer>
+ <key>col</key><integer>9</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ <dict>
+ <key>line</key><integer>457</integer>
+ <key>col</key><integer>14</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ </array>
+ </array>
+ <key>extended_message</key>
+ <string>'first' is 1</string>
+ <key>message</key>
+ <string>'first' is 1</string>
+ </dict>
+ <dict>
+ <key>kind</key><string>control</string>
+ <key>edges</key>
+ <array>
+ <dict>
+ <key>start</key>
+ <array>
+ <dict>
+ <key>line</key><integer>457</integer>
+ <key>col</key><integer>9</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ <dict>
+ <key>line</key><integer>457</integer>
+ <key>col</key><integer>9</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ </array>
<key>end</key>
<array>
<dict>
Modified: cfe/trunk/test/Analysis/Inputs/expected-plists/inline-plist.c.plist
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Analysis/Inputs/expected-plists/inline-plist.c.plist?rev=362020&r1=362019&r2=362020&view=diff
==============================================================================
--- cfe/trunk/test/Analysis/Inputs/expected-plists/inline-plist.c.plist (original)
+++ cfe/trunk/test/Analysis/Inputs/expected-plists/inline-plist.c.plist Wed May 29 13:06:09 2019
@@ -518,12 +518,74 @@
<key>end</key>
<array>
<dict>
- <key>line</key><integer>47</integer>
+ <key>line</key><integer>45</integer>
+ <key>col</key><integer>7</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ <dict>
+ <key>line</key><integer>45</integer>
+ <key>col</key><integer>7</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ </array>
+ </dict>
+ </array>
+ </dict>
+ <dict>
+ <key>kind</key><string>pop-up</string>
+ <key>location</key>
+ <dict>
+ <key>line</key><integer>45</integer>
+ <key>col</key><integer>7</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ <key>ranges</key>
+ <array>
+ <array>
+ <dict>
+ <key>line</key><integer>45</integer>
+ <key>col</key><integer>7</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ <dict>
+ <key>line</key><integer>45</integer>
+ <key>col</key><integer>12</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ </array>
+ </array>
+ <key>extended_message</key>
+ <string>'p' is equal to null</string>
+ <key>message</key>
+ <string>'p' is equal to null</string>
+ </dict>
+ <dict>
+ <key>kind</key><string>control</string>
+ <key>edges</key>
+ <array>
+ <dict>
+ <key>start</key>
+ <array>
+ <dict>
+ <key>line</key><integer>45</integer>
+ <key>col</key><integer>7</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ <dict>
+ <key>line</key><integer>45</integer>
+ <key>col</key><integer>7</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ </array>
+ <key>end</key>
+ <array>
+ <dict>
+ <key>line</key><integer>48</integer>
<key>col</key><integer>5</integer>
<key>file</key><integer>0</integer>
</dict>
<dict>
- <key>line</key><integer>47</integer>
+ <key>line</key><integer>48</integer>
<key>col</key><integer>16</integer>
<key>file</key><integer>0</integer>
</dict>
@@ -535,7 +597,7 @@
<key>kind</key><string>event</string>
<key>location</key>
<dict>
- <key>line</key><integer>47</integer>
+ <key>line</key><integer>48</integer>
<key>col</key><integer>18</integer>
<key>file</key><integer>0</integer>
</dict>
@@ -543,12 +605,12 @@
<array>
<array>
<dict>
- <key>line</key><integer>47</integer>
+ <key>line</key><integer>48</integer>
<key>col</key><integer>18</integer>
<key>file</key><integer>0</integer>
</dict>
<dict>
- <key>line</key><integer>47</integer>
+ <key>line</key><integer>48</integer>
<key>col</key><integer>18</integer>
<key>file</key><integer>0</integer>
</dict>
@@ -564,7 +626,7 @@
<key>kind</key><string>event</string>
<key>location</key>
<dict>
- <key>line</key><integer>47</integer>
+ <key>line</key><integer>48</integer>
<key>col</key><integer>5</integer>
<key>file</key><integer>0</integer>
</dict>
@@ -572,12 +634,12 @@
<array>
<array>
<dict>
- <key>line</key><integer>47</integer>
+ <key>line</key><integer>48</integer>
<key>col</key><integer>5</integer>
<key>file</key><integer>0</integer>
</dict>
<dict>
- <key>line</key><integer>47</integer>
+ <key>line</key><integer>48</integer>
<key>col</key><integer>19</integer>
<key>file</key><integer>0</integer>
</dict>
@@ -725,7 +787,7 @@
<integer>38</integer>
<integer>39</integer>
<integer>45</integer>
- <integer>47</integer>
+ <integer>48</integer>
</array>
</dict>
</dict>
@@ -736,7 +798,7 @@
<key>kind</key><string>event</string>
<key>location</key>
<dict>
- <key>line</key><integer>58</integer>
+ <key>line</key><integer>59</integer>
<key>col</key><integer>3</integer>
<key>file</key><integer>0</integer>
</dict>
@@ -744,12 +806,12 @@
<array>
<array>
<dict>
- <key>line</key><integer>58</integer>
+ <key>line</key><integer>59</integer>
<key>col</key><integer>3</integer>
<key>file</key><integer>0</integer>
</dict>
<dict>
- <key>line</key><integer>58</integer>
+ <key>line</key><integer>59</integer>
<key>col</key><integer>8</integer>
<key>file</key><integer>0</integer>
</dict>
@@ -769,12 +831,12 @@
<key>start</key>
<array>
<dict>
- <key>line</key><integer>58</integer>
+ <key>line</key><integer>59</integer>
<key>col</key><integer>3</integer>
<key>file</key><integer>0</integer>
</dict>
<dict>
- <key>line</key><integer>58</integer>
+ <key>line</key><integer>59</integer>
<key>col</key><integer>5</integer>
<key>file</key><integer>0</integer>
</dict>
@@ -782,12 +844,12 @@
<key>end</key>
<array>
<dict>
- <key>line</key><integer>59</integer>
+ <key>line</key><integer>60</integer>
<key>col</key><integer>3</integer>
<key>file</key><integer>0</integer>
</dict>
<dict>
- <key>line</key><integer>59</integer>
+ <key>line</key><integer>60</integer>
<key>col</key><integer>3</integer>
<key>file</key><integer>0</integer>
</dict>
@@ -799,7 +861,7 @@
<key>kind</key><string>event</string>
<key>location</key>
<dict>
- <key>line</key><integer>59</integer>
+ <key>line</key><integer>60</integer>
<key>col</key><integer>3</integer>
<key>file</key><integer>0</integer>
</dict>
@@ -807,12 +869,12 @@
<array>
<array>
<dict>
- <key>line</key><integer>59</integer>
+ <key>line</key><integer>60</integer>
<key>col</key><integer>3</integer>
<key>file</key><integer>0</integer>
</dict>
<dict>
- <key>line</key><integer>61</integer>
+ <key>line</key><integer>62</integer>
<key>col</key><integer>5</integer>
<key>file</key><integer>0</integer>
</dict>
@@ -828,7 +890,7 @@
<key>kind</key><string>event</string>
<key>location</key>
<dict>
- <key>line</key><integer>59</integer>
+ <key>line</key><integer>60</integer>
<key>col</key><integer>3</integer>
<key>file</key><integer>0</integer>
</dict>
@@ -846,12 +908,12 @@
<key>start</key>
<array>
<dict>
- <key>line</key><integer>59</integer>
+ <key>line</key><integer>60</integer>
<key>col</key><integer>3</integer>
<key>file</key><integer>0</integer>
</dict>
<dict>
- <key>line</key><integer>59</integer>
+ <key>line</key><integer>60</integer>
<key>col</key><integer>3</integer>
<key>file</key><integer>0</integer>
</dict>
@@ -859,12 +921,12 @@
<key>end</key>
<array>
<dict>
- <key>line</key><integer>60</integer>
+ <key>line</key><integer>61</integer>
<key>col</key><integer>5</integer>
<key>file</key><integer>0</integer>
</dict>
<dict>
- <key>line</key><integer>60</integer>
+ <key>line</key><integer>61</integer>
<key>col</key><integer>5</integer>
<key>file</key><integer>0</integer>
</dict>
@@ -880,12 +942,12 @@
<key>start</key>
<array>
<dict>
- <key>line</key><integer>60</integer>
+ <key>line</key><integer>61</integer>
<key>col</key><integer>5</integer>
<key>file</key><integer>0</integer>
</dict>
<dict>
- <key>line</key><integer>60</integer>
+ <key>line</key><integer>61</integer>
<key>col</key><integer>5</integer>
<key>file</key><integer>0</integer>
</dict>
@@ -893,12 +955,12 @@
<key>end</key>
<array>
<dict>
- <key>line</key><integer>60</integer>
+ <key>line</key><integer>61</integer>
<key>col</key><integer>8</integer>
<key>file</key><integer>0</integer>
</dict>
<dict>
- <key>line</key><integer>60</integer>
+ <key>line</key><integer>61</integer>
<key>col</key><integer>8</integer>
<key>file</key><integer>0</integer>
</dict>
@@ -910,7 +972,7 @@
<key>kind</key><string>event</string>
<key>location</key>
<dict>
- <key>line</key><integer>60</integer>
+ <key>line</key><integer>61</integer>
<key>col</key><integer>8</integer>
<key>file</key><integer>0</integer>
</dict>
@@ -918,12 +980,12 @@
<array>
<array>
<dict>
- <key>line</key><integer>60</integer>
+ <key>line</key><integer>61</integer>
<key>col</key><integer>6</integer>
<key>file</key><integer>0</integer>
</dict>
<dict>
- <key>line</key><integer>60</integer>
+ <key>line</key><integer>61</integer>
<key>col</key><integer>6</integer>
<key>file</key><integer>0</integer>
</dict>
@@ -944,7 +1006,7 @@
<key>issue_hash_content_of_line_in_context</key><string>a2e7504f29818834127c44ba841f4da8</string>
<key>location</key>
<dict>
- <key>line</key><integer>60</integer>
+ <key>line</key><integer>61</integer>
<key>col</key><integer>8</integer>
<key>file</key><integer>0</integer>
</dict>
@@ -952,10 +1014,10 @@
<dict>
<key>0</key>
<array>
- <integer>57</integer>
<integer>58</integer>
<integer>59</integer>
<integer>60</integer>
+ <integer>61</integer>
</array>
</dict>
</dict>
@@ -970,12 +1032,12 @@
<key>start</key>
<array>
<dict>
- <key>line</key><integer>66</integer>
+ <key>line</key><integer>67</integer>
<key>col</key><integer>3</integer>
<key>file</key><integer>0</integer>
</dict>
<dict>
- <key>line</key><integer>66</integer>
+ <key>line</key><integer>67</integer>
<key>col</key><integer>5</integer>
<key>file</key><integer>0</integer>
</dict>
@@ -983,12 +1045,12 @@
<key>end</key>
<array>
<dict>
- <key>line</key><integer>66</integer>
+ <key>line</key><integer>67</integer>
<key>col</key><integer>12</integer>
<key>file</key><integer>0</integer>
</dict>
<dict>
- <key>line</key><integer>66</integer>
+ <key>line</key><integer>67</integer>
<key>col</key><integer>12</integer>
<key>file</key><integer>0</integer>
</dict>
@@ -1000,7 +1062,7 @@
<key>kind</key><string>event</string>
<key>location</key>
<dict>
- <key>line</key><integer>66</integer>
+ <key>line</key><integer>67</integer>
<key>col</key><integer>12</integer>
<key>file</key><integer>0</integer>
</dict>
@@ -1008,12 +1070,12 @@
<array>
<array>
<dict>
- <key>line</key><integer>66</integer>
+ <key>line</key><integer>67</integer>
<key>col</key><integer>12</integer>
<key>file</key><integer>0</integer>
</dict>
<dict>
- <key>line</key><integer>69</integer>
+ <key>line</key><integer>70</integer>
<key>col</key><integer>5</integer>
<key>file</key><integer>0</integer>
</dict>
@@ -1029,7 +1091,7 @@
<key>kind</key><string>event</string>
<key>location</key>
<dict>
- <key>line</key><integer>66</integer>
+ <key>line</key><integer>67</integer>
<key>col</key><integer>12</integer>
<key>file</key><integer>0</integer>
</dict>
@@ -1047,12 +1109,12 @@
<key>start</key>
<array>
<dict>
- <key>line</key><integer>66</integer>
+ <key>line</key><integer>67</integer>
<key>col</key><integer>12</integer>
<key>file</key><integer>0</integer>
</dict>
<dict>
- <key>line</key><integer>66</integer>
+ <key>line</key><integer>67</integer>
<key>col</key><integer>12</integer>
<key>file</key><integer>0</integer>
</dict>
@@ -1060,12 +1122,12 @@
<key>end</key>
<array>
<dict>
- <key>line</key><integer>67</integer>
+ <key>line</key><integer>68</integer>
<key>col</key><integer>5</integer>
<key>file</key><integer>0</integer>
</dict>
<dict>
- <key>line</key><integer>67</integer>
+ <key>line</key><integer>68</integer>
<key>col</key><integer>7</integer>
<key>file</key><integer>0</integer>
</dict>
@@ -1077,7 +1139,7 @@
<key>kind</key><string>event</string>
<key>location</key>
<dict>
- <key>line</key><integer>67</integer>
+ <key>line</key><integer>68</integer>
<key>col</key><integer>5</integer>
<key>file</key><integer>0</integer>
</dict>
@@ -1085,12 +1147,12 @@
<array>
<array>
<dict>
- <key>line</key><integer>67</integer>
+ <key>line</key><integer>68</integer>
<key>col</key><integer>5</integer>
<key>file</key><integer>0</integer>
</dict>
<dict>
- <key>line</key><integer>67</integer>
+ <key>line</key><integer>68</integer>
<key>col</key><integer>10</integer>
<key>file</key><integer>0</integer>
</dict>
@@ -1110,12 +1172,12 @@
<key>start</key>
<array>
<dict>
- <key>line</key><integer>67</integer>
+ <key>line</key><integer>68</integer>
<key>col</key><integer>5</integer>
<key>file</key><integer>0</integer>
</dict>
<dict>
- <key>line</key><integer>67</integer>
+ <key>line</key><integer>68</integer>
<key>col</key><integer>7</integer>
<key>file</key><integer>0</integer>
</dict>
@@ -1123,12 +1185,12 @@
<key>end</key>
<array>
<dict>
- <key>line</key><integer>68</integer>
+ <key>line</key><integer>69</integer>
<key>col</key><integer>5</integer>
<key>file</key><integer>0</integer>
</dict>
<dict>
- <key>line</key><integer>68</integer>
+ <key>line</key><integer>69</integer>
<key>col</key><integer>10</integer>
<key>file</key><integer>0</integer>
</dict>
@@ -1140,7 +1202,7 @@
<key>kind</key><string>event</string>
<key>location</key>
<dict>
- <key>line</key><integer>68</integer>
+ <key>line</key><integer>69</integer>
<key>col</key><integer>5</integer>
<key>file</key><integer>0</integer>
</dict>
@@ -1148,12 +1210,12 @@
<array>
<array>
<dict>
- <key>line</key><integer>68</integer>
+ <key>line</key><integer>69</integer>
<key>col</key><integer>5</integer>
<key>file</key><integer>0</integer>
</dict>
<dict>
- <key>line</key><integer>68</integer>
+ <key>line</key><integer>69</integer>
<key>col</key><integer>12</integer>
<key>file</key><integer>0</integer>
</dict>
@@ -1169,7 +1231,7 @@
<key>kind</key><string>event</string>
<key>location</key>
<dict>
- <key>line</key><integer>66</integer>
+ <key>line</key><integer>67</integer>
<key>col</key><integer>12</integer>
<key>file</key><integer>0</integer>
</dict>
@@ -1177,12 +1239,12 @@
<array>
<array>
<dict>
- <key>line</key><integer>66</integer>
+ <key>line</key><integer>67</integer>
<key>col</key><integer>12</integer>
<key>file</key><integer>0</integer>
</dict>
<dict>
- <key>line</key><integer>69</integer>
+ <key>line</key><integer>70</integer>
<key>col</key><integer>5</integer>
<key>file</key><integer>0</integer>
</dict>
@@ -1202,12 +1264,12 @@
<key>start</key>
<array>
<dict>
- <key>line</key><integer>66</integer>
+ <key>line</key><integer>67</integer>
<key>col</key><integer>12</integer>
<key>file</key><integer>0</integer>
</dict>
<dict>
- <key>line</key><integer>66</integer>
+ <key>line</key><integer>67</integer>
<key>col</key><integer>12</integer>
<key>file</key><integer>0</integer>
</dict>
@@ -1215,12 +1277,12 @@
<key>end</key>
<array>
<dict>
- <key>line</key><integer>66</integer>
+ <key>line</key><integer>67</integer>
<key>col</key><integer>3</integer>
<key>file</key><integer>0</integer>
</dict>
<dict>
- <key>line</key><integer>66</integer>
+ <key>line</key><integer>67</integer>
<key>col</key><integer>5</integer>
<key>file</key><integer>0</integer>
</dict>
@@ -1232,7 +1294,7 @@
<key>kind</key><string>event</string>
<key>location</key>
<dict>
- <key>line</key><integer>66</integer>
+ <key>line</key><integer>67</integer>
<key>col</key><integer>3</integer>
<key>file</key><integer>0</integer>
</dict>
@@ -1240,12 +1302,12 @@
<array>
<array>
<dict>
- <key>line</key><integer>66</integer>
+ <key>line</key><integer>67</integer>
<key>col</key><integer>3</integer>
<key>file</key><integer>0</integer>
</dict>
<dict>
- <key>line</key><integer>66</integer>
+ <key>line</key><integer>67</integer>
<key>col</key><integer>8</integer>
<key>file</key><integer>0</integer>
</dict>
@@ -1265,12 +1327,12 @@
<key>start</key>
<array>
<dict>
- <key>line</key><integer>66</integer>
+ <key>line</key><integer>67</integer>
<key>col</key><integer>3</integer>
<key>file</key><integer>0</integer>
</dict>
<dict>
- <key>line</key><integer>66</integer>
+ <key>line</key><integer>67</integer>
<key>col</key><integer>5</integer>
<key>file</key><integer>0</integer>
</dict>
@@ -1278,12 +1340,12 @@
<key>end</key>
<array>
<dict>
- <key>line</key><integer>70</integer>
+ <key>line</key><integer>71</integer>
<key>col</key><integer>3</integer>
<key>file</key><integer>0</integer>
</dict>
<dict>
- <key>line</key><integer>70</integer>
+ <key>line</key><integer>71</integer>
<key>col</key><integer>3</integer>
<key>file</key><integer>0</integer>
</dict>
@@ -1299,12 +1361,12 @@
<key>start</key>
<array>
<dict>
- <key>line</key><integer>70</integer>
+ <key>line</key><integer>71</integer>
<key>col</key><integer>3</integer>
<key>file</key><integer>0</integer>
</dict>
<dict>
- <key>line</key><integer>70</integer>
+ <key>line</key><integer>71</integer>
<key>col</key><integer>3</integer>
<key>file</key><integer>0</integer>
</dict>
@@ -1312,12 +1374,12 @@
<key>end</key>
<array>
<dict>
- <key>line</key><integer>70</integer>
+ <key>line</key><integer>71</integer>
<key>col</key><integer>6</integer>
<key>file</key><integer>0</integer>
</dict>
<dict>
- <key>line</key><integer>70</integer>
+ <key>line</key><integer>71</integer>
<key>col</key><integer>6</integer>
<key>file</key><integer>0</integer>
</dict>
@@ -1329,7 +1391,7 @@
<key>kind</key><string>event</string>
<key>location</key>
<dict>
- <key>line</key><integer>70</integer>
+ <key>line</key><integer>71</integer>
<key>col</key><integer>6</integer>
<key>file</key><integer>0</integer>
</dict>
@@ -1337,12 +1399,12 @@
<array>
<array>
<dict>
- <key>line</key><integer>70</integer>
+ <key>line</key><integer>71</integer>
<key>col</key><integer>4</integer>
<key>file</key><integer>0</integer>
</dict>
<dict>
- <key>line</key><integer>70</integer>
+ <key>line</key><integer>71</integer>
<key>col</key><integer>4</integer>
<key>file</key><integer>0</integer>
</dict>
@@ -1366,7 +1428,7 @@
<key>issue_hash_function_offset</key><string>5</string>
<key>location</key>
<dict>
- <key>line</key><integer>70</integer>
+ <key>line</key><integer>71</integer>
<key>col</key><integer>6</integer>
<key>file</key><integer>0</integer>
</dict>
@@ -1374,11 +1436,11 @@
<dict>
<key>0</key>
<array>
- <integer>65</integer>
<integer>66</integer>
<integer>67</integer>
<integer>68</integer>
- <integer>70</integer>
+ <integer>69</integer>
+ <integer>71</integer>
</array>
</dict>
</dict>
@@ -1393,12 +1455,12 @@
<key>start</key>
<array>
<dict>
- <key>line</key><integer>74</integer>
+ <key>line</key><integer>75</integer>
<key>col</key><integer>3</integer>
<key>file</key><integer>0</integer>
</dict>
<dict>
- <key>line</key><integer>74</integer>
+ <key>line</key><integer>75</integer>
<key>col</key><integer>9</integer>
<key>file</key><integer>0</integer>
</dict>
@@ -1406,12 +1468,12 @@
<key>end</key>
<array>
<dict>
- <key>line</key><integer>75</integer>
+ <key>line</key><integer>76</integer>
<key>col</key><integer>3</integer>
<key>file</key><integer>0</integer>
</dict>
<dict>
- <key>line</key><integer>75</integer>
+ <key>line</key><integer>76</integer>
<key>col</key><integer>3</integer>
<key>file</key><integer>0</integer>
</dict>
@@ -1423,7 +1485,7 @@
<key>kind</key><string>event</string>
<key>location</key>
<dict>
- <key>line</key><integer>75</integer>
+ <key>line</key><integer>76</integer>
<key>col</key><integer>3</integer>
<key>file</key><integer>0</integer>
</dict>
@@ -1431,12 +1493,12 @@
<array>
<array>
<dict>
- <key>line</key><integer>75</integer>
+ <key>line</key><integer>76</integer>
<key>col</key><integer>3</integer>
<key>file</key><integer>0</integer>
</dict>
<dict>
- <key>line</key><integer>77</integer>
+ <key>line</key><integer>78</integer>
<key>col</key><integer>5</integer>
<key>file</key><integer>0</integer>
</dict>
@@ -1452,7 +1514,7 @@
<key>kind</key><string>event</string>
<key>location</key>
<dict>
- <key>line</key><integer>75</integer>
+ <key>line</key><integer>76</integer>
<key>col</key><integer>3</integer>
<key>file</key><integer>0</integer>
</dict>
@@ -1470,12 +1532,12 @@
<key>start</key>
<array>
<dict>
- <key>line</key><integer>75</integer>
+ <key>line</key><integer>76</integer>
<key>col</key><integer>3</integer>
<key>file</key><integer>0</integer>
</dict>
<dict>
- <key>line</key><integer>75</integer>
+ <key>line</key><integer>76</integer>
<key>col</key><integer>3</integer>
<key>file</key><integer>0</integer>
</dict>
@@ -1483,12 +1545,12 @@
<key>end</key>
<array>
<dict>
- <key>line</key><integer>76</integer>
+ <key>line</key><integer>77</integer>
<key>col</key><integer>5</integer>
<key>file</key><integer>0</integer>
</dict>
<dict>
- <key>line</key><integer>76</integer>
+ <key>line</key><integer>77</integer>
<key>col</key><integer>5</integer>
<key>file</key><integer>0</integer>
</dict>
@@ -1500,7 +1562,7 @@
<key>kind</key><string>event</string>
<key>location</key>
<dict>
- <key>line</key><integer>76</integer>
+ <key>line</key><integer>77</integer>
<key>col</key><integer>5</integer>
<key>file</key><integer>0</integer>
</dict>
@@ -1508,12 +1570,12 @@
<array>
<array>
<dict>
- <key>line</key><integer>76</integer>
+ <key>line</key><integer>77</integer>
<key>col</key><integer>5</integer>
<key>file</key><integer>0</integer>
</dict>
<dict>
- <key>line</key><integer>76</integer>
+ <key>line</key><integer>77</integer>
<key>col</key><integer>9</integer>
<key>file</key><integer>0</integer>
</dict>
@@ -1529,7 +1591,7 @@
<key>kind</key><string>event</string>
<key>location</key>
<dict>
- <key>line</key><integer>75</integer>
+ <key>line</key><integer>76</integer>
<key>col</key><integer>3</integer>
<key>file</key><integer>0</integer>
</dict>
@@ -1537,12 +1599,12 @@
<array>
<array>
<dict>
- <key>line</key><integer>75</integer>
+ <key>line</key><integer>76</integer>
<key>col</key><integer>3</integer>
<key>file</key><integer>0</integer>
</dict>
<dict>
- <key>line</key><integer>77</integer>
+ <key>line</key><integer>78</integer>
<key>col</key><integer>5</integer>
<key>file</key><integer>0</integer>
</dict>
@@ -1562,12 +1624,12 @@
<key>start</key>
<array>
<dict>
- <key>line</key><integer>75</integer>
+ <key>line</key><integer>76</integer>
<key>col</key><integer>3</integer>
<key>file</key><integer>0</integer>
</dict>
<dict>
- <key>line</key><integer>75</integer>
+ <key>line</key><integer>76</integer>
<key>col</key><integer>3</integer>
<key>file</key><integer>0</integer>
</dict>
@@ -1575,12 +1637,12 @@
<key>end</key>
<array>
<dict>
- <key>line</key><integer>78</integer>
+ <key>line</key><integer>79</integer>
<key>col</key><integer>3</integer>
<key>file</key><integer>0</integer>
</dict>
<dict>
- <key>line</key><integer>78</integer>
+ <key>line</key><integer>79</integer>
<key>col</key><integer>3</integer>
<key>file</key><integer>0</integer>
</dict>
@@ -1596,12 +1658,12 @@
<key>start</key>
<array>
<dict>
- <key>line</key><integer>78</integer>
+ <key>line</key><integer>79</integer>
<key>col</key><integer>3</integer>
<key>file</key><integer>0</integer>
</dict>
<dict>
- <key>line</key><integer>78</integer>
+ <key>line</key><integer>79</integer>
<key>col</key><integer>3</integer>
<key>file</key><integer>0</integer>
</dict>
@@ -1609,12 +1671,12 @@
<key>end</key>
<array>
<dict>
- <key>line</key><integer>78</integer>
+ <key>line</key><integer>79</integer>
<key>col</key><integer>6</integer>
<key>file</key><integer>0</integer>
</dict>
<dict>
- <key>line</key><integer>78</integer>
+ <key>line</key><integer>79</integer>
<key>col</key><integer>6</integer>
<key>file</key><integer>0</integer>
</dict>
@@ -1626,7 +1688,7 @@
<key>kind</key><string>event</string>
<key>location</key>
<dict>
- <key>line</key><integer>78</integer>
+ <key>line</key><integer>79</integer>
<key>col</key><integer>6</integer>
<key>file</key><integer>0</integer>
</dict>
@@ -1634,12 +1696,12 @@
<array>
<array>
<dict>
- <key>line</key><integer>78</integer>
+ <key>line</key><integer>79</integer>
<key>col</key><integer>4</integer>
<key>file</key><integer>0</integer>
</dict>
<dict>
- <key>line</key><integer>78</integer>
+ <key>line</key><integer>79</integer>
<key>col</key><integer>4</integer>
<key>file</key><integer>0</integer>
</dict>
@@ -1663,7 +1725,7 @@
<key>issue_hash_function_offset</key><string>5</string>
<key>location</key>
<dict>
- <key>line</key><integer>78</integer>
+ <key>line</key><integer>79</integer>
<key>col</key><integer>6</integer>
<key>file</key><integer>0</integer>
</dict>
@@ -1671,11 +1733,11 @@
<dict>
<key>0</key>
<array>
- <integer>73</integer>
<integer>74</integer>
<integer>75</integer>
<integer>76</integer>
- <integer>78</integer>
+ <integer>77</integer>
+ <integer>79</integer>
</array>
</dict>
</dict>
@@ -1690,12 +1752,12 @@
<key>start</key>
<array>
<dict>
- <key>line</key><integer>82</integer>
+ <key>line</key><integer>83</integer>
<key>col</key><integer>3</integer>
<key>file</key><integer>0</integer>
</dict>
<dict>
- <key>line</key><integer>82</integer>
+ <key>line</key><integer>83</integer>
<key>col</key><integer>5</integer>
<key>file</key><integer>0</integer>
</dict>
@@ -1703,12 +1765,12 @@
<key>end</key>
<array>
<dict>
- <key>line</key><integer>83</integer>
+ <key>line</key><integer>84</integer>
<key>col</key><integer>3</integer>
<key>file</key><integer>0</integer>
</dict>
<dict>
- <key>line</key><integer>83</integer>
+ <key>line</key><integer>84</integer>
<key>col</key><integer>3</integer>
<key>file</key><integer>0</integer>
</dict>
@@ -1720,7 +1782,7 @@
<key>kind</key><string>event</string>
<key>location</key>
<dict>
- <key>line</key><integer>83</integer>
+ <key>line</key><integer>84</integer>
<key>col</key><integer>3</integer>
<key>file</key><integer>0</integer>
</dict>
@@ -1728,12 +1790,12 @@
<array>
<array>
<dict>
- <key>line</key><integer>83</integer>
+ <key>line</key><integer>84</integer>
<key>col</key><integer>3</integer>
<key>file</key><integer>0</integer>
</dict>
<dict>
- <key>line</key><integer>85</integer>
+ <key>line</key><integer>86</integer>
<key>col</key><integer>7</integer>
<key>file</key><integer>0</integer>
</dict>
@@ -1749,7 +1811,7 @@
<key>kind</key><string>event</string>
<key>location</key>
<dict>
- <key>line</key><integer>83</integer>
+ <key>line</key><integer>84</integer>
<key>col</key><integer>3</integer>
<key>file</key><integer>0</integer>
</dict>
@@ -1767,12 +1829,12 @@
<key>start</key>
<array>
<dict>
- <key>line</key><integer>83</integer>
+ <key>line</key><integer>84</integer>
<key>col</key><integer>3</integer>
<key>file</key><integer>0</integer>
</dict>
<dict>
- <key>line</key><integer>83</integer>
+ <key>line</key><integer>84</integer>
<key>col</key><integer>3</integer>
<key>file</key><integer>0</integer>
</dict>
@@ -1780,12 +1842,12 @@
<key>end</key>
<array>
<dict>
- <key>line</key><integer>84</integer>
+ <key>line</key><integer>85</integer>
<key>col</key><integer>5</integer>
<key>file</key><integer>0</integer>
</dict>
<dict>
- <key>line</key><integer>84</integer>
+ <key>line</key><integer>85</integer>
<key>col</key><integer>5</integer>
<key>file</key><integer>0</integer>
</dict>
@@ -1797,7 +1859,7 @@
<key>kind</key><string>event</string>
<key>location</key>
<dict>
- <key>line</key><integer>84</integer>
+ <key>line</key><integer>85</integer>
<key>col</key><integer>5</integer>
<key>file</key><integer>0</integer>
</dict>
@@ -1805,12 +1867,12 @@
<array>
<array>
<dict>
- <key>line</key><integer>84</integer>
+ <key>line</key><integer>85</integer>
<key>col</key><integer>5</integer>
<key>file</key><integer>0</integer>
</dict>
<dict>
- <key>line</key><integer>84</integer>
+ <key>line</key><integer>85</integer>
<key>col</key><integer>10</integer>
<key>file</key><integer>0</integer>
</dict>
@@ -1826,7 +1888,7 @@
<key>kind</key><string>event</string>
<key>location</key>
<dict>
- <key>line</key><integer>83</integer>
+ <key>line</key><integer>84</integer>
<key>col</key><integer>3</integer>
<key>file</key><integer>0</integer>
</dict>
@@ -1834,12 +1896,12 @@
<array>
<array>
<dict>
- <key>line</key><integer>83</integer>
+ <key>line</key><integer>84</integer>
<key>col</key><integer>3</integer>
<key>file</key><integer>0</integer>
</dict>
<dict>
- <key>line</key><integer>85</integer>
+ <key>line</key><integer>86</integer>
<key>col</key><integer>7</integer>
<key>file</key><integer>0</integer>
</dict>
@@ -1859,12 +1921,12 @@
<key>start</key>
<array>
<dict>
- <key>line</key><integer>83</integer>
+ <key>line</key><integer>84</integer>
<key>col</key><integer>3</integer>
<key>file</key><integer>0</integer>
</dict>
<dict>
- <key>line</key><integer>83</integer>
+ <key>line</key><integer>84</integer>
<key>col</key><integer>3</integer>
<key>file</key><integer>0</integer>
</dict>
@@ -1872,12 +1934,12 @@
<key>end</key>
<array>
<dict>
- <key>line</key><integer>86</integer>
+ <key>line</key><integer>87</integer>
<key>col</key><integer>3</integer>
<key>file</key><integer>0</integer>
</dict>
<dict>
- <key>line</key><integer>86</integer>
+ <key>line</key><integer>87</integer>
<key>col</key><integer>3</integer>
<key>file</key><integer>0</integer>
</dict>
@@ -1893,12 +1955,12 @@
<key>start</key>
<array>
<dict>
- <key>line</key><integer>86</integer>
+ <key>line</key><integer>87</integer>
<key>col</key><integer>3</integer>
<key>file</key><integer>0</integer>
</dict>
<dict>
- <key>line</key><integer>86</integer>
+ <key>line</key><integer>87</integer>
<key>col</key><integer>3</integer>
<key>file</key><integer>0</integer>
</dict>
@@ -1906,12 +1968,12 @@
<key>end</key>
<array>
<dict>
- <key>line</key><integer>86</integer>
+ <key>line</key><integer>87</integer>
<key>col</key><integer>6</integer>
<key>file</key><integer>0</integer>
</dict>
<dict>
- <key>line</key><integer>86</integer>
+ <key>line</key><integer>87</integer>
<key>col</key><integer>6</integer>
<key>file</key><integer>0</integer>
</dict>
@@ -1923,7 +1985,7 @@
<key>kind</key><string>event</string>
<key>location</key>
<dict>
- <key>line</key><integer>86</integer>
+ <key>line</key><integer>87</integer>
<key>col</key><integer>6</integer>
<key>file</key><integer>0</integer>
</dict>
@@ -1931,12 +1993,12 @@
<array>
<array>
<dict>
- <key>line</key><integer>86</integer>
+ <key>line</key><integer>87</integer>
<key>col</key><integer>4</integer>
<key>file</key><integer>0</integer>
</dict>
<dict>
- <key>line</key><integer>86</integer>
+ <key>line</key><integer>87</integer>
<key>col</key><integer>4</integer>
<key>file</key><integer>0</integer>
</dict>
@@ -1960,7 +2022,7 @@
<key>issue_hash_function_offset</key><string>5</string>
<key>location</key>
<dict>
- <key>line</key><integer>86</integer>
+ <key>line</key><integer>87</integer>
<key>col</key><integer>6</integer>
<key>file</key><integer>0</integer>
</dict>
@@ -1968,12 +2030,12 @@
<dict>
<key>0</key>
<array>
- <integer>81</integer>
<integer>82</integer>
<integer>83</integer>
<integer>84</integer>
<integer>85</integer>
<integer>86</integer>
+ <integer>87</integer>
</array>
</dict>
</dict>
Modified: cfe/trunk/test/Analysis/Inputs/expected-plists/objc-radar17039661.m.plist
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Analysis/Inputs/expected-plists/objc-radar17039661.m.plist?rev=362020&r1=362019&r2=362020&view=diff
==============================================================================
--- cfe/trunk/test/Analysis/Inputs/expected-plists/objc-radar17039661.m.plist (original)
+++ cfe/trunk/test/Analysis/Inputs/expected-plists/objc-radar17039661.m.plist Wed May 29 13:06:09 2019
@@ -805,6 +805,68 @@
<key>end</key>
<array>
<dict>
+ <key>line</key><integer>38</integer>
+ <key>col</key><integer>11</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ <dict>
+ <key>line</key><integer>38</integer>
+ <key>col</key><integer>20</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ </array>
+ </dict>
+ </array>
+ </dict>
+ <dict>
+ <key>kind</key><string>pop-up</string>
+ <key>location</key>
+ <dict>
+ <key>line</key><integer>38</integer>
+ <key>col</key><integer>11</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ <key>ranges</key>
+ <array>
+ <array>
+ <dict>
+ <key>line</key><integer>38</integer>
+ <key>col</key><integer>11</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ <dict>
+ <key>line</key><integer>38</integer>
+ <key>col</key><integer>37</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ </array>
+ </array>
+ <key>extended_message</key>
+ <string>'traitValue' is equal to 'newTraitValue'</string>
+ <key>message</key>
+ <string>'traitValue' is equal to 'newTraitValue'</string>
+ </dict>
+ <dict>
+ <key>kind</key><string>control</string>
+ <key>edges</key>
+ <array>
+ <dict>
+ <key>start</key>
+ <array>
+ <dict>
+ <key>line</key><integer>38</integer>
+ <key>col</key><integer>11</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ <dict>
+ <key>line</key><integer>38</integer>
+ <key>col</key><integer>20</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ </array>
+ <key>end</key>
+ <array>
+ <dict>
<key>line</key><integer>41</integer>
<key>col</key><integer>7</integer>
<key>file</key><integer>0</integer>
Modified: cfe/trunk/test/Analysis/Inputs/expected-plists/plist-macros-with-expansion.cpp.plist
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Analysis/Inputs/expected-plists/plist-macros-with-expansion.cpp.plist?rev=362020&r1=362019&r2=362020&view=diff
==============================================================================
--- cfe/trunk/test/Analysis/Inputs/expected-plists/plist-macros-with-expansion.cpp.plist (original)
+++ cfe/trunk/test/Analysis/Inputs/expected-plists/plist-macros-with-expansion.cpp.plist Wed May 29 13:06:09 2019
@@ -5207,6 +5207,62 @@
</array>
</dict>
<dict>
+ <key>kind</key><string>pop-up</string>
+ <key>location</key>
+ <dict>
+ <key>line</key><integer>418</integer>
+ <key>col</key><integer>3</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ <key>ranges</key>
+ <array>
+ <array>
+ <dict>
+ <key>line</key><integer>418</integer>
+ <key>col</key><integer>3</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ <dict>
+ <key>line</key><integer>418</integer>
+ <key>col</key><integer>27</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ </array>
+ </array>
+ <key>extended_message</key>
+ <string>'A' is >= 0</string>
+ <key>message</key>
+ <string>'A' is >= 0</string>
+ </dict>
+ <dict>
+ <key>kind</key><string>pop-up</string>
+ <key>location</key>
+ <dict>
+ <key>line</key><integer>418</integer>
+ <key>col</key><integer>3</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ <key>ranges</key>
+ <array>
+ <array>
+ <dict>
+ <key>line</key><integer>418</integer>
+ <key>col</key><integer>3</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ <dict>
+ <key>line</key><integer>418</integer>
+ <key>col</key><integer>27</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ </array>
+ </array>
+ <key>extended_message</key>
+ <string>'B' is >= 0</string>
+ <key>message</key>
+ <string>'B' is >= 0</string>
+ </dict>
+ <dict>
<key>kind</key><string>event</string>
<key>location</key>
<dict>
Modified: cfe/trunk/test/Analysis/Inputs/expected-plists/plist-macros.cpp.plist
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Analysis/Inputs/expected-plists/plist-macros.cpp.plist?rev=362020&r1=362019&r2=362020&view=diff
==============================================================================
--- cfe/trunk/test/Analysis/Inputs/expected-plists/plist-macros.cpp.plist (original)
+++ cfe/trunk/test/Analysis/Inputs/expected-plists/plist-macros.cpp.plist Wed May 29 13:06:09 2019
@@ -1365,6 +1365,34 @@
</array>
</dict>
<dict>
+ <key>kind</key><string>pop-up</string>
+ <key>location</key>
+ <dict>
+ <key>line</key><integer>69</integer>
+ <key>col</key><integer>3</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ <key>ranges</key>
+ <array>
+ <array>
+ <dict>
+ <key>line</key><integer>69</integer>
+ <key>col</key><integer>3</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ <dict>
+ <key>line</key><integer>69</integer>
+ <key>col</key><integer>16</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ </array>
+ </array>
+ <key>extended_message</key>
+ <string>'p' is null</string>
+ <key>message</key>
+ <string>'p' is null</string>
+ </dict>
+ <dict>
<key>kind</key><string>event</string>
<key>location</key>
<dict>
@@ -1525,7 +1553,7 @@
<key>kind</key><string>event</string>
<key>location</key>
<dict>
- <key>line</key><integer>83</integer>
+ <key>line</key><integer>87</integer>
<key>col</key><integer>3</integer>
<key>file</key><integer>0</integer>
</dict>
@@ -1533,12 +1561,12 @@
<array>
<array>
<dict>
- <key>line</key><integer>83</integer>
+ <key>line</key><integer>87</integer>
<key>col</key><integer>3</integer>
<key>file</key><integer>0</integer>
</dict>
<dict>
- <key>line</key><integer>83</integer>
+ <key>line</key><integer>87</integer>
<key>col</key><integer>12</integer>
<key>file</key><integer>0</integer>
</dict>
@@ -1546,15 +1574,15 @@
</array>
<key>depth</key><integer>0</integer>
<key>extended_message</key>
- <string>Passing null pointer value via 1st parameter 'a'</string>
+ <string>Passing value via 1st parameter 'a'</string>
<key>message</key>
- <string>Passing null pointer value via 1st parameter 'a'</string>
+ <string>Passing value via 1st parameter 'a'</string>
</dict>
<dict>
<key>kind</key><string>event</string>
<key>location</key>
<dict>
- <key>line</key><integer>83</integer>
+ <key>line</key><integer>87</integer>
<key>col</key><integer>3</integer>
<key>file</key><integer>0</integer>
</dict>
@@ -1562,12 +1590,12 @@
<array>
<array>
<dict>
- <key>line</key><integer>83</integer>
+ <key>line</key><integer>87</integer>
<key>col</key><integer>3</integer>
<key>file</key><integer>0</integer>
</dict>
<dict>
- <key>line</key><integer>83</integer>
+ <key>line</key><integer>87</integer>
<key>col</key><integer>12</integer>
<key>file</key><integer>0</integer>
</dict>
@@ -1589,9 +1617,9 @@
</dict>
<key>depth</key><integer>1</integer>
<key>extended_message</key>
- <string>Entered call from 'test1'</string>
+ <string>Entered call from 'test2'</string>
<key>message</key>
- <string>Entered call from 'test1'</string>
+ <string>Entered call from 'test2'</string>
</dict>
<dict>
<key>kind</key><string>control</string>
@@ -1648,6 +1676,69 @@
<key>end</key>
<array>
<dict>
+ <key>line</key><integer>77</integer>
+ <key>col</key><integer>7</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ <dict>
+ <key>line</key><integer>77</integer>
+ <key>col</key><integer>7</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ </array>
+ </dict>
+ </array>
+ </dict>
+ <dict>
+ <key>kind</key><string>event</string>
+ <key>location</key>
+ <dict>
+ <key>line</key><integer>77</integer>
+ <key>col</key><integer>7</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ <key>ranges</key>
+ <array>
+ <array>
+ <dict>
+ <key>line</key><integer>77</integer>
+ <key>col</key><integer>7</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ <dict>
+ <key>line</key><integer>77</integer>
+ <key>col</key><integer>7</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ </array>
+ </array>
+ <key>depth</key><integer>1</integer>
+ <key>extended_message</key>
+ <string>Assuming 'a' is null</string>
+ <key>message</key>
+ <string>Assuming 'a' is null</string>
+ </dict>
+ <dict>
+ <key>kind</key><string>control</string>
+ <key>edges</key>
+ <array>
+ <dict>
+ <key>start</key>
+ <array>
+ <dict>
+ <key>line</key><integer>77</integer>
+ <key>col</key><integer>7</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ <dict>
+ <key>line</key><integer>77</integer>
+ <key>col</key><integer>7</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ </array>
+ <key>end</key>
+ <array>
+ <dict>
<key>line</key><integer>79</integer>
<key>col</key><integer>3</integer>
<key>file</key><integer>0</integer>
@@ -1747,8 +1838,8 @@
<integer>76</integer>
<integer>77</integer>
<integer>79</integer>
- <integer>82</integer>
- <integer>83</integer>
+ <integer>86</integer>
+ <integer>87</integer>
</array>
</dict>
</dict>
Modified: cfe/trunk/test/Analysis/Inputs/expected-plists/plist-output.m.plist
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Analysis/Inputs/expected-plists/plist-output.m.plist?rev=362020&r1=362019&r2=362020&view=diff
==============================================================================
--- cfe/trunk/test/Analysis/Inputs/expected-plists/plist-output.m.plist (original)
+++ cfe/trunk/test/Analysis/Inputs/expected-plists/plist-output.m.plist Wed May 29 13:06:09 2019
@@ -2496,6 +2496,34 @@
</array>
</dict>
<dict>
+ <key>kind</key><string>pop-up</string>
+ <key>location</key>
+ <dict>
+ <key>line</key><integer>96</integer>
+ <key>col</key><integer>8</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ <key>ranges</key>
+ <array>
+ <array>
+ <dict>
+ <key>line</key><integer>96</integer>
+ <key>col</key><integer>8</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ <dict>
+ <key>line</key><integer>96</integer>
+ <key>col</key><integer>13</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ </array>
+ </array>
+ <key>extended_message</key>
+ <string>'i' is not equal to 1</string>
+ <key>message</key>
+ <string>'i' is not equal to 1</string>
+ </dict>
+ <dict>
<key>kind</key><string>control</string>
<key>edges</key>
<array>
@@ -2676,6 +2704,68 @@
<key>end</key>
<array>
<dict>
+ <key>line</key><integer>96</integer>
+ <key>col</key><integer>8</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ <dict>
+ <key>line</key><integer>96</integer>
+ <key>col</key><integer>8</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ </array>
+ </dict>
+ </array>
+ </dict>
+ <dict>
+ <key>kind</key><string>pop-up</string>
+ <key>location</key>
+ <dict>
+ <key>line</key><integer>96</integer>
+ <key>col</key><integer>8</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ <key>ranges</key>
+ <array>
+ <array>
+ <dict>
+ <key>line</key><integer>96</integer>
+ <key>col</key><integer>8</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ <dict>
+ <key>line</key><integer>96</integer>
+ <key>col</key><integer>13</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ </array>
+ </array>
+ <key>extended_message</key>
+ <string>'i' is equal to 1</string>
+ <key>message</key>
+ <string>'i' is equal to 1</string>
+ </dict>
+ <dict>
+ <key>kind</key><string>control</string>
+ <key>edges</key>
+ <array>
+ <dict>
+ <key>start</key>
+ <array>
+ <dict>
+ <key>line</key><integer>96</integer>
+ <key>col</key><integer>8</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ <dict>
+ <key>line</key><integer>96</integer>
+ <key>col</key><integer>8</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ </array>
+ <key>end</key>
+ <array>
+ <dict>
<key>line</key><integer>97</integer>
<key>col</key><integer>5</integer>
<key>file</key><integer>0</integer>
@@ -3447,6 +3537,34 @@
</array>
</dict>
<dict>
+ <key>kind</key><string>pop-up</string>
+ <key>location</key>
+ <dict>
+ <key>line</key><integer>127</integer>
+ <key>col</key><integer>9</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ <key>ranges</key>
+ <array>
+ <array>
+ <dict>
+ <key>line</key><integer>127</integer>
+ <key>col</key><integer>9</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ <dict>
+ <key>line</key><integer>127</integer>
+ <key>col</key><integer>14</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ </array>
+ </array>
+ <key>extended_message</key>
+ <string>'i' is not equal to 1</string>
+ <key>message</key>
+ <string>'i' is not equal to 1</string>
+ </dict>
+ <dict>
<key>kind</key><string>control</string>
<key>edges</key>
<array>
@@ -3624,6 +3742,68 @@
<key>file</key><integer>0</integer>
</dict>
</array>
+ <key>end</key>
+ <array>
+ <dict>
+ <key>line</key><integer>127</integer>
+ <key>col</key><integer>9</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ <dict>
+ <key>line</key><integer>127</integer>
+ <key>col</key><integer>9</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ </array>
+ </dict>
+ </array>
+ </dict>
+ <dict>
+ <key>kind</key><string>pop-up</string>
+ <key>location</key>
+ <dict>
+ <key>line</key><integer>127</integer>
+ <key>col</key><integer>9</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ <key>ranges</key>
+ <array>
+ <array>
+ <dict>
+ <key>line</key><integer>127</integer>
+ <key>col</key><integer>9</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ <dict>
+ <key>line</key><integer>127</integer>
+ <key>col</key><integer>14</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ </array>
+ </array>
+ <key>extended_message</key>
+ <string>'i' is equal to 1</string>
+ <key>message</key>
+ <string>'i' is equal to 1</string>
+ </dict>
+ <dict>
+ <key>kind</key><string>control</string>
+ <key>edges</key>
+ <array>
+ <dict>
+ <key>start</key>
+ <array>
+ <dict>
+ <key>line</key><integer>127</integer>
+ <key>col</key><integer>9</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ <dict>
+ <key>line</key><integer>127</integer>
+ <key>col</key><integer>9</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ </array>
<key>end</key>
<array>
<dict>
Modified: cfe/trunk/test/Analysis/Inputs/expected-plists/retain-release.m.objc.plist
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Analysis/Inputs/expected-plists/retain-release.m.objc.plist?rev=362020&r1=362019&r2=362020&view=diff
==============================================================================
--- cfe/trunk/test/Analysis/Inputs/expected-plists/retain-release.m.objc.plist (original)
+++ cfe/trunk/test/Analysis/Inputs/expected-plists/retain-release.m.objc.plist Wed May 29 13:06:09 2019
@@ -9571,6 +9571,68 @@
<key>end</key>
<array>
<dict>
+ <key>line</key><integer>745</integer>
+ <key>col</key><integer>6</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ <dict>
+ <key>line</key><integer>745</integer>
+ <key>col</key><integer>9</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ </array>
+ </dict>
+ </array>
+ </dict>
+ <dict>
+ <key>kind</key><string>pop-up</string>
+ <key>location</key>
+ <dict>
+ <key>line</key><integer>745</integer>
+ <key>col</key><integer>6</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ <key>ranges</key>
+ <array>
+ <array>
+ <dict>
+ <key>line</key><integer>745</integer>
+ <key>col</key><integer>6</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ <dict>
+ <key>line</key><integer>745</integer>
+ <key>col</key><integer>9</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ </array>
+ </array>
+ <key>extended_message</key>
+ <string>'name' is non-nil</string>
+ <key>message</key>
+ <string>'name' is non-nil</string>
+ </dict>
+ <dict>
+ <key>kind</key><string>control</string>
+ <key>edges</key>
+ <array>
+ <dict>
+ <key>start</key>
+ <array>
+ <dict>
+ <key>line</key><integer>745</integer>
+ <key>col</key><integer>6</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ <dict>
+ <key>line</key><integer>745</integer>
+ <key>col</key><integer>9</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ </array>
+ <key>end</key>
+ <array>
+ <dict>
<key>line</key><integer>746</integer>
<key>col</key><integer>5</integer>
<key>file</key><integer>0</integer>
@@ -10095,6 +10157,68 @@
<key>file</key><integer>0</integer>
</dict>
</array>
+ <key>end</key>
+ <array>
+ <dict>
+ <key>line</key><integer>745</integer>
+ <key>col</key><integer>6</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ <dict>
+ <key>line</key><integer>745</integer>
+ <key>col</key><integer>9</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ </array>
+ </dict>
+ </array>
+ </dict>
+ <dict>
+ <key>kind</key><string>pop-up</string>
+ <key>location</key>
+ <dict>
+ <key>line</key><integer>745</integer>
+ <key>col</key><integer>6</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ <key>ranges</key>
+ <array>
+ <array>
+ <dict>
+ <key>line</key><integer>745</integer>
+ <key>col</key><integer>6</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ <dict>
+ <key>line</key><integer>745</integer>
+ <key>col</key><integer>9</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ </array>
+ </array>
+ <key>extended_message</key>
+ <string>'name' is non-nil</string>
+ <key>message</key>
+ <string>'name' is non-nil</string>
+ </dict>
+ <dict>
+ <key>kind</key><string>control</string>
+ <key>edges</key>
+ <array>
+ <dict>
+ <key>start</key>
+ <array>
+ <dict>
+ <key>line</key><integer>745</integer>
+ <key>col</key><integer>6</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ <dict>
+ <key>line</key><integer>745</integer>
+ <key>col</key><integer>9</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ </array>
<key>end</key>
<array>
<dict>
Modified: cfe/trunk/test/Analysis/Inputs/expected-plists/retain-release.m.objcpp.plist
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Analysis/Inputs/expected-plists/retain-release.m.objcpp.plist?rev=362020&r1=362019&r2=362020&view=diff
==============================================================================
--- cfe/trunk/test/Analysis/Inputs/expected-plists/retain-release.m.objcpp.plist (original)
+++ cfe/trunk/test/Analysis/Inputs/expected-plists/retain-release.m.objcpp.plist Wed May 29 13:06:09 2019
@@ -9571,6 +9571,68 @@
<key>end</key>
<array>
<dict>
+ <key>line</key><integer>745</integer>
+ <key>col</key><integer>6</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ <dict>
+ <key>line</key><integer>745</integer>
+ <key>col</key><integer>9</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ </array>
+ </dict>
+ </array>
+ </dict>
+ <dict>
+ <key>kind</key><string>pop-up</string>
+ <key>location</key>
+ <dict>
+ <key>line</key><integer>745</integer>
+ <key>col</key><integer>6</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ <key>ranges</key>
+ <array>
+ <array>
+ <dict>
+ <key>line</key><integer>745</integer>
+ <key>col</key><integer>6</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ <dict>
+ <key>line</key><integer>745</integer>
+ <key>col</key><integer>9</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ </array>
+ </array>
+ <key>extended_message</key>
+ <string>'name' is non-nil</string>
+ <key>message</key>
+ <string>'name' is non-nil</string>
+ </dict>
+ <dict>
+ <key>kind</key><string>control</string>
+ <key>edges</key>
+ <array>
+ <dict>
+ <key>start</key>
+ <array>
+ <dict>
+ <key>line</key><integer>745</integer>
+ <key>col</key><integer>6</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ <dict>
+ <key>line</key><integer>745</integer>
+ <key>col</key><integer>9</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ </array>
+ <key>end</key>
+ <array>
+ <dict>
<key>line</key><integer>746</integer>
<key>col</key><integer>5</integer>
<key>file</key><integer>0</integer>
@@ -10095,6 +10157,68 @@
<key>file</key><integer>0</integer>
</dict>
</array>
+ <key>end</key>
+ <array>
+ <dict>
+ <key>line</key><integer>745</integer>
+ <key>col</key><integer>6</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ <dict>
+ <key>line</key><integer>745</integer>
+ <key>col</key><integer>9</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ </array>
+ </dict>
+ </array>
+ </dict>
+ <dict>
+ <key>kind</key><string>pop-up</string>
+ <key>location</key>
+ <dict>
+ <key>line</key><integer>745</integer>
+ <key>col</key><integer>6</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ <key>ranges</key>
+ <array>
+ <array>
+ <dict>
+ <key>line</key><integer>745</integer>
+ <key>col</key><integer>6</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ <dict>
+ <key>line</key><integer>745</integer>
+ <key>col</key><integer>9</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ </array>
+ </array>
+ <key>extended_message</key>
+ <string>'name' is non-nil</string>
+ <key>message</key>
+ <string>'name' is non-nil</string>
+ </dict>
+ <dict>
+ <key>kind</key><string>control</string>
+ <key>edges</key>
+ <array>
+ <dict>
+ <key>start</key>
+ <array>
+ <dict>
+ <key>line</key><integer>745</integer>
+ <key>col</key><integer>6</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ <dict>
+ <key>line</key><integer>745</integer>
+ <key>col</key><integer>9</integer>
+ <key>file</key><integer>0</integer>
+ </dict>
+ </array>
<key>end</key>
<array>
<dict>
Modified: cfe/trunk/test/Analysis/NewDelete-path-notes.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Analysis/NewDelete-path-notes.cpp?rev=362020&r1=362019&r2=362020&view=diff
==============================================================================
--- cfe/trunk/test/Analysis/NewDelete-path-notes.cpp (original)
+++ cfe/trunk/test/Analysis/NewDelete-path-notes.cpp Wed May 29 13:06:09 2019
@@ -6,8 +6,8 @@
void test() {
int *p = new int;
// expected-note at -1 {{Memory is allocated}}
- if (p)
- // expected-note at -1 {{Taking true branch}}
+ if (p) // expected-note {{'p' is non-null}}
+ // expected-note at -1 {{Taking true branch}}
delete p;
// expected-note at -1 {{Memory is released}}
Modified: cfe/trunk/test/Analysis/diagnostics/no-store-func-path-notes.c
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Analysis/diagnostics/no-store-func-path-notes.c?rev=362020&r1=362019&r2=362020&view=diff
==============================================================================
--- cfe/trunk/test/Analysis/diagnostics/no-store-func-path-notes.c (original)
+++ cfe/trunk/test/Analysis/diagnostics/no-store-func-path-notes.c Wed May 29 13:06:09 2019
@@ -5,7 +5,8 @@ typedef __typeof(sizeof(int)) size_t;
void *memset(void *__s, int __c, size_t __n);
int initializer1(int *p, int x) {
- if (x) { // expected-note{{Taking false branch}}
+ if (x) { // expected-note{{'x' is 0}}
+ // expected-note at -1{{Taking false branch}}
*p = 1;
return 0;
} else {
@@ -30,7 +31,8 @@ int param_initialized_properly() {
static int global;
int initializer2(int **p, int x) {
- if (x) { // expected-note{{Taking false branch}}
+ if (x) { // expected-note{{'x' is 0}}
+ // expected-note at -1{{Taking false branch}}
*p = &global;
return 0;
} else {
@@ -47,7 +49,8 @@ int param_not_written_into_by_func() {
}
void initializer3(int *p, int param) {
- if (param) // expected-note{{Taking false branch}}
+ if (param) // expected-note{{'param' is 0}}
+ // expected-note at -1{{Taking false branch}}
*p = 0;
} // expected-note{{Returning without writing to '*p'}}
@@ -60,12 +63,14 @@ int param_written_into_by_void_func() {
}
void initializer4(int *p, int param) {
- if (param) // expected-note{{Taking false branch}}
+ if (param) // expected-note{{'param' is 0}}
+ // expected-note at -1{{Taking false branch}}
*p = 0;
} // expected-note{{Returning without writing to '*p'}}
void initializer5(int *p, int param) {
- if (!param) // expected-note{{Taking false branch}}
+ if (!param) // expected-note{{'param' is 1}}
+ // expected-note at -1{{Taking false branch}}
*p = 0;
} // expected-note{{Returning without writing to '*p'}}
@@ -95,7 +100,8 @@ typedef struct {
} S;
int initializer7(S *s, int param) {
- if (param) { // expected-note{{Taking false branch}}
+ if (param) { // expected-note{{'param' is 0}}
+ // expected-note at -1{{Taking false branch}}
s->x = 0;
return 0;
}
Modified: cfe/trunk/test/Analysis/diagnostics/no-store-func-path-notes.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Analysis/diagnostics/no-store-func-path-notes.cpp?rev=362020&r1=362019&r2=362020&view=diff
==============================================================================
--- cfe/trunk/test/Analysis/diagnostics/no-store-func-path-notes.cpp (original)
+++ cfe/trunk/test/Analysis/diagnostics/no-store-func-path-notes.cpp Wed May 29 13:06:09 2019
@@ -1,7 +1,8 @@
// RUN: %clang_analyze_cc1 -x c++ -std=c++14 -analyzer-checker=core -analyzer-output=text -verify %s
int initializer1(int &p, int x) {
- if (x) { // expected-note{{Taking false branch}}
+ if (x) { // expected-note{{'x' is 0}}
+ // expected-note at -1{{Taking false branch}}
p = 1;
return 0;
} else {
@@ -19,7 +20,8 @@ int param_not_initialized_by_func() {
struct S {
int initialize(int *p, int param) {
- if (param) { //expected-note{{Taking false branch}}
+ if (param) { // expected-note{{'param' is 0}}
+ // expected-note at -1{{Taking false branch}}
*p = 1;
return 1;
}
Modified: cfe/trunk/test/Analysis/diagnostics/no-store-func-path-notes.m
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Analysis/diagnostics/no-store-func-path-notes.m?rev=362020&r1=362019&r2=362020&view=diff
==============================================================================
--- cfe/trunk/test/Analysis/diagnostics/no-store-func-path-notes.m (original)
+++ cfe/trunk/test/Analysis/diagnostics/no-store-func-path-notes.m Wed May 29 13:06:09 2019
@@ -10,7 +10,8 @@ extern int coin();
@implementation I
- (int)initVar:(int *)var param:(int)param {
- if (param) { // expected-note{{Taking false branch}}
+ if (param) { // expected-note{{'param' is 0}}
+ // expected-note at -1{{Taking false branch}}
*var = 1;
return 0;
}
@@ -22,14 +23,16 @@ int foo(I *i) {
int x; //expected-note{{'x' declared without an initial value}}
int out = [i initVar:&x param:0]; //expected-note{{Calling 'initVar:param:'}}
//expected-note at -1{{Returning from 'initVar:param:'}}
- if (out) // expected-note{{Taking true branch}}
+ if (out) //expected-note{{'out' is 1}}
+ //expected-note at -1{{Taking true branch}}
return x; //expected-warning{{Undefined or garbage value returned to caller}}
//expected-note at -1{{Undefined or garbage value returned to caller}}
return 0;
}
int initializer1(int *p, int x) {
- if (x) { // expected-note{{Taking false branch}}
+ if (x) { // expected-note{{'x' is 0}}
+ // expected-note at -1{{Taking false branch}}
*p = 1;
return 0;
} else {
Modified: cfe/trunk/test/Analysis/inline-plist.c
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Analysis/inline-plist.c?rev=362020&r1=362019&r2=362020&view=diff
==============================================================================
--- cfe/trunk/test/Analysis/inline-plist.c (original)
+++ cfe/trunk/test/Analysis/inline-plist.c Wed May 29 13:06:09 2019
@@ -43,7 +43,8 @@ void bar(int *p) {
}
if (p == 0) {
- // expected-note at -1 {{Taking true branch}}
+ // expected-note at -1 {{'p' is equal to null}}
+ // expected-note at -2 {{Taking true branch}}
triggers_bug(p);
// expected-note at -1 {{Passing null pointer value via 1st parameter 'p'}}
// expected-note at -2 {{Calling 'triggers_bug'}}
Modified: cfe/trunk/test/Analysis/osobject-retain-release.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Analysis/osobject-retain-release.cpp?rev=362020&r1=362019&r2=362020&view=diff
==============================================================================
--- cfe/trunk/test/Analysis/osobject-retain-release.cpp (original)
+++ cfe/trunk/test/Analysis/osobject-retain-release.cpp Wed May 29 13:06:09 2019
@@ -498,7 +498,8 @@ unsigned int check_dynamic_cast_no_null_
void check_dynamic_cast_null_branch(OSObject *obj) {
OSArray *arr1 = OSArray::withCapacity(10); // expected-note{{Call to method 'OSArray::withCapacity' returns an OSObject}}
OSArray *arr = OSDynamicCast(OSArray, obj); // expected-note{{Assuming dynamic cast returns null due to type mismatch}}
- if (!arr) // expected-note{{Taking true branch}}
+ if (!arr) // expected-note{{'arr' is null}}
+ // expected-note at -1{{Taking true branch}}
return; // expected-warning{{Potential leak of an object stored into 'arr1'}}
// expected-note at -1{{Object leaked}}
arr1->release();
Modified: cfe/trunk/test/Analysis/use-after-move.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Analysis/use-after-move.cpp?rev=362020&r1=362019&r2=362020&view=diff
==============================================================================
--- cfe/trunk/test/Analysis/use-after-move.cpp (original)
+++ cfe/trunk/test/Analysis/use-after-move.cpp Wed May 29 13:06:09 2019
@@ -242,10 +242,12 @@ void reinitializationTest(int i) {
}
{
A a;
- if (i == 1) { // peaceful-note 2 {{Taking false branch}}
+ if (i == 1) { // peaceful-note 2 {{'i' is not equal to 1}}
+ // peaceful-note at -1 2 {{Taking false branch}}
std::move(a);
}
- if (i == 2) { // peaceful-note 2 {{Taking false branch}}
+ if (i == 2) { // peaceful-note 2 {{'i' is not equal to 2}}
+ // peaceful-note at -1 2 {{Taking false branch}}
a = A();
a.foo();
}
@@ -276,7 +278,8 @@ void reinitializationTest(int i) {
// peaceful-note at -1 {{Taking false branch}}
a = A();
}
- if (i > 5) { // peaceful-note {{Taking true branch}}
+ if (i > 5) { // peaceful-note {{'i' is > 5}}
+ // peaceful-note at -1 {{Taking true branch}}
a.foo(); // peaceful-warning {{Method called on moved-from object 'a'}}
// peaceful-note at -1 {{Method called on moved-from object 'a'}}
}
@@ -559,7 +562,9 @@ void differentBranchesTest(int i) {
// Same thing, but with a ternary operator.
{
A a, b;
- i > 0 ? (void)(b = std::move(a)) : a.bar(); // no-warning // peaceful-note {{'?' condition is true}}
+ i > 0 ? (void)(b = std::move(a)) : a.bar(); // no-warning
+ // peaceful-note at -1 {{'i' is > 0}}
+ // peaceful-note at -2 {{'?' condition is true}}
}
// A variation on the theme above.
{
Modified: cfe/trunk/test/Analysis/virtualcall.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Analysis/virtualcall.cpp?rev=362020&r1=362019&r2=362020&view=diff
==============================================================================
--- cfe/trunk/test/Analysis/virtualcall.cpp (original)
+++ cfe/trunk/test/Analysis/virtualcall.cpp Wed May 29 13:06:09 2019
@@ -164,8 +164,10 @@ public:
X(int i) {
if (i > 0) {
#if !PUREONLY
- // expected-note-re at -2 {{{{^}}Taking true branch}}
- // expected-note-re at -3 {{{{^}}Taking false branch}}
+ // expected-note-re at -2 {{{{^}}'i' is > 0}}
+ // expected-note-re at -3 {{{{^}}Taking true branch}}
+ // expected-note-re at -4 {{{{^}}'i' is <= 0}}
+ // expected-note-re at -5 {{{{^}}Taking false branch}}
#endif
X x(i - 1);
#if !PUREONLY
More information about the cfe-commits
mailing list