diff options
author | Emese Revfy <re.emese@gmail.com> | 2016-05-23 18:10:35 -0400 |
---|---|---|
committer | Michal Marek <mmarek@suse.com> | 2016-06-07 16:57:10 -0400 |
commit | 0dae776c6bf31e779c172753f6e2d6426eb42523 (patch) | |
tree | a535f373e3a767bc3a3d6177640e3b088f7cdb24 /arch/Kconfig | |
parent | 6b90bd4ba40b38dc13c2782469c1c77e4ed79915 (diff) |
Add Cyclomatic complexity GCC plugin
Add a very simple plugin to demonstrate the GCC plugin infrastructure. This GCC
plugin computes the cyclomatic complexity of each function.
The complexity M of a function's control flow graph is defined as:
M = E - N + 2P
where
E = the number of edges
N = the number of nodes
P = the number of connected components (exit nodes).
Signed-off-by: Emese Revfy <re.emese@gmail.com>
Acked-by: Kees Cook <keescook@chromium.org>
Signed-off-by: Michal Marek <mmarek@suse.com>
Diffstat (limited to 'arch/Kconfig')
-rw-r--r-- | arch/Kconfig | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/arch/Kconfig b/arch/Kconfig index 1b93632198fa..04ca45262ad1 100644 --- a/arch/Kconfig +++ b/arch/Kconfig | |||
@@ -372,6 +372,18 @@ menuconfig GCC_PLUGINS | |||
372 | 372 | ||
373 | See Documentation/gcc-plugins.txt for details. | 373 | See Documentation/gcc-plugins.txt for details. |
374 | 374 | ||
375 | config GCC_PLUGIN_CYC_COMPLEXITY | ||
376 | bool "Compute the cyclomatic complexity of a function" | ||
377 | depends on GCC_PLUGINS | ||
378 | help | ||
379 | The complexity M of a function's control flow graph is defined as: | ||
380 | M = E - N + 2P | ||
381 | where | ||
382 | |||
383 | E = the number of edges | ||
384 | N = the number of nodes | ||
385 | P = the number of connected components (exit nodes). | ||
386 | |||
375 | config HAVE_CC_STACKPROTECTOR | 387 | config HAVE_CC_STACKPROTECTOR |
376 | bool | 388 | bool |
377 | help | 389 | help |