aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLinaro CI <ci_notify@linaro.org>2021-01-08 08:37:42 +0000
committerLinaro CI <ci_notify@linaro.org>2021-01-08 08:37:42 +0000
commit95fc0f20737b1e94e8fb8f8f7d1f5a6fedc9f7ce (patch)
tree307c2784c7a5883e254cdb67a00e4b41b9a695ff
parentf668fe73781e153d3036d7d5a772692c7aef9d79 (diff)
parenta1695cea7e1ce7f42d295e4f8dac1cebf278aca0 (diff)
Merge remote-tracking branch 'plugin-check/tracking-qcomlt-revert-plugin-check' into integration-linux-qcomltintegration-linux-qcomlt-20210109-014016-v5.11-rc2-297-g95fc0f20737b1
-rwxr-xr-xscripts/gcc-plugin.sh19
-rw-r--r--scripts/gcc-plugins/Kconfig2
2 files changed, 20 insertions, 1 deletions
diff --git a/scripts/gcc-plugin.sh b/scripts/gcc-plugin.sh
new file mode 100755
index 000000000000..b79fd0bea838
--- /dev/null
+++ b/scripts/gcc-plugin.sh
@@ -0,0 +1,19 @@
+#!/bin/sh
+# SPDX-License-Identifier: GPL-2.0
+
+set -e
+
+srctree=$(dirname "$0")
+
+gccplugins_dir=$($* -print-file-name=plugin)
+
+# we need a c++ compiler that supports the designated initializer GNU extension
+$HOSTCC -c -x c++ -std=gnu++98 - -fsyntax-only -I $srctree/gcc-plugins -I $gccplugins_dir/include 2>/dev/null <<EOF
+#include "gcc-common.h"
+class test {
+public:
+ int test;
+} test = {
+ .test = 1
+};
+EOF
diff --git a/scripts/gcc-plugins/Kconfig b/scripts/gcc-plugins/Kconfig
index ab9eb4cbe33a..ae19fb0243b9 100644
--- a/scripts/gcc-plugins/Kconfig
+++ b/scripts/gcc-plugins/Kconfig
@@ -9,7 +9,7 @@ menuconfig GCC_PLUGINS
bool "GCC plugins"
depends on HAVE_GCC_PLUGINS
depends on CC_IS_GCC
- depends on $(success,test -e $(shell,$(CC) -print-file-name=plugin)/include/plugin-version.h)
+ depends on $(success,$(srctree)/scripts/gcc-plugin.sh $(CC))
default y
help
GCC plugins are loadable modules that provide extra features to the