> On Oct 30, 2015, at 5:02 PM, Jim Ingham via lldb-commits > <lldb-commits@lists.llvm.org> wrote: > > bool > +ValueObject::IsLogicalTrue (Error& error) > +{ > + Scalar scalar_value; > + > + if (!ResolveValue (scalar_value)) > + { > + error.SetErrorString("failed to get a scalar result"); > + return false; > + } > + > + bool ret; > + if (scalar_value.ULongLong(1) == 0) > + ret = false; > + else > + ret = true; > + error.Clear(); > + return ret; > +} > +
Should we be hardcoding the C notion of false == 0 and true == 1? Could we instead not do something like bool ValueObject::IsLogicalTrue() { Language *language = Language::FindPlugin(GetObjectRuntimeLanguage()) if (language) return language->IsLogicalTrue(*this); else // we could fall back to your algorithm in that case since we don’t have a language plugin for C? } Thanks, - Enrico 📩 egranata@.com ☎️ 27683
_______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits