Fix for x86_64 build fail
[platform/upstream/connectedhomeip.git] / third_party / ot-br-posix / repo / script / clang-format
1 #!/bin/bash
2 #
3 #  Copyright (c) 2018, The OpenThread Authors.
4 #  All rights reserved.
5 #
6 #  Redistribution and use in source and binary forms, with or without
7 #  modification, are permitted provided that the following conditions are met:
8 #  1. Redistributions of source code must retain the above copyright
9 #     notice, this list of conditions and the following disclaimer.
10 #  2. Redistributions in binary form must reproduce the above copyright
11 #     notice, this list of conditions and the following disclaimer in the
12 #     documentation and/or other materials provided with the distribution.
13 #  3. Neither the name of the copyright holder nor the
14 #     names of its contributors may be used to endorse or promote products
15 #     derived from this software without specific prior written permission.
16 #
17 #  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
18 #  AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
19 #  IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
20 #  ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
21 #  LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
22 #  CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
23 #  SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
24 #  INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
25 #  CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
26 #  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
27 #  POSSIBILITY OF SUCH DAMAGE.
28 #
29
30 CLANG_FORMAT_VERSION="clang-format version 9.0"
31
32 die()
33 {
34     echo " *** ERROR: $*"
35     exit 1
36 }
37
38 # Aliases are not expanded when the shell is not interactive, unless the
39 # expand_aliases shell option is set using shopt.
40 shopt -s expand_aliases
41
42 if command -v clang-format-9 >/dev/null; then
43     alias clang-format=clang-format-9
44 elif command -v clang-format >/dev/null; then
45     case "$(clang-format --version)" in
46         "$CLANG_FORMAT_VERSION"*) ;;
47
48         *)
49             die "$(clang-format --version); clang-format 9.0 required"
50             ;;
51     esac
52 else
53     die "clang-format 9.0 required"
54 fi
55
56 clang-format "$@" || die
57
58 # ensure EOF newline
59 REPLACE=no
60 for arg; do
61     case $arg in
62         -i)
63             REPLACE=yes
64             ;;
65     esac
66 done
67
68 file=$arg
69
70 [ $REPLACE != yes ] || {
71     [ -n "$(tail -c1 "$file")" ] && echo >>"$file"
72 }
73
74 exit 0