Suppress loplugin:implicitboolconversion warnings in Objective-C code
...(but not Objective-C++ code) where BOOL (aka unsigned char) expressions are routinely implicitly converted to int per the C rules, e.g., as operands of &&. Change-Id: I17e5dae9f065aaa814850196b1ef31f8fb07c99b
This commit is contained in:
@@ -951,11 +951,13 @@ void ImplicitBoolConversion::checkCXXConstructExpr(
|
|||||||
}
|
}
|
||||||
|
|
||||||
void ImplicitBoolConversion::reportWarning(ImplicitCastExpr const * expr) {
|
void ImplicitBoolConversion::reportWarning(ImplicitCastExpr const * expr) {
|
||||||
report(
|
if (!compiler.getLangOpts().ObjC2 || compiler.getLangOpts().CPlusPlus) {
|
||||||
DiagnosticsEngine::Warning,
|
report(
|
||||||
"implicit conversion (%0) from %1 to %2", expr->getLocStart())
|
DiagnosticsEngine::Warning,
|
||||||
<< expr->getCastKindName() << expr->getSubExprAsWritten()->getType()
|
"implicit conversion (%0) from %1 to %2", expr->getLocStart())
|
||||||
<< expr->getType() << expr->getSourceRange();
|
<< expr->getCastKindName() << expr->getSubExprAsWritten()->getType()
|
||||||
|
<< expr->getType() << expr->getSourceRange();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
loplugin::Plugin::Registration<ImplicitBoolConversion> X(
|
loplugin::Plugin::Registration<ImplicitBoolConversion> X(
|
||||||
|
Reference in New Issue
Block a user