blob: fb92075654711393cd19af2c40fb37dcf7605dd0 [file] [log] [blame]
Emese Revfy6b90bd42016-05-24 00:09:38 +02001#!/bin/sh
2srctree=$(dirname "$0")
3gccplugins_dir=$($3 -print-file-name=plugin)
4plugincc=$($1 -E -x c++ - -o /dev/null -I"${srctree}"/gcc-plugins -I"${gccplugins_dir}"/include 2>&1 <<EOF
5#include "gcc-common.h"
6#if BUILDING_GCC_VERSION >= 4008 || defined(ENABLE_BUILD_WITH_CXX)
7#warning $2 CXX
8#else
9#warning $1 CC
10#endif
11EOF
12)
13
14if [ $? -ne 0 ]
15then
16 exit 1
17fi
18
19case "$plugincc" in
20 *"$1 CC"*)
21 echo "$1"
22 exit 0
23 ;;
24
25 *"$2 CXX"*)
26 # the c++ compiler needs another test, see below
27 ;;
28
29 *)
30 exit 1
31 ;;
32esac
33
34# we need a c++ compiler that supports the designated initializer GNU extension
35plugincc=$($2 -c -x c++ -std=gnu++98 - -fsyntax-only -I"${srctree}"/gcc-plugins -I"${gccplugins_dir}"/include 2>&1 <<EOF
36#include "gcc-common.h"
37class test {
38public:
39 int test;
40} test = {
41 .test = 1
42};
43EOF
44)
45
46if [ $? -eq 0 ]
47then
48 echo "$2"
49 exit 0
50fi
51exit 1