What is the difference between this llvm distribution and the one installed from msys2 pacman?
SainoNamkho opened this issue · comments
Hello, I've used your clang for years, but I'm not aware of the differences. Is the llvm-mingw-20240306-ucrt-msys2-mingw64.tar.xz
in the release the same as mingw-w64-ucrt-x86_64-clang
from msys2?
Oops, the *-msys2-*
files weren't really meant to be in the releases. They're only intended to be part of the nightly build testing.
Functionally, the tools in this distribution are very similar to the ones in the clang64
environment in msys2. The package you mentioned is in the ucrt
environment; that behaves slightly differently, as it uses libstdc++ as the default C++ library, and uses ld.bfd
instead of lld
as default linker.
The main difference is that the tools in this distribution are built and usable standalone (but also work within a different environment like msys2).
Oops, the
*-msys2-*
files weren't really meant to be in the releases. They're only intended to be part of the nightly build testing.Functionally, the tools in this distribution are very similar to the ones in the
clang64
environment in msys2. The package you mentioned is in theucrt
environment; that behaves slightly differently, as it uses libstdc++ as the default C++ library, and usesld.bfd
instead oflld
as default linker.The main difference is that the tools in this distribution are built and usable standalone (but also work within a different environment like msys2).
Thanks a lot. Then I'm still a little confused, if *-msys2-mingw64*
uses libc++
and lld
, what is *-msys2-clangd64*
then?
Thanks a lot. Then I'm still a little confused, if
*-msys2-mingw64*
useslibc++
andlld
, what is*-msys2-clangd64*
then?
The llvm-mingw built artifacts that are named *-msys2-mingw64*
are files that were built in a msys2 mingw64
environment. I.e. the compiler executable itself uses msvcrt.dll and libstdc++ in order to run, and were linked by ld.bfd. But they compile executables that use UCRT and libc++, using lld.
If this confuses you, please forget that my releases ever contained any files named *msys2*
. That was a mistake and was not meant to be there.