LLVM is our core part, when we use LLVM API, we need to consider different LLVM version. However, we don’t list the minimal version of LLVM requirement. I suggest we proposal one requirement of LLVM version like we do in Python (require Python 3.5+) and add this check in CMakeLists.txt / doc.
I raise this is because I use one api in the STLExtras, but it is introduced in the llvm 4.0 (git history), so if we use llvm-3.8, we can not compile. Luckily I have 3.8 in my machine so I find this problem, but I don’t know which minimal version I should keep during development, because we don’t have any doc / CMakeLists.txt to require.