Kaydet (Commit) 1f2f5350 authored tarafından Jan-Marek Glogowski's avatar Jan-Marek Glogowski Kaydeden (comit) Stephan Bergmann

implicitboolconversion: ignore quint64 bitfield

Change-Id: I97380455b9f526b75c7d3855d188d2f659035ba2
Reviewed-on: https://gerrit.libreoffice.org/61170
Tested-by: Jenkins
Reviewed-by: 's avatarStephan Bergmann <sbergman@redhat.com>
üst e65f0c09
......@@ -641,10 +641,12 @@ bool ImplicitBoolConversion::TraverseBinNE(BinaryOperator * expr) {
bool ImplicitBoolConversion::TraverseBinAssign(BinaryOperator * expr) {
nested.push(std::vector<ImplicitCastExpr const *>());
bool bRet = RecursiveASTVisitor::TraverseBinAssign(expr);
// /usr/include/gtk-2.0/gtk/gtktogglebutton.h: struct _GtkToggleButton:
// gtk-2.0/gtk/gtktogglebutton.h: struct _GtkToggleButton:
// guint GSEAL (active) : 1;
// even though <http://www.gtk.org/api/2.6/gtk/GtkToggleButton.html>:
// "active" gboolean : Read / Write
// qt5/QtGui/qaccessible.h: struct State:
// quint64 disabled : 1;
bool bExt = false;
MemberExpr const * me = dyn_cast<MemberExpr>(expr->getLHS());
if (me != nullptr) {
......@@ -653,7 +655,11 @@ bool ImplicitBoolConversion::TraverseBinAssign(BinaryOperator * expr) {
&& fd->getBitWidthValue(compiler.getASTContext()) == 1)
{
TypedefType const * t = fd->getType()->getAs<TypedefType>();
bExt = t != nullptr && t->getDecl()->getNameAsString() == "guint";
if (t != nullptr)
{
std::string sTypeName = t->getDecl()->getNameAsString();
bExt = (sTypeName == "guint" || sTypeName == "quint64");
}
}
}
assert(!nested.empty());
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment