如何通过clang版本查看clang源?

时间:2013-11-22 09:18:01

标签: c++ xcode svn clang llvm

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

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

我需要查看那个版本的clang源代码,我在XCode中使用的是什么。 (需要在源代码上构建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?

1 个答案:

答案 0 :(得分:4)

Apple的发布时间表很少与LLVM相对应。

所以他们所做的(我在这里推断)是分支LLVM仓库,添加他们已经开发并且还没有开源版本的任何“专有”位(例如,他们的ARM64后端用于iPhone 5)。然后他们测试(并修复bug),直到他们开心。他们给这个苹果版#,并发货。

例如,在我的系统上,安装了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工具的来源。