summaryrefslogtreecommitdiffstats
path: root/scripts/Makefile.gcc-plugins
diff options
context:
space:
mode:
authorEmese Revfy <re.emese@gmail.com>2016-05-24 00:10:35 +0200
committerMichal Marek <mmarek@suse.com>2016-06-07 22:57:10 +0200
commit0dae776c6bf31e779c172753f6e2d6426eb42523 (patch)
treea535f373e3a767bc3a3d6177640e3b088f7cdb24 /scripts/Makefile.gcc-plugins
parent6b90bd4ba40b38dc13c2782469c1c77e4ed79915 (diff)
downloadlinux-0dae776c6bf31e779c172753f6e2d6426eb42523.tar.gz
linux-0dae776c6bf31e779c172753f6e2d6426eb42523.tar.bz2
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-plugins1
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