"Initializing to ";
} else if (isa<BlockExpr>(S)) {
action = R->canPrintPretty() ? "captured by block as " :
- "Capturing by block as ";
+ "Captured by block as ";
if (VR) {
// See if we can get the BlockVarRegion.
ProgramStateRef State = StoreSite->getState();
}
}
else {
- os << (R->canPrintPretty() ? "initialized" : "Initializing")
+ os << (R->canPrintPretty() ? "initialized" : "Initialized")
<< " here";
}
}
}
}
}
+ if (!b) {
+ if (R->canPrintPretty())
+ os << "Null pointer value stored";
+ else
+ os << "Storing null pointer value";
+ }
+
+ } else if (V.isUndef()) {
+ if (R->canPrintPretty())
+ os << "Uninitialized value stored";
+ else
+ os << "Storing uninitialized value";
- if (!b)
- os << "Null pointer value stored";
- }
- else if (V.isUndef()) {
- os << "Uninitialized value stored";
} else if (Optional<nonloc::ConcreteInt> CV =
V.getAs<nonloc::ConcreteInt>()) {
- os << "The value " << CV->getValue() << " is assigned";
- }
- else
- os << "Value assigned";
+ if (R->canPrintPretty())
+ os << "The value " << CV->getValue() << " is assigned";
+ else
+ os << "Assigning " << CV->getValue();
+ } else {
+ if (R->canPrintPretty())
+ os << "Value assigned";
+ else
+ os << "Assigning value";
+ }
+
if (R->canPrintPretty()) {
os << " to ";
R->printPretty(os);
int testNonPrintableAssignment(int **p) {
int *&y = *p; // expected-note {{'y' initialized here}}
- y = 0; // expected-note {{Null pointer value stored}}
+ y = 0; // expected-note {{Storing null pointer value}}
return *y; // expected-warning {{Dereference of null pointer (loaded from variable 'y')}}
// expected-note@-1 {{Dereference of null pointer (loaded from variable 'y')}}
}
// CHECK-NEXT: </array>
// CHECK-NEXT: <key>depth</key><integer>0</integer>
// CHECK-NEXT: <key>extended_message</key>
-// CHECK-NEXT: <string>Null pointer value stored</string>
+// CHECK-NEXT: <string>Storing null pointer value</string>
// CHECK-NEXT: <key>message</key>
-// CHECK-NEXT: <string>Null pointer value stored</string>
+// CHECK-NEXT: <string>Storing null pointer value</string>
// CHECK-NEXT: </dict>
// CHECK-NEXT: <dict>
// CHECK-NEXT: <key>kind</key><string>control</string>