2015-10-07 15 views
9

Bis zu Xcode 6, wenn clang --version eingeben wir haben die Informationen darüber, was LLVM Version es gebaut wurde:Was ist die LLVM-Version mit Xcode?

Apple LLVM version 6.1.0 (clang-602.0.53) (based on LLVM 3.6.0svn) 

Aber jetzt mit Xcode 7 erhalten wir nur die folgenden:

Apple LLVM version 7.0.0 (clang-700.0.72) 

Antwort

5

Siehe https://gist.github.com/yamaya/2924292 , in dem ein interessanter Kommentar sagt:

Looking at the sources (src/CMakeLists.txt), it appears AppleClang is based on (approximately) the following LLVM branches: clang-700.0.72 => LLVM 3.7.0 clang-700.1.76 => LLVM 3.7.0 clang-700.1.81 => LLVM 3.7.0 clang-703.0.29 => LLVM 3.8.0 clang-703.0.31 => LLVM 3.8.0

4

Die LLVM-Version berichtet war immer irreführend. "3.6.0svn" bedeutet, dass der Code einige Zeit nach 3.5 und vor 3.6 verzweigt wurde. Allerdings wendet Apple auch eine Reihe von lokalen Änderungen und Backports-Bugfixes an, so dass es im Allgemeinen keine Möglichkeit gibt, sich auf eine bestimmte Mainline-Revision zu beziehen. Deshalb haben sie es entfernt. Und wirklich, man muss Apple-gelieferten Clang als einen separaten Compiler behandeln (im Vergleich zu dem Mainline-Clam).

+0

So wie finden Sie eine Dokumentation über welche Funktionen unterstützt? – hadley

+0

@hadley, der einzige zuverlässige Weg, __has_feature Makro zu verwenden, um nach einer bestimmten Funktion zu suchen. Angesichts der ganzen Unordnung mit der Version würde ich nichts anderem trauen. Gibt es ein bestimmtes "Feature", an dem Sie interessiert sind? –

+3

Ich meinte Funktion im Sinne von was Befehlszeilenflags Clang unterstützt. Wie kommen Sie zum Äquivalent von http://clang.llvm.org/docs/UsersManual.html? "Mann klingelt" scheint nicht umfassend zu sein. – hadley

Verwandte Themen