diff options
author | Emese Revfy <re.emese@gmail.com> | 2016-05-24 00:10:35 +0200 |
---|---|---|
committer | Michal Marek <mmarek@suse.com> | 2016-06-07 22:57:10 +0200 |
commit | 0dae776c6bf31e779c172753f6e2d6426eb42523 (patch) | |
tree | a535f373e3a767bc3a3d6177640e3b088f7cdb24 /scripts/Makefile.gcc-plugins | |
parent | GCC plugin infrastructure (diff) | |
download | linux-0dae776c6bf31e779c172753f6e2d6426eb42523.tar.xz linux-0dae776c6bf31e779c172753f6e2d6426eb42523.zip |
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 'scripts/Makefile.gcc-plugins')
-rw-r--r-- | scripts/Makefile.gcc-plugins | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/scripts/Makefile.gcc-plugins b/scripts/Makefile.gcc-plugins index bcc373dcb3b5..b4a189c95a8a 100644 --- a/scripts/Makefile.gcc-plugins +++ b/scripts/Makefile.gcc-plugins @@ -2,6 +2,7 @@ ifdef CONFIG_GCC_PLUGINS __PLUGINCC := $(call cc-ifversion, -ge, 0408, $(HOSTCXX), $(HOSTCC)) PLUGINCC := $(shell $(CONFIG_SHELL) $(srctree)/scripts/gcc-plugin.sh "$(__PLUGINCC)" "$(HOSTCXX)" "$(CC)") + gcc-plugin-$(CONFIG_GCC_PLUGIN_CYC_COMPLEXITY) += cyc_complexity_plugin.so GCC_PLUGINS_CFLAGS := $(addprefix -fplugin=$(objtree)/scripts/gcc-plugins/, $(gcc-plugin-y)) export PLUGINCC GCC_PLUGINS_CFLAGS GCC_PLUGIN |