forked from OSchip/llvm-project
Cleanup title/description of "undefined branch" BugType and add some test cases for this check.
llvm-svn: 89679
This commit is contained in:
parent
8c793172c2
commit
d4dca6fde6
|
@ -72,8 +72,7 @@ void UndefBranchChecker::VisitBranchCondition(GRBranchNodeBuilder &Builder,
|
||||||
if (N) {
|
if (N) {
|
||||||
N->markAsSink();
|
N->markAsSink();
|
||||||
if (!BT)
|
if (!BT)
|
||||||
BT = new BuiltinBug("Undefined branch",
|
BT = new BuiltinBug("Branch condition evaluates to a garbage value");
|
||||||
"Branch condition evaluates to an undefined or garbage value");
|
|
||||||
EnhancedBugReport *R = new EnhancedBugReport(*BT, BT->getDescription(),N);
|
EnhancedBugReport *R = new EnhancedBugReport(*BT, BT->getDescription(),N);
|
||||||
R->addVisitorCreator(bugreporter::registerTrackNullOrUndefValue,
|
R->addVisitorCreator(bugreporter::registerTrackNullOrUndefValue,
|
||||||
Condition);
|
Condition);
|
||||||
|
|
|
@ -751,6 +751,23 @@ void test_undefined_array_subscript() {
|
||||||
}
|
}
|
||||||
@end
|
@end
|
||||||
|
|
||||||
|
//===----------------------------------------------------------------------===//
|
||||||
|
// Test using an uninitialized value as a branch condition.
|
||||||
|
//===----------------------------------------------------------------------===//
|
||||||
|
|
||||||
|
int test_uninit_branch(void) {
|
||||||
|
int x;
|
||||||
|
if (x) // expected-warning{{Branch condition evaluates to a garbage value}}
|
||||||
|
return 1;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
int test_uninit_branch_b(void) {
|
||||||
|
int x;
|
||||||
|
return x ? 1 : 0; // expected-warning{{Branch condition evaluates to a garbage value}}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
// Test passing an undefined value in a message or function call.
|
// Test passing an undefined value in a message or function call.
|
||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
|
|
Loading…
Reference in New Issue