2015-10-07 6 views
9

Xcode 6 अप करने के लिए जब clang --version टाइपिंग हम क्या 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) 

उत्तर

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

4

LLVM संस्करण सूचना दी हमेशा भ्रामक था। "3.6.0 एसवीएन" का मतलब है कि कोड 3.5 के बाद और 3.6 से पहले कुछ समय ब्रांच किया गया था। हालांकि, ऐप्पल स्थानीय परिवर्तनों और बैकपोर्ट बग फिक्स का भी गुच्छा लागू करता है, इसलिए किसी विशेष मेनलाइन संशोधन से संबंधित सामान्य रूप से कोई रास्ता नहीं है। यही कारण है कि उन्होंने इसे हटा दिया। और वास्तव में, एक को ऐप्पल-शिप क्लैंग को एक अलग कंपाइलर (मेनलाइन क्लैंग की तुलना में) के रूप में पेश करने की आवश्यकता है।

+0

तो तुम सुविधाओं क्या समर्थन कर रहे के बारे में दस्तावेज़ कैसे मिल सकती है? – hadley

+0

@ हैडली, एक विशेष सुविधा की जांच के लिए __has_feature मैक्रो का उपयोग करने का एकमात्र विश्वसनीय तरीका है। संस्करण के साथ पूरी गड़बड़ी को देखते हुए, मैं किसी और चीज पर भरोसा नहीं करता। क्या कोई कण "फीचर" है जिसमें आप रुचि रखते हैं? –

+3

मेरा मतलब यह था कि कमांड लाइन झंडे किस तरह का समर्थन करते हैं। यानी आप http://clang.llvm.org/docs/UsersManual.html के बराबर कैसे पहुंचते हैं? 'आदमी clang' व्यापक प्रतीत नहीं होता है। – hadley

संबंधित मुद्दे