diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/spack/spack/concretize.py | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/lib/spack/spack/concretize.py b/lib/spack/spack/concretize.py index 2351e2bfc9..2d5b66487e 100644 --- a/lib/spack/spack/concretize.py +++ b/lib/spack/spack/concretize.py @@ -385,14 +385,13 @@ class DefaultConcretizer(object): arch.platform_os) # copy concrete version into other_compiler - index = 0 - while not _proper_compiler_style(matches[index], spec.architecture): - index += 1 - if index == len(matches) - 1: - arch = spec.architecture - raise UnavailableCompilerVersionError(spec.compiler, - arch.platform_os) - spec.compiler = matches[index].copy() + try: + spec.compiler = next( + c for c in matches + if _proper_compiler_style(c, spec.architecture)).copy() + except StopIteration: + raise UnavailableCompilerVersionError(spec.compiler, + arch.platform_os) assert(spec.compiler.concrete) return True # things changed. |