2015-10-07 16 views
9

Fino a Xcode 6 durante la digitazione clang --version abbiamo ottenuto le informazioni su quale versione LLVM è stato costruito:Qual è la versione LLVM in bundle con Xcode?

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

Ma ora con Xcode 7 abbiamo solo il seguente:

Apple LLVM version 7.0.0 (clang-700.0.72) 

risposta

5

Vedi https://gist.github.com/yamaya/2924292 in cui un interessante commento dice:

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

La versione LLVM ha riferito era sempre fuorviante. "3.6.0svn" significa che il codice è stato ramificato qualche tempo dopo 3.5 e prima di 3.6. Tuttavia, Apple applica anche numerose modifiche locali e correzioni di errori di backport, quindi in generale non è possibile collegarsi a una particolare revisione della linea principale. Questo è il motivo per cui l'hanno rimosso. E in realtà, è necessario considerare il clang spedito da Apple come un compilatore separato (rispetto al clang principale).

+0

Quindi, come si fa a trovare la documentazione su ciò che sono supportate caratteristiche? – hadley

+0

@hadley, l'unico modo affidabile per utilizzare la macro __has_feature per controllare una particolare funzionalità. Dato tutto il casino con la versione, non mi fiderei di nient'altro. C'è qualche "caratteristica" particolare a cui sei interessato? –

+3

Intendevo la funzione nel senso di ciò che i flag della riga di comando supportano clang. cioè come si arriva all'equivalente di http://clang.llvm.org/docs/UsersManual.html? 'man clang' non sembra completo. – hadley

Problemi correlati