move documentation of plugins to the .cxx files
It's mostly there already anyway, no need to duplicate it. Change-Id: I5b066f90725a064fb0746e1411900e835e3f66c3
This commit is contained in:
@@ -18,10 +18,12 @@ are found or explicitly using --enable-compiler-plugins.
|
|||||||
|
|
||||||
== Functionality ==
|
== Functionality ==
|
||||||
|
|
||||||
There are two kinds of modules:
|
There are two kinds of plugin actions:
|
||||||
- compile checks - these are run during normal compilation
|
- compile checks - these are run during normal compilation
|
||||||
- rewriters - these must be run manually and modify source files
|
- rewriters - these must be run manually and modify source files
|
||||||
|
|
||||||
|
Each source has a comment saying whether it's compile check or a rewriter
|
||||||
|
and description of functionality.
|
||||||
|
|
||||||
=== Compile checks ===
|
=== Compile checks ===
|
||||||
|
|
||||||
@@ -29,42 +31,13 @@ Used during normal compilation to perform additional checks.
|
|||||||
All warnings and errors are marked '[loplugin]' in the message.
|
All warnings and errors are marked '[loplugin]' in the message.
|
||||||
|
|
||||||
|
|
||||||
==== Unused variable check ====
|
|
||||||
|
|
||||||
- unused parameter 'foo' [loplugin]
|
|
||||||
- unused variable 'foo' [loplugin]
|
|
||||||
|
|
||||||
Additional check for unused variables.
|
|
||||||
|
|
||||||
|
|
||||||
==== Body of if/while/for not in {} ====
|
|
||||||
|
|
||||||
- statement aligned as second statement in if/while/for body but not in a statement block [loplugin]
|
|
||||||
|
|
||||||
Warn about the following construct:
|
|
||||||
|
|
||||||
if( a != 0 )
|
|
||||||
b = 2;
|
|
||||||
c = 3;
|
|
||||||
|
|
||||||
Here either both statements should be inside {} or the second statement in indented wrong.
|
|
||||||
|
|
||||||
|
|
||||||
==== Sal log areas ====
|
|
||||||
|
|
||||||
- unknown log area 'foo' (check or extend sal/inc/sal/log-areas.dox) [loplugin]
|
|
||||||
|
|
||||||
Check area used in SAL_INFO/SAL_WARN macros against the list in sal/inc/sal/log-areas.dox and
|
|
||||||
report if the area is not listed there. The fix is either use a proper area or add it to the list
|
|
||||||
if appropriate.
|
|
||||||
|
|
||||||
|
|
||||||
=== Rewriters ===
|
=== Rewriters ===
|
||||||
|
|
||||||
Rewriters analyse and possibly modify given source files.
|
Rewriters analyse and possibly modify given source files.
|
||||||
Usage: make COMPILER_PLUGIN_TOOL=<rewriter_name>
|
Usage: make COMPILER_PLUGIN_TOOL=<rewriter_name>
|
||||||
Modifications will be written directly to the source files.
|
Modifications will be written directly to the source files.
|
||||||
|
|
||||||
|
|
||||||
== Code documentation / howtos ==
|
== Code documentation / howtos ==
|
||||||
|
|
||||||
TBD
|
TBD
|
||||||
|
@@ -21,6 +21,14 @@ This is a compile check.
|
|||||||
|
|
||||||
Check for two statements that are both indented to look like a body of if/while/for
|
Check for two statements that are both indented to look like a body of if/while/for
|
||||||
but are not inside a compound statement and thus the second one is unrelated.
|
but are not inside a compound statement and thus the second one is unrelated.
|
||||||
|
|
||||||
|
For example:
|
||||||
|
|
||||||
|
if( a != 0 )
|
||||||
|
b = 2;
|
||||||
|
c = 3;
|
||||||
|
|
||||||
|
Here either both statements should be inside {} or the second statement in indented wrong.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
BodyNotInBlock::BodyNotInBlock( ASTContext& context )
|
BodyNotInBlock::BodyNotInBlock( ASTContext& context )
|
||||||
|
@@ -15,6 +15,9 @@
|
|||||||
|
|
||||||
#include "pluginhandler.hxx"
|
#include "pluginhandler.hxx"
|
||||||
|
|
||||||
|
/*
|
||||||
|
Base classes for plugin actions.
|
||||||
|
*/
|
||||||
namespace loplugin
|
namespace loplugin
|
||||||
{
|
{
|
||||||
|
|
||||||
|
@@ -16,6 +16,10 @@
|
|||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
|
|
||||||
|
/*
|
||||||
|
This source file manages all plugin actions. It is not necessary to modify this
|
||||||
|
file when adding new actions.
|
||||||
|
*/
|
||||||
namespace loplugin
|
namespace loplugin
|
||||||
{
|
{
|
||||||
|
|
||||||
|
@@ -13,6 +13,12 @@
|
|||||||
#include <clang/AST/ASTContext.h>
|
#include <clang/AST/ASTContext.h>
|
||||||
#include <clang/Basic/SourceManager.h>
|
#include <clang/Basic/SourceManager.h>
|
||||||
|
|
||||||
|
/*
|
||||||
|
This is a rewriter.
|
||||||
|
|
||||||
|
Change all postfix ++ operators of non-trivial types to prefix if possible.
|
||||||
|
*/
|
||||||
|
|
||||||
namespace loplugin
|
namespace loplugin
|
||||||
{
|
{
|
||||||
|
|
||||||
|
@@ -22,7 +22,9 @@ namespace loplugin
|
|||||||
/*
|
/*
|
||||||
This is a compile check.
|
This is a compile check.
|
||||||
|
|
||||||
Check that areas used in SAL_LOG/SAL_WARN are listed in sal/inc/sal/log-areas.dox .
|
Check area used in SAL_INFO/SAL_WARN macros against the list in sal/inc/sal/log-areas.dox and
|
||||||
|
report if the area is not listed there. The fix is either use a proper area or add it to the list
|
||||||
|
if appropriate.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
SalLogAreas::SalLogAreas( ASTContext& context )
|
SalLogAreas::SalLogAreas( ASTContext& context )
|
||||||
|
Reference in New Issue
Block a user