Xcode 捆绑的 LLVM 版本是什么?
What is the LLVM version bundled with Xcode?
输入 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)
报告的 LLVM 版本总是具有误导性。 “3.6.0svn”表示代码在 3.5 之后和 3.6 之前的某个时间分支。但是,Apple 还应用了一系列本地更改和向后移植错误修复,因此通常无法与特定的主线修订相关联。这就是他们删除它的原因。实际上,需要将 Apple 提供的 clang 视为一个单独的编译器(与主线 clang 相比)。
见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
wiki 已经向我们展示了。
https://en.wikipedia.org/wiki/Xcode#Latest_versions
实际上我们可以查看Xcode使用的swift版本,并在swift-llvm
中查看llvm版本
对于Xcode10,swift版本是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 :)
wiki of xcode 应该会有帮助。
Xcode7.0 => LLVM3.7.0
输入 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)
报告的 LLVM 版本总是具有误导性。 “3.6.0svn”表示代码在 3.5 之后和 3.6 之前的某个时间分支。但是,Apple 还应用了一系列本地更改和向后移植错误修复,因此通常无法与特定的主线修订相关联。这就是他们删除它的原因。实际上,需要将 Apple 提供的 clang 视为一个单独的编译器(与主线 clang 相比)。
见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
wiki 已经向我们展示了。 https://en.wikipedia.org/wiki/Xcode#Latest_versions
实际上我们可以查看Xcode使用的swift版本,并在swift-llvm
中查看llvm版本对于Xcode10,swift版本是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 :)
wiki of xcode 应该会有帮助。
Xcode7.0 => LLVM3.7.0