Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 814200 | Differences between
and this patch

Collapse All | Expand All

(-)a/scripts/gcc-plugin.sh (-66 lines)
Removed Link Here
1
#!/bin/sh
2
# SPDX-License-Identifier: GPL-2.0
3
srctree=$(dirname "$0")
4
5
SHOW_ERROR=
6
if [ "$1" = "--show-error" ] ; then
7
	SHOW_ERROR=1
8
	shift || true
9
fi
10
11
gccplugins_dir=$($3 -print-file-name=plugin)
12
plugincc=$($1 -E -x c++ - -o /dev/null -I"${srctree}"/gcc-plugins -I"${gccplugins_dir}"/include 2>&1 <<EOF
13
#include "gcc-common.h"
14
#if BUILDING_GCC_VERSION >= 4008 || defined(ENABLE_BUILD_WITH_CXX)
15
#warning $2 CXX
16
#else
17
#warning $1 CC
18
#endif
19
EOF
20
)
21
22
if [ $? -ne 0 ]
23
then
24
	if [ -n "$SHOW_ERROR" ] ; then
25
		echo "${plugincc}" >&2
26
	fi
27
	exit 1
28
fi
29
30
case "$plugincc" in
31
	*"$1 CC"*)
32
		echo "$1"
33
		exit 0
34
		;;
35
36
	*"$2 CXX"*)
37
		# the c++ compiler needs another test, see below
38
		;;
39
40
	*)
41
		exit 1
42
		;;
43
esac
44
45
# we need a c++ compiler that supports the designated initializer GNU extension
46
plugincc=$($2 -c -x c++ -std=gnu++98 - -fsyntax-only -I"${srctree}"/gcc-plugins -I"${gccplugins_dir}"/include 2>&1 <<EOF
47
#include "gcc-common.h"
48
class test {
49
public:
50
	int test;
51
} test = {
52
	.test = 1
53
};
54
EOF
55
)
56
57
if [ $? -eq 0 ]
58
then
59
	echo "$2"
60
	exit 0
61
fi
62
63
if [ -n "$SHOW_ERROR" ] ; then
64
	echo "${plugincc}" >&2
65
fi
66
exit 1
(-)a/scripts/gcc-plugins/Kconfig (-1 / +2 lines)
Lines 17-23 config HAVE_GCC_PLUGINS Link Here
17
menuconfig GCC_PLUGINS
17
menuconfig GCC_PLUGINS
18
	bool "GCC plugins"
18
	bool "GCC plugins"
19
	depends on HAVE_GCC_PLUGINS
19
	depends on HAVE_GCC_PLUGINS
20
	depends on PLUGIN_HOSTCC != ""
20
	depends on CC_IS_GCC
21
	depends on $(success,test -e $(shell,$(CC) -print-file-name=plugin)/include/plugin-version.h)
21
	default y
22
	default y
22
	help
23
	help
23
	  GCC plugins are loadable modules that provide extra features to the
24
	  GCC plugins are loadable modules that provide extra features to the

Return to bug 814200