Age | Commit message (Collapse) | Author |
|
...and subsumes not only the use of __builtin_expect in assert, but also the use
of __builtin_constant_p (nested) in htonl on Mac OS X.
Change-Id: I62ab6c71c42948c4ec1e2f1e1d23223cbb13416b
|
|
Change-Id: I62d21e9a579bcb9c116bb272fc1236a890216cd9
|
|
...see
<http://lists.freedesktop.org/archives/libreoffice/2014-February/059654.html>
"Drop CLANGBUILD in addition to CLANGDIR?"
Change-Id: I8d68aa0f2298240c8e7265cab273c602f5b6881a
|
|
...that would not lead to silent changes of the code. That is, it does not warn
about sal_Bool parameters of virtual functions, so that (not yet rewritten)
overrides do not silently become overloads instead.
The plugin is in store/ for now, because not all of the code has been cleaned up
yet.
Change-Id: I6e9b3847eb26c3090f375045188d38097052defe
|
|
Change-Id: Ife39abda6b5274ae196dcbf591d02fa3f36f6072
|
|
...at least on trunk r202077.
Change-Id: Ieb59cc7ac70e2a57ac13eefdfcbb6bfa42e25218
|
|
...to be able to find problems like 6e0bdf04add338b7d5b29fc7b3fc9f08cfd5e96f
"sal_Bool arg of SetUseImagesInMenus was abused to squeeze '2' through it"
earlier when converting occurrences of sal_Bool to bool.
Restricting this check to function call arguments avoids too much noise while
hopefully still catching all the relevant problems.
(This check partially overlaps the pointertobool check, so implicit conversions
from pointers to bool call arguments will now generate two loplugin warnings,
but that's harmless.)
Change-Id: I0b03b1d1615aaf8bc18e7a84c56fff3ef9903508
|
|
Change-Id: If9c9d63d85ce29629e6453f2d69355bd64ac2fc5
|
|
...as found in Mac OS X' assert macro definition,
__builtin_expect(!(e), 0) ? ... : ...
with type
long __builtin_expect(long, long)
The code in literaltoboolconversion.cxx is needed for
assert(false);
Change-Id: I42f87482c56986af74b2ec849db9852f74c7c938
|
|
Change-Id: Id63f42fa8875211af9f41c21f3fa128403f8a880
|
|
Change-Id: I82cb8aa53ea5fd86d6ff46af876dd3f55e1123d1
|
|
Change-Id: I8883649da31eabbc5a0f9780fb953ad58f154e1e
|
|
(at least against a self-built Clang configured --enable-keep-symbols)
Change-Id: I6e38688c78f78aca1864530042159cdcef7a0694
|
|
...that easily works around the problem that in a rewriter rewriting types of
VarDecls like
T x, y;
it would try to replace T twice. Also, keep the list of removals globally with
the (global) rewriter.
Change-Id: I55b8d11986c2a29e09ff40132fd114a0cc48dc90
|
|
It's easier to type 'make ENABLE_WERROR= <module>' if one wants that.
Change-Id: I2bb9911259f41ecae27dc110723f3364b3ff09cf
|
|
Change-Id: I8262091c52522c54f84c0fac5fd180871d4a3a9f
|
|
Change-Id: I03815f33117a2927b1882d221f159a5de8d3ba78
|
|
Change-Id: I3139021c07db6efe16895e10c0539a8bc60aac9c
|
|
Change-Id: I81a7fac291c46a0ee6da76ab3e29c53ad0678b66
|
|
Useful in case someone wants to find all classes deriving from "foo" and "bar".
Change-Id: I7b12882881712d37976eb8c96fad6e9c9ac01370
|
|
Change-Id: I64480e6026e7e39fe89f90c7d269f6bb1d02968d
|
|
First, I updated the clang rewriter to do the conversion.
Then I lightly hand-tweaked the output for the few places where
the rewriter messed up, mostly when dealing with calls on "this".
Change-Id: I40a6a977959cd97415c678eafc8507de8aa3b1a9
Reviewed-on: https://gerrit.libreoffice.org/7879
Reviewed-by: Michael Stahl <mstahl@redhat.com>
Tested-by: Michael Stahl <mstahl@redhat.com>
|
|
Change-Id: I7e4494b7f1cb62ab27851e34ab4dc6be8e04e1fa
Signed-off-by: Stephan Bergmann <sbergman@redhat.com>
|
|
Change-Id: I36dc29659d0d6965c28e5fe0bb03759476de4781
|
|
...at least in trunk 200400 towards Clang 3.5.
Change-Id: Ibe956a7f28c16510506bd354582b3fe5a72582e5
|
|
...at least in trunk 200400 towards Clang 3.5.
Change-Id: I6e295e3a4cf721fbda9df8e7c5bed3993ee78216
|
|
It appears that clang 3.3 also generates spurious warnings, so
adjust the ifdef
Change-Id: Idb57f7eafd55effd4c7c8b1f96c03c2ea6ddaba3
|
|
Change-Id: Ib89b4c12d2cdca873a9fe9a509d7a123977652a7
|
|
...maybe this needs adaption for 3.3 or 3.4 too, known to work with trunk
towards 3.5.
Change-Id: I9f05ae44e4a49ae51df69d5a3c1df5eb371a1c87
|
|
Change-Id: Ib902535c03a9f1b93a2c4ff3dd61d29e316bfd49
|
|
...which warns about apparent errors like
n == KIND_FOO || KIND_BAR
that should have read
n == KIND_FOO || n == KIND_BAR
It also warns about trivial (mis-)uses of 0/1 and sal_False/True like
while (1) { ... }
instead of
while (true) { ... }
which it can automatically rewrite.
It does not warn if the relevant code is inside a macro in a .h (i.e., C)
include file, nor when a string literal is used in the assert macro like
assert(!"this cannot happen");
Change-Id: If8c305a25e5da15e78f6139b5b0c0e868f06d4f3
|
|
...which can act as either a rewriter or a non-rewriter that emits warnings.
Also added COMPILER_PLUGIN_WARNINGS_ONLY=X to demote warnings from plugin X from
errors to warnings, even under --enable-werror.
Change-Id: I05361936240a890515c6bba2459565417c1746b7
|
|
...in &=, |=, ^=, as does MSVC, too.
Change-Id: I57ecc9d784dd483e04ae561c62595b1d0380517f
|
|
...as MSVC would warn about those anyway.
Change-Id: If22dfd35bc01aff1a1bef68702c616e711db42fb
|
|
...as MSVC would warn about those anyway (at least about cases that do not
compare against literal sal_True/sal_False, but warning even about those helped
clean up lots of redundant
if (foo == true)
instead of just
if (foo)
etc. across the code base).
Change-Id: Iad4b335c35c5411070f04f87f974db7942c288d4
|
|
Change-Id: If5c104adc05aa362d15cedf6f8953bda478897bc
|
|
Change-Id: I011e74fd044d0b76cccc60adea362805917c584a
|
|
...as they are often enough errors, like a typo in brace placement in
if (foo == (FOO || bar == BAR) && baz)
or a literal true passed as an argument to a function that rather expects an
integer bit mask, etc. The plugin is smart enough to detect interaction with
logically boolean return/parameter types of C functions that use [unsigned] int
instead, and knows the relevant boolean typedefs (sal_Bool, gboolean, etc.).
Change-Id: I5f0e4344fe86589bec35a71018c7effdedf85e3e
|
|
...which is typically external or generated code and causes warnings that
we cannot easily fix.
Change-Id: If86ecd96c069ec23c6b3d7f5c32bf962397393e5
|
|
Use a clang rewriter to rewrite SvStream::operator<< to methods
like WriteUInt32.
Note that the rewriter is not perfect, and hand-tweaking the output
is necessary.
Change-Id: I0291c8192ca74d6334ed3cf8cb713212b2f0c67d
Reviewed-on: https://gerrit.libreoffice.org/7307
Reviewed-by: Michael Stahl <mstahl@redhat.com>
Tested-by: Michael Stahl <mstahl@redhat.com>
|
|
These are not part of LO and need to be built with native bitness
of the compiler.
Change-Id: I41fdec130a63e0c0d07f1df228031014cd2351c2
|
|
Change-Id: Ia5f104bfd707bcf4e159c78ca2764c861fb0b6d9
|
|
It is constant and can just be replaced by $(SRCDIR)/solenv.
Use BUILD_TYPE where it was used to check if config_*.mk is sourced.
Change-Id: Ib9d480c57194b6340093aa47776f8768df69b7d1
|
|
... it is an abbreviation of "Solar Version".
Since nobody can remember that:
remove OUTDIR OUTDIR_FOR_BUILD SOLARVER SOLARVERSION solarpath
and any mention thereof.
Change-Id: Idb3031c4f25a76ac05b22ec67e3ca3e1e8e512ad
Reviewed-on: https://gerrit.libreoffice.org/6515
Tested-by: LibreOffice gerrit bot <gerrit@libreoffice.org>
Reviewed-by: Michael Stahl <mstahl@redhat.com>
|
|
Change-Id: Id1e74f18c90e69d1a781c8f02e30dc3c005ed4fd
|
|
The mass-conversion has been already done, so it's most probably
not needed anymore.
Change-Id: I3f161b8ea122e4dd185746ea29509b0d7768d6c7
|
|
Compiler plugin to replace with matching number(), boolean() or OUString ctor,
ran it, few manual tweaks, mark as really deprecated.
Change-Id: I4a79bdbcf4c460d21e73b635d2bd3725c22876b2
|
|
Apparently Clang rewriter API doesn't properly bail out if the range
given is not inside one file, so check explicitly.
Change-Id: I27be6d396a131d385231e9c0dfa8c84d9fa15ccc
|
|
Change-Id: I97519c2fb08efa2c694c9fb91a4cc402a6347c2c
|
|
Given that locations often point to a (start of) token, even if it's
e.g. getLocEnd(), this should be very useful.
Change-Id: I266e4c0a234262e99158c8f495b631f54f8a5608
|