698 Commits

Author SHA1 Message Date
Noel Grandin
06ea347b93 loplugin:unusedmethods svtools
Change-Id: I04ad31055c04a247faddf4311943ca769051473c
Reviewed-on: https://gerrit.libreoffice.org/17032
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
Tested-by: Noel Grandin <noelgrandin@gmail.com>
2015-07-14 10:21:55 +00:00
Noel Grandin
a04354ecb3 improve the unusedmethods plugin
to find stuff called from 2 levels+ inside template methods

Change-Id: I4ba308a992e64a091e5364b8aa89e44d6772dcb0
2015-07-14 09:43:57 +02:00
Noel Grandin
a6fed7a19b loplugin:unusedmethods vcl
Change-Id: I53c66b7898f4e0a66e6172d22c6f782dadaf6589
Reviewed-on: https://gerrit.libreoffice.org/16975
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2015-07-13 09:56:16 +00:00
Noel Grandin
001e694ecd loplugin:unusedmethods vcl(part2)
Change-Id: I12356b3fdce68282a30cae2b270b02e46558860a
Reviewed-on: https://gerrit.libreoffice.org/16847
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2015-07-10 08:21:20 +00:00
Noel Grandin
449d272daf loplugin:unusedmethods vcl
Change-Id: I98b88ca3369a2c888fd63796e39d42376d513002
2015-07-08 09:51:27 +02:00
Noel Grandin
e546ed01e6 loplugin:unusedmethods package
Change-Id: I19d6bbb9288d72b99d1023b4983b1c3fff7570e8
Reviewed-on: https://gerrit.libreoffice.org/16811
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2015-07-07 11:01:11 +00:00
Noel Grandin
9d7727737b loplugin:unusedmethods ucb
Change-Id: Idc0ca78da8ebbdfe8489eee92a1167eb1bd9722f
Reviewed-on: https://gerrit.libreoffice.org/16794
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2015-07-07 06:52:52 +00:00
Stephan Bergmann
e93b4d20d8 No MAP_POPULATE on Mac OS X
Change-Id: I6a0b8bbeec94fe19b609542550f9cce783daef20
2015-07-06 19:24:27 +02:00
Noel Grandin
52099a7ad3 new loplugin: unusedmethods
Change-Id: I72574e354aadf357d6d8181a514efb4783e79e28
2015-07-06 09:20:08 +02:00
Noel Grandin
e9c3583c2c improve the returnbyref loplugin
Change-Id: I1b510a6194282dfa4a9001d473127c5ebc8b44eb
Reviewed-on: https://gerrit.libreoffice.org/16731
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2015-07-06 07:04:50 +00:00
Stephan Bergmann
5ed2014684 loplugin:stringconstant: handle OUString+=OUString(literal)
Change-Id: I85a88eaca89bb2c89a3ad374be09547f9b2ed78f
2015-06-26 13:55:36 +02:00
Stephan Bergmann
8fd802eb33 loplugin:stringconstant: OUStringLiteral1 can handle NUL literals just fine
Change-Id: I9b31b01a34a10d5bd329dccd39da83500d6fd2c7
2015-06-26 13:55:30 +02:00
Stephan Bergmann
d4ad86dac6 ...in case this ever gets used with an unsigned APSInt of bitwidth < 7
Change-Id: Ic9436529321e523edd25d0f83ac09a0e22a44013
2015-06-25 15:59:01 +02:00
Noel Grandin
f53c186b8d my previous fix triggered an assert in clang
Change-Id: I67b8dec0d49032134a1b588363e72fa88f5993f7
2015-06-25 14:00:26 +02:00
Noel Grandin
38ea4f018e error: invalid operands to binary expression ('llvm::APSInt' and 'int')
Change-Id: I1a509ce133954a31a504dcc178687427f85f4c1c
2015-06-25 13:48:11 +02:00
Stephan Bergmann
af333e8103 loplugin:stringconstant: Flag more inefficiencies
Change-Id: I47726315f12ef05714bea248d79cc503fb99b23c
2015-06-25 12:38:40 +02:00
Stephan Bergmann
a51ac4d2bb Add variadic PartialWeakComponentImplHelper, remove need for implbase_var.hxx
Change-Id: Iad3417822b2ab3afb75da09c311a0bf07af5e2e4
2015-06-22 21:48:36 +02:00
Stephan Bergmann
383cace9ee Fix for BUILDDIR != SRCDIR
Change-Id: I3ea2a0a6d8f54afcc1959b54c36f90bb849995b4
2015-06-22 17:59:26 +02:00
Stephan Bergmann
3b540819ec Remove loplugin:pointertobool
For one, intended warnings about pointers as function call arguments being
implicitly converted to bool are also covered (along with more) by
loplugin:implicitboolconversion.  For another, this code generates false
positives inside lambdas (where the check for CallExpr eventually always hits in
the PointerToBool::ignoreConversion recursion), see
762e90ffa0cd5f85dadd9bad93391d105e60e418 "vcl: loplugin:pointertobool."

