Vivado Simulator 2016.1 sometimes fails to launch a simulation and issues the following error:
Starting in Vivado 2014.3, the C compiler used by Vivado Simulator was changed from gcc to clang.
Additionally, direct LLVM is used from the 2016.1 release on.
This issue is due to the default direct LLVM. Xilinx recommends falling back to clang as a workaround if LLVM is causing issues.
The XSim compiler executable xelab can be instructed to use clang compiler in one of the following three ways: