Kaydet (Commit) 8b1501d8 authored tarafından Stephan Bergmann's avatar Stephan Bergmann

Always disable loplugin:expressionalwayszero, to avoid false positives

bdade7e3 "tdf#105444 DOCX import: don't put
extra paragraphs in comments" caused

> /home/sbergman/lo2/core/writerfilter/source/dmapper/DomainMapper_Impl.cxx:441:22: error: expression always evaluates to zero, lhs=0 rhs=unknown [loplugin:expressionalwayszero]
>                     (sizeof(SAL_NEWLINE_STRING)-1 == 2 && xCursor->getString() == "\n"))
>                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

now with sufficiently new Clang, and the code looks reasonable, and there's no
apparent way to avoid such false positives in the plugin.  (It could check for a
sub-expression of the problematic expression being an object-like macro, but
SAL_NEWLINE_STRING could just as well be a variable instead of a macro.  That
variable would need to be defined in some #if to have different values on
different platforms, so the plugin could theoretically check for such
conditional inclusion, but it's not clear whether that's worth it and would even
be a useful heuristic to not produce neither too many false positives nor too
many false negatives.)  So just disable the plugin for good.

Change-Id: I85dc8573735ccac4e19be20ab7443cbaa85a3164
Reviewed-on: https://gerrit.libreoffice.org/60907
Tested-by: Jenkins
Reviewed-by: 's avatarStephan Bergmann <sbergman@redhat.com>
üst 98530f4d
......@@ -150,12 +150,7 @@ bool ExpressionAlwaysZero::TraverseStaticAssertDecl( StaticAssertDecl * )
return true;
}
// on clang-3.8, this plugin can generate OOM
#if CLANG_VERSION >= 30900
loplugin::Plugin::Registration< ExpressionAlwaysZero > X("expressionalwayszero");
#else
loplugin::Plugin::Registration< ExpressionAlwaysZero > X("expressionalwayszero", false);
#endif
}
......
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