aboutsummaryrefslogtreecommitdiff
path: root/scripts/clang-version.sh
blob: 6fabf0695761977631bb044c1db44f2d464a45f8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#!/bin/sh
# SPDX-License-Identifier: GPL-2.0
#
# clang-version clang-command
#
# Print the compiler version of `clang-command' in a 5 or 6-digit form
# such as `50001' for clang-5.0.1 etc.

compiler="$*"

if ! ( $compiler --version | grep -q clang) ; then
	echo 0
	exit 1
fi

MAJOR=$(echo __clang_major__ | $compiler -E -x c - | tail -n 1)
MINOR=$(echo __clang_minor__ | $compiler -E -x c - | tail -n 1)
PATCHLEVEL=$(echo __clang_patchlevel__ | $compiler -E -x c - | tail -n 1)
printf "%d%02d%02d\\n" $MAJOR $MINOR $PATCHLEVEL