【问题标题】:How can I check out clang sources by clang version?如何按 clang 版本查看 clang 源?
【发布时间】:2013-12-07 02:40:23
【问题描述】:

提供了最新的 XCode clang 编译器版本 4.2.1。

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -dumpversion

而且我需要准确查看我在 XCode 中使用的那个版本的 clang 源代码。 (需要在源上构建 clang 插件并将其加载到 Xcode 使用的 clang)

但是当我这样做时:

svn ls http://llvm.org/svn/llvm-project/cfe/tags/

只有版本号(我尝试在其他文件中查看版本):

RELEASE_26/
RELEASE_27/
RELEASE_28/
RELEASE_29/
RELEASE_30/
RELEASE_31/
RELEASE_32/
RELEASE_33/
RELEASE_34/

如何查看 4.2.1 版本中使用的 clang 和 llvm 的来源?

更新:

我下载了那些资源(XCode clang 版本):

http://llvm.org/releases/download.html#3.3

但是构建命令出现意外错误:

llvm-3.3.src/projects/compiler-rt/lib/asan/asan_mac.cc:26:10: fatal error: ‘crt_externs.h’ file not found
#include // for _NSGetArgv
^
1 error generated.

我可以在 XCode 中设置其他 clang 实例而不是

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang ?

【问题讨论】:

  • 你不是从这里发现的吗llvm.org/releases
  • @AnoopVaidya 如果 LLVM 3.3 等于 XCode 5 中使用的 clang 4.2.1,这就是我需要的。谢谢!
  • 4.2.1 并不是真正的版本。检查这个问题:stackoverflow.com/questions/12893731/… 我猜对于 clang 插件,你宁愿需要 llvm 版本,对于 Xcode5 将是 3.3。
  • 我下载了那些源代码(XCode clang 版本):llvm.org/releases/download.html#3.3 但是构建命令出现意外错误:llvm-3.3.src/projects/compiler-rt/lib/asan/asan_mac.cc: 26:10:致命错误:找不到“crt_externs.h”文件#include // for _NSGetArgv ^ 1 生成错误。

标签: c++ xcode svn clang llvm


【解决方案1】:

Apple 的发布时间表很少与 LLVM 一致。

所以他们所做的(我在这里推断)是对 LLVM 存储库进行分支,添加他们已经开发但尚未在开源版本中的任何“专有”位(例如,他们的 ARM64 后端)用于 iPhone 5)。然后他们测试(并修复错误)直到他们满意为止。他们给了它一个 Apple 版本 #,然后发货。

例如,在我的系统上,安装了 Xcode 5.0.1,我得到:

$ clang --version
Apple LLVM version 5.0 (clang-500.2.79) (based on LLVM 3.3svn)

您可以从http://opensource.apple.com 下载 Apple 附带 Xcode 的 clang 版本的源代码

但是,他们似乎还没有提供 5.0 工具的源代码。

【讨论】:

    猜你喜欢
    • 2013-09-04
    • 1970-01-01
    • 2017-01-05
    • 2014-03-04
    • 1970-01-01
    • 2021-10-24
    • 2016-07-12
    • 2020-04-11
    • 2012-09-16
    相关资源
    最近更新 更多