在键入clang --version
时最多为Xcode 6,我们获得了有关它的LLVM版本的信息:
Apple LLVM version 6.1.0 (clang-602.0.53) (based on LLVM 3.6.0svn)
但是现在使用Xcode 7我们只能获得以下内容:
Apple LLVM version 7.0.0 (clang-700.0.72)
答案 0 :(得分:5)
参见https://gist.github.com/yamaya/2924292 其中有一条有趣的评论说:
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
答案 1 :(得分:4)
报告的LLVM版本总是具有误导性。 " 3.6.0svn"表示代码在3.5之后和3.6之前的某个时间分支。但是,Apple也会应用大量本地更改和后端错误修复,因此通常无法与特定主线修订相关联。这就是他们删除它的原因。实际上,需要将Apple发布的clang作为单独的编译器处理(与主线clang相比)。
答案 2 :(得分:1)
维基已经向我们展示了。 https://en.wikipedia.org/wiki/Xcode#Latest_versions
实际上,我们可以检查使用的Xcode的swift版本,并在swift-llvm中查看llvm版本
对于Xcode 10,快速版本是4.2,从CMakeLists.txt我们可以得到llvm版本是6.0.1
if(NOT DEFINED LLVM_VERSION_MAJOR)
set(LLVM_VERSION_MAJOR 6)
endif()
if(NOT DEFINED LLVM_VERSION_MINOR)
set(LLVM_VERSION_MINOR 0)
endif()
if(NOT DEFINED LLVM_VERSION_PATCH)
set(LLVM_VERSION_PATCH 1)
endif()
Apple不应该在clang和swift中使用llvm的两个版本:)
答案 3 :(得分:1)
wiki of xcode应该会有所帮助。
Xcode7.0 => LLVM3.7.0