为什么 `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

例如, 可以使用可在 docker 映像yum中安装的旧版本 clang-format 来重现此问题。sglim2/centos7clang-format --version安装的旧版本 clang-format 来重现此问题。已修改为返回 0 这次提交

命令行:-version 和 -help 成功退出

当前,使用 CommandLine 库的工具在使用 -version 或 -help 调用时会退出并出现错误。这是不寻常且非标准的,因此我们将修复它们以成功退出。

我不希望有人依赖当前的行为,所以这应该是一个相当安全的改变。

llvm-svn:202530

相关内容