Clang 3.6 bringt im Februar 2015 mehrere Verbesserungen für C- und C++-Projekte unter Windows. Die neue Version kann sich in x86- und x64-Umgebungen mit der MSVC-Umgebung selbst kompilieren, erweitert die Kompatibilität zur Microsoft-C++-ABI und unterstützt den Aufrufstandard __vectorcall.
Für Spiele- und Middleware-Teams ist vor allem die engere Windows-Anbindung relevant. Clang 3.6 unterstützt weitere MSVC-Konstrukte, darunter __super, und kann grundlegende DWARF-Debuginformationen in COFF-Dateien schreiben. Die Release Notes nennen außerdem Unterstützung für C11, erste C++17-Funktionen und neue Hinweise zur Schleifenentrollung über #pragma unroll und #pragma nounroll.
Kernel-Builds und Änderungen an LLVM
Die LLVM-3.6-Release-Notes führen auch die Möglichkeit auf, den Linux-Kernel mit LLVM zu kompilieren. Dafür waren zum damaligen Stand noch wenige Kernel-Patches nötig. Im Backend kamen unter anderem ein objektdateibasiertes Bitcode-Format, Win64-Unwind-Informationen und Änderungen an Metadaten und dem JIT hinzu.
Die neue Compilerbasis passt damit in Arbeitsabläufe, in denen C++-Code für mehrere Zielsysteme gebaut, analysiert und optimiert wird. Einen praktischen Bezug zu hardwarenaher Spieleentwicklung zeigt auch der ältere Beitrag zur SIMD-Mathematik in einem Raytracer. LLVM 3.6 steht mit Quellpaketen und vorgefertigten Binärdateien für Windows, Linux, macOS und weitere Plattformen im offiziellen LLVM-Downloadarchiv bereit.
