Commit Graph

5 Commits

Author SHA1 Message Date
Stephan Bergmann
1f078fcadd Prepare dual-mode compiler plugin feature
...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
2014-01-27 13:12:33 +01:00
Caolán McNamara
3656a57e88 add mode lines to new files (and idls) since last run
Change-Id: Id1e74f18c90e69d1a781c8f02e30dc3c005ed4fd
2013-09-22 12:21:34 +01:00
Luboš Luňák
4f60eb885a helper for getting location after current token
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
2013-08-21 15:08:16 +02:00
Luboš Luňák
c17c8cc029 mention the explicit bool conversion from C++11 for pointer-to-bool check
Change-Id: I050019b30d2ec96bbd25916624f8cb88d72110e4
2013-07-16 15:41:40 +02:00
Luboš Luňák
22fa63a4fa compiler plugin warning about unwanted silent pointer-to-bool conversions
C/C++ silently converts pointers to booleans, which is presumably seen as
a good idea by lazy people, but it can occassionally silently break code
in strange ways, most notably by selecting a bool overload when no matching
overload for the pointer exists (OUStringBuffer::append() can break like that,
e.g. in ba37e4062f, other cases are
8e3bf1598f or 28e4c0250e).

So far the plugin checks only conversions in function call arguments, there's
disabled code that could check more places, but I'm not aware so far of any place
where anything actually broke because of that, and it'd require fixups to be
explicit in some places (e.g. 'bool b = returns_pointer();' would require '!= NULL'
added), so for it'll be only the simple various and it can be made more strict if wanted.

Change-Id: I6a5d207daf925e6c2d1bf684060536795ecfcc35
2013-07-15 23:29:47 +02:00