2018-08-16 9:13 GMT+09:00 Michael Forney <mforney@xxxxxxxxxxx>: > Some shells use !(pattern|...|pattern) to match file names not > containing the specified patterns. This may result in output like > > $ ./scripts/clang-version.sh gcc > ./scripts/clang-version.sh[18]: COPYING: not found > printf: %d __clang_major__: conversion error > printf: %d __clang_minor__: conversion error > printf: %d __clang_patchlevel__: conversion error > 00000 > $ > > and set CONFIG_CLANG_VERSION to the invalid value '00000'. > > POSIX says[0] > > If the pipeline begins with the reserved word ! and command1 is a > subshell command, the application shall ensure that the ( operator at > the beginning of command1 is separated from the ! by one or more > <blank> characters. The behavior of the reserved word ! immediately > followed by the ( operator is unspecified. > > So, just add a <blank> to prevent this. > > [0] http://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#tag_18_09_02 > > Signed-off-by: Michael Forney <mforney@xxxxxxxxxxx> Applied to linux-kbuild. Thanks! > --- > scripts/clang-version.sh | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/scripts/clang-version.sh b/scripts/clang-version.sh > index dbf0a31eb111..e65fbc3079d4 100755 > --- a/scripts/clang-version.sh > +++ b/scripts/clang-version.sh > @@ -12,7 +12,7 @@ > > compiler="$*" > > -if !( $compiler --version | grep -q clang) ; then > +if ! ( $compiler --version | grep -q clang) ; then > echo 0 > exit 1 > fi > -- > 2.17.1 > -- Best Regards Masahiro Yamada