Clang  is a C++ compiler that can be used for building LibreOffice and/or for additional analysis of the code.
Clang, at least on Linux, seems to produce somewhat slower binaries (5-20%), so there is no advantage in using it for production binaries. (On Mac OS X it is the only alternative (unless you intentionally try to use some obsolete SDK), Apple has phased out GCC from their toolchain.)
There are advantages when using for development:
- Better diagnostics (more expressive, colored, quote source including pointing out the exact place, typedef preservation, suggestions on how to fix the error, etc.), see this page for details.
- Somewhat faster compilation, although not significantly (5-20%). Support for precompiled headers (PCH) further improves this (GCC supports PCH as well, but it's rumoured to be an unreliable hack).
- Clang is a newer modular codebase written in C++, which is easier to read (in case of looking for compiler bugs) or reuse (libclang allows writing other tools or extending the compiler).
- Debug support is unusable with optimizing (i.e. -g does not work with any -O option except for -O0), at least on Linux. Not a big problem for developer builds though.
Building with Clang
See Development/Building LibreOffice with Clang for how to build LibreOffice with Clang instead of GCC, including the possible necessary setup.
Additional compilation warnings
LibreOffice includes a Clang plugin that produces additional warnings during compilation. These require LLVM/Clang development headers/libraries and are enabled automatically by --enable-dbgutil or forced using --enable-compiler-plugins. See Clang plugins for further information, including development information.
LibreOffice includes a Clang plugin that can be also used to do source code changes. Again, this requires LLVM/Clang development headers/libraries, must be enabled by --enable-dbgutil or forced using --enable-compiler-plugins. See Clang plugins for further information, including development information.