Change-Id: I55eaa668c1b4a2c66a5a015b2414bf161f796f2a
2015-06-15 15:04:57 +02:00
Noel Grandin
9db80b1499 fix vclwidget plugin warning message
Change-Id: Iac6450ed3a7742022d97b0121165f992b483eea0
2015-06-15 14:10:22 +02:00
Noel Grandin
dcf6abfcdf cppcheck:unreadVariable
Change-Id: I03981ceba67280e8ed98a9add7f24b3bd958d522
2015-06-15 14:06:31 +02:00
Noel Grandin
bf34b812a7 New VclPtr clang plugin to catch potential problems.
Change-Id: I2571c4384e4c2dbe411e171325e10d57a0afe5a0
Reviewed-on: https://gerrit.libreoffice.org/16235
Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
Tested-by: Michael Meeks <michael.meeks@collabora.com>
2015-06-12 16:22:52 +00:00
Stephan Bergmann
623359af23 loplugin:unreffun: workaround for visibility-adding redecls
Change-Id: Ic18b44942f4fe02083c0e8167e8c8d4205e66abf
2015-06-09 12:44:31 +02:00
Noel Grandin
56365c650c forgot to add this - the python file for the unnnecessaryvirtual
clang plugin

Change-Id: I1392ad1834dc590cec12e379d6478c42b1bbbc20
2015-06-09 10:08:10 +02:00
Noel Grandin
81b954718f loplugin:unnecessaryvirtuals
Improve the plugin a little.
Create a python script to process the output.
Run it again.

Change-Id: I05c21d8a21c8f4243af739c412fda0a521f9b5f0
2015-06-09 10:06:57 +02:00
Stephan Bergmann
f1bbda1c26 loplugin:cstylecast: deal with remaining pointer casts
Change-Id: Ic714e7f887b421e491544b7c985351077170344d
2015-06-08 16:30:14 +02:00
Stephan Bergmann
b4f9145fb4 Enable loplugin:loopvartoosmall
Change-Id: I114320ebaab9223b82b4fd9710c3cc221a836645
2015-06-02 18:21:58 +02:00
Noel Grandin
6ef9f7e202 loplugin:loopvartoosmall
Change-Id: Ib4def3435eab4625645c5afe3b151f9f430564ac
2015-06-02 12:09:56 +02:00
Stephan Bergmann
acd4ecc38f loplugin:cstylecast: deal with those that are (technically) const_cast
Change-Id: Ice7bbdea1d0df0a92f2e1b38f033adaff2fb8b07
2015-06-02 11:29:13 +02:00
Noel Grandin
55bc128636 loplugin:loopvartoosmall
Change-Id: I86ff38a90018a2ddfb2db3babf67168b0e6257a5
2015-06-01 09:58:56 +02:00
Stephan Bergmann
0571f3c503 loplugin:redundantcast: const_cast to same type
Change-Id: I1abdc2ab0b145e12f7fb00db529f52c11e4d7cfd
2015-05-29 12:05:09 +02:00
Noel Grandin
49ea2258d4 loplugin:loopvartoosmall
Change-Id: I5518e40a30bdad53470cc52b59eff04ab6d873d4
2015-05-29 08:48:41 +02:00
Noel Grandin
e0b2e6e3f7 loplugin:loopvartoosmall
Change-Id: Icbe68b31d4ab04ca3cd9f572e3598413946a75c7
2015-05-29 08:48:41 +02:00
Noel Grandin
6140ca9f1d loplugin:loopvartoosmall
Change-Id: Icb31e51575f7fffd36be73bbd87a3c5e56c3aa26
2015-05-29 08:48:41 +02:00
Noel Grandin
afcf1ecee1 loplugin:loopvartoosmall
Change-Id: I1e9768c08af0bc7caac6a39c13842ee9d8ad962c
2015-05-29 08:48:41 +02:00
Noel Grandin
d5129a9dd6 new clang plugin: loopvartoosmall
Idea from bubli - look for loops where the index variable is of such
size that it cannot cover the range revealed by examining the length
part of the condition.

