llvm: don't build CppBackend for flang versions of llvm (#11841)

The version of LLVM used by flang is new enough that CppBackend doesn't exist.  Unfortunately, `flang-xxxxxxxx` is seen as < `3.9.0` by the version check.  

* add a special case for `flang` versions.
This commit is contained in:
Dr Owain Kenway 2019-07-01 01:04:29 +01:00 committed by Todd Gamblin
parent cf76a143a2
commit 441401bb8b

View file

@ -664,10 +664,14 @@ def cmake_args(self):
if '+all_targets' not in spec: # all is default on cmake if '+all_targets' not in spec: # all is default on cmake
targets = ['NVPTX', 'AMDGPU'] targets = ['NVPTX', 'AMDGPU']
if spec.version < Version('3.9.0'): if (spec.version < Version('3.9.0')
and spec.version[0] != 'flang'):
# Starting in 3.9.0 CppBackend is no longer a target (see # Starting in 3.9.0 CppBackend is no longer a target (see
# LLVM_ALL_TARGETS in llvm's top-level CMakeLists.txt for # LLVM_ALL_TARGETS in llvm's top-level CMakeLists.txt for
# the complete list of targets) # the complete list of targets)
# This also applies to the version of llvm used by flang
# hence the test to see if the version starts with "flang".
targets.append('CppBackend') targets.append('CppBackend')
if 'x86' in spec.architecture.target.lower(): if 'x86' in spec.architecture.target.lower():