2 ms·
LLVM supports old platforms: some CI bots are targeting stable Debian, or Ubuntu 14.04. LLVM is currently moving to C++14, which is a pain for some users like
by Joky 8y ago
LLVM supports old platforms: some CI bots are targeting stable Debian, or Ubuntu 14.04.
LLVM is currently moving to C++14, which is a pain for some users like TensorFlow for instance which supports Ubuntu 14.04: the c++ standard library is too old.
There are technical solutions for everything but for a component like LLVM, not pressuring its users into convoluted workflow is important.
Of course the LLVM developpers would love to just use the latest version of the standard all the time. For the library part of the standard, it is worked around by having its own: https://github.com/llvm/llvm-project/blob/master/llvm/include/llvm/ADT/STLExtras.h https://github.com/llvm/llvm-project/blob/master/llvm/includ... (and others in the same directory)
- Ericson2314 8y agoThe bootstrapping policy and the capabilities of the CI infra should be decoupled. I'm not not arguing the the policy. In three years when LLVM bumps to C++'17 or whatever, then flang starts obeying. But also I personally think is fine for parts of the project not needed to build C++ to use newer C++. Just use the newly built clang to build flang!
- Joky 7y agoThis is ignoring that LLVM is first and before all designed as reusable libraries. Bumping requirements is causing other problems than just being able to build with the just built compiler: namely deployment and integration in other products. For example, you may be forced to isolate components in dynamic library that talks with each others through C APIs and each statically link the C++ standard library. It can become fairly complicated when this does not fit your setup and you get forced into this because LLVM decided to bump their standard.