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

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

私はRHEL7を使用しており、ちょうどインストールしましたclangsudo 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

たとえば、yumdockerイメージにインストールできる以前のバージョンのclang-formatを使用してこの問題を再現できます。sglim2/centos7clang-format --versionこの問題を再現するには、以前のバージョンの clang-format をインストールします。 0を返すように修正されました。 今回提出してください:

コマンドライン:-versionと-helpが正常に終了しました。

現在 CommandLine ライブラリを使用するツールは、-version または -help を使用して呼び出すとエラーで終了します。これは珍しく非標準的な現象なので、成功した終了のためにこれを修正します。

私は誰も現在の行動に頼ることを望まないので、これはかなり安全な変更です。

llvm-svn:202530

関連情報