So far, I have only run the plugin up till the VCL module.

Also the plugin deliberately excludes anything more complicated than a
straightforward incrementing for loop.

Change-Id: Ifced18b01c03ea537c64168465ce0b8287a42015
2015-05-28 12:49:54 +02:00
Noel Grandin
24600dcf31 loplugin:constantfunction
Change-Id: I7cb5b0c2cf9ade557173ca596ea5d42d853ff448
2015-05-22 09:59:46 +02:00
Noel Grandin
245142cef1 vclwidget plugin: check for memcpy of VclPtr
Change-Id: I873d3efbb7b78d0efe5d586b378d024ee22ac77e
2015-05-19 12:15:25 +02:00
Jan Holesovsky
80cf5251e3 loplugin rendercontext: No param => no check.
Change-Id: I30c8624fa00338c9cca7a054e08eacfc4fd6a630
2015-05-14 10:51:49 +02:00
Noel Grandin
117c728593 loplugin: rendercontext, limit output for now
we are only currently interested in methods where the first parameter is
RenderContext

Change-Id: Ic505541c93a765e56e920415d3665b7aa4abb10b
2015-05-14 10:13:10 +02:00
Noel Grandin
274c836cf8 check for static fields that needs to be wrapped in VclPtr
Change-Id: I6135cfd9aa70f90d58150733b6b48525e5c347c8
2015-05-13 12:21:19 +02:00
Stephan Bergmann
0bfc98e63b loplugin:redundantcast: reinterpret_cast to void*
Change-Id: I947b49cfb15f0e7d6ddfaae386656c70e4bd48ba
2015-05-12 18:27:54 +02:00
Stephan Bergmann
3f3c4000d4 loplugin:cstylecast: nop between pointer types of exactly same spelling
Change-Id: I16fdb3a6e92c854f4143b5afd19d33818735222b
2015-05-11 12:51:57 +02:00
Stephan Bergmann
e12e0087e2 Suppress loplugin:implicitboolconversion warnings in Objective-C code
...(but not Objective-C++ code) where BOOL (aka unsigned char) expressions are
routinely implicitly converted to int per the C rules, e.g., as operands of &&.

Change-Id: I17e5dae9f065aaa814850196b1ef31f8fb07c99b
2015-05-11 09:20:13 +02:00
Noel Grandin
fc9e78c788 sw,sc,sd,starmath: convert to vcl::RenderContext
Change-Id: I5d0a3b8ed1c49ba2806e0fa528d908da45afd58c
2015-05-11 09:17:41 +02:00
Stephan Bergmann
5eb6bd4db7 lopluign:staticmethods: Handle DECL_LINK
Change-Id: Ib27854a8470f3ff5b208cb949a7bd02f2a86c969
2015-05-08 19:15:32 +02:00
Stephan Bergmann
e6fa865b4d lopluign:staticmethods: Improve diagnostics
Change-Id: I6079f387a697c5fe794655e455a19d0cb44b96bc
2015-05-08 19:15:31 +02:00
Stephan Bergmann
aa50b1c03f Enable loplugin:staticmethods
Change-Id: Ic0062eddebf9225d298569bb4900047a0ee0b112
2015-05-08 16:57:49 +02:00
Stephan Bergmann
9be45dd750 lopluign:implicitboolconversion: warn about conversion from sal_Bool etc., too
Change-Id: I5bc23a2b599742c579ad82c1b1f68df130ac426b
2015-05-08 09:49:05 +02:00
Noel Grandin
08967d36ba workaround for clang3.2 in vclwidgets clang plugin
Change-Id: I7ac67dd14d14a93fe163febe0f18df56dd613376
2015-05-07 11:18:49 +02:00