2015-10-07 14 views
9

Lên đến Xcode 6 khi gõ clang --version chúng tôi đã nhận thông tin về những gì LLVM phiên bản nó được xây dựng:Phiên bản LLVM đi kèm với Xcode là gì?

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

Nhưng bây giờ với Xcode 7 chúng tôi chỉ nhận được như sau:

Apple LLVM version 7.0.0 (clang-700.0.72) 

Trả lời

5

Xem https://gist.github.com/yamaya/2924292 trong đó một bình luận thú vị nói:

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

Phiên bản LLVM báo cáo luôn luôn gây hiểu lầm. "3.6.0svn" có nghĩa là mã được phân nhánh một thời gian sau 3.5 và trước 3.6. Tuy nhiên, Apple cũng áp dụng nhiều thay đổi cục bộ và sửa lỗi backport, vì vậy không có cách nào nói chung liên quan đến một bản sửa đổi dòng chính cụ thể. Đây là lý do tại sao họ gỡ bỏ nó. Và thực sự, người ta cần phải điều trị clang của Apple như một trình biên dịch riêng biệt (so với clang chính).

+0

Vậy làm thế nào để bạn tìm thấy tài liệu về những tính năng được hỗ trợ? – hadley

+0

@hadley, cách đáng tin cậy duy nhất để sử dụng macro __has_feature để kiểm tra tính năng cụ thể. Với toàn bộ mớ hỗn độn với phiên bản, tôi sẽ không tin bất cứ điều gì khác. Có bất kỳ "tính năng" nào mà bạn quan tâm không? –

+3

Tôi có nghĩa là tính năng theo ý nghĩa của những gì cờ dòng lệnh clang hỗ trợ. tức là làm thế nào để bạn có được tương đương với http://clang.llvm.org/docs/UsersManual.html? 'man clang' dường như không toàn diện. – hadley

Các vấn đề liên quan