forked from amazingfate/loongoffice
47 lines
1.1 KiB
Plaintext
47 lines
1.1 KiB
Plaintext
Compiler plugins.
|
|
|
|
== Overview ==
|
|
|
|
This directory contains code for compiler plugins. These are used to perform
|
|
additional actions during compilation (such as additional warnings) and
|
|
also to perform mass code refactoring.
|
|
|
|
Currently only the Clang compiler is supported (http://clang.llvm.org).
|
|
|
|
== Usage ==
|
|
|
|
Compiler plugins are enabled automatically by --enable-dbgutil if Clang headers
|
|
are found or explicitly using --enable-compiler-plugins.
|
|
|
|
|
|
== Functionality ==
|
|
|
|
=== Compile plugin ===
|
|
|
|
The compile plugin is used during normal compilation to perform additional checks.
|
|
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.
|
|
|
|
|
|
== Code documentation / howtos ==
|
|
|
|
TBD
|