`clang-format --version` が 1 を返すのはなぜですか

`clang-format --version` が 1 を返すのはなぜですか

私は RHEL7 で作業しており、以下をインストールしましたclang: sudo yum install clang

次にコマンドを実行するclang-format --versionと、出力は以下のようになります。

me@localhost:~$ clang-format --version
LLVM (http://llvm.org/):
  LLVM version 3.4.2
  Optimized build.
  Built May 10 2018 (10:48:27).
  Default target: x86_64-redhat-linux-gnu
  Host CPU: x86-64

me@localhost:~$ echo $?
1

ご覧のとおり、clang-format --versionエラーなしで動作しているようですが、echo $?が表示されます1

このコマンドの何が問題なのでしょうか?

Ubuntu システムで同じことを実行しましたが、そのようなエラーは発生しませんでした。

出力type -a clang-format:

clang-format is /usr/bin/clang-format
clang-format is /bin/clang-format

出力file "$(command -v clang-format)":

/usr/bin/clang-format: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=899595580dbae12ee1ae6eb9feb8a19aa6d51f49, stripped

答え1

この問題は、例えばdockerイメージでインストール可能なclang-formatの古いバージョンで再現できます。0 yumを返すように変更されました。 sglim2/centos7clang-format --versionこのコミット:

コマンドライン: -version および -help が正常に終了しました

現在、CommandLine ライブラリを使用するツールは、-version または -help で呼び出されるとエラーで終了します。これは異常であり、標準ではないため、代わりに正常に終了するように修正します。

現在の動作に依存している人はいないと思うので、これはかなり安全な変更になるはずです。

llvm-svn: 202530

関連情報