Addresses #1318. Note that these are only compatibility changes. This PR does not change toolchain packages or build settings. We’ll discuss those in the future and make LLVM version changes in a separate PR.
These changes simply let us change the LLVM version in the future and are backwards compatible with the current 3.7-based toolchain. Tested configurations:
Ubuntu 16.04 (dev5):
LLVM 3.7 (fails, but expected due to bad CPU support, master fails too)
LLVM 5.0 (passes make check, Debug, ASAN on)
LLVM 6.0 (passes make check, Debug, ASAN on)
Ubuntu 16.04 (VM):
LLVM 3.7 (passes make check, Debug, ASAN on)
Ubuntu 18.04 (VM):
LLVM 6.0 (passes make check, Debug, ASAN on)
macOS:
LLVM 3.7 (passes make check, Debug, ASAN on)
LLVM 6.0 (passes make check, Debug, ASAN on)
Coverage decreased (-0.04%) to 77.357% when pulling c8dfd330830873c97688cc855de7f2612c0a9327 on mbutrovich:llvm6 into 3d66d13901028ae4eec543488c692175c8dba65b on cmu-db:master.
Addresses #1318. Note that these are only compatibility changes. This PR does not change toolchain packages or build settings. We’ll discuss those in the future and make LLVM version changes in a separate PR.
These changes simply let us change the LLVM version in the future and are backwards compatible with the current 3.7-based toolchain. Tested configurations:
Ubuntu 16.04 (dev5): LLVM 3.7 (fails, but expected due to bad CPU support, master fails too) LLVM 5.0 (passes make check, Debug, ASAN on) LLVM 6.0 (passes make check, Debug, ASAN on)
Ubuntu 16.04 (VM): LLVM 3.7 (passes make check, Debug, ASAN on)
Ubuntu 18.04 (VM): LLVM 6.0 (passes make check, Debug, ASAN on)
macOS: LLVM 3.7 (passes make check, Debug, ASAN on) LLVM 6.0 (passes make check, Debug, ASAN on)
Code modifications based on: http://lists.llvm.org/pipermail/llvm-dev/2015-August/089706.html https://reviews.llvm.org/rL298010 https://stackoverflow.com/questions/46367910/llvm-5-0-linking-error-with-llvmmoduledump
We'll need to discuss what we want the minimum version to be going forward (CMake, packages.sh) once these code changes go in.