Warum gibt `clang-format --version` 1 zurück?

Warum gibt `clang-format --version` 1 zurück?

Ich arbeite an einem RHEL7 und habe gerade Folgendes installiert clang: sudo yum install clang.

Dann führe ich den Befehl aus clang-format --versionund die Ausgabe ist unten:

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

Wie Sie sehen, clang-format --versionscheint es ohne Fehler zu funktionieren, echo $?zeigt mir aber ein 1.

Was ist falsch an diesem Befehl?

Ich habe gerade dasselbe auf einem Ubuntu-System gemacht und es gibt keinen solchen Fehler.

Die Ausgabe von type -a clang-format:

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

Die Ausgabe von 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

Antwort1

Dieses Problem kann mit älteren Versionen des Clang-Formats reproduziert werden, die beispielsweise für die Installation mit yumeinem Docker-Image verfügbar sind. wurde geändert, um 0 zurückzugeben in sglim2/centos7clang-format --versiondieses Commit:

CommandLine: Erfolgreich beenden für -version und -help

Tools, die die CommandLine-Bibliothek verwenden, werden derzeit mit einem Fehler beendet, wenn sie mit -version oder -help aufgerufen werden. Dies ist ungewöhnlich und nicht standardmäßig, daher werden wir sie so beheben, dass sie stattdessen erfolgreich beendet werden.

Ich gehe nicht davon aus, dass sich irgendjemand auf das aktuelle Verhalten verlässt, daher sollte dies eine ziemlich sichere Änderung sein.

llvm-svn: 202530

verwandte Informationen