From 385f6240278b38643894158d2eb7001f25fc965b Mon Sep 17 00:00:00 2001 From: Stephan Bergmann Date: Mon, 12 Dec 2016 15:31:35 +0100 Subject: Prevent use of ORowSetValue with sal_Bool as TINYINT sal_Bool and sal_uInt8 are typedefs for the same underlying type, so any use of ORowSetValue with sal_Bool instead of bool, apparently intending to treat the value as a boolean, actually treated it as a TINYINT. (See e.g. recent 7b0c57b2faec875c790051d233d1e9abaed2a3bc "some compilers don't like implicit bool-to-ORowSetValue conversion".) Now that there's no way to create a sal_uInt8 ORowSetValue, getUInt8 and the m_uInt8 union member can probably go away, too. Change-Id: Ia27554f76e7e9edce6410284b578064573e54fd3 Reviewed-on: https://gerrit.libreoffice.org/31909 Tested-by: Jenkins Reviewed-by: Stephan Bergmann --- compilerplugins/clang/salbool.cxx | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'compilerplugins/clang') diff --git a/compilerplugins/clang/salbool.cxx b/compilerplugins/clang/salbool.cxx index a443234e779c..2da581111264 100644 --- a/compilerplugins/clang/salbool.cxx +++ b/compilerplugins/clang/salbool.cxx @@ -647,7 +647,9 @@ bool SalBool::VisitFunctionDecl(FunctionDecl const * decl) { if (ignoreLocation(decl)) { return true; } - if (isSalBool(compat::getReturnType(*decl).getNonReferenceType())) { + if (isSalBool(compat::getReturnType(*decl).getNonReferenceType()) + && !(decl->isDeletedAsWritten() && isa(decl))) + { FunctionDecl const * f = decl->getCanonicalDecl(); OverrideKind k = getOverrideKind(f); if (k != OverrideKind::YES -- cgit