diff options
author | John W. Parent <45471568+johnwparent@users.noreply.github.com> | 2023-05-16 14:00:55 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-05-16 11:00:55 -0700 |
commit | 79e4a13eee89661f9162e789e9ce47b5e08d5330 (patch) | |
tree | 14f07cda1c0532d503fef9deb3bc9bc6340c48bf | |
parent | 4627438373732dff7ce269b1afe5390a9046dd1c (diff) | |
download | spack-79e4a13eee89661f9162e789e9ce47b5e08d5330.tar.gz spack-79e4a13eee89661f9162e789e9ce47b5e08d5330.tar.bz2 spack-79e4a13eee89661f9162e789e9ce47b5e08d5330.tar.xz spack-79e4a13eee89661f9162e789e9ce47b5e08d5330.zip |
Windows: fix MSVC version handling (#37711)
MSVC compiler logic was using string parsing to extract version
from compiler spec, which was fragile. This broke in #37572, so has
been fixed and made more robust by using attribute access.
-rw-r--r-- | lib/spack/spack/compilers/msvc.py | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/spack/spack/compilers/msvc.py b/lib/spack/spack/compilers/msvc.py index 87e6e42af4..54d159d6a7 100644 --- a/lib/spack/spack/compilers/msvc.py +++ b/lib/spack/spack/compilers/msvc.py @@ -30,7 +30,7 @@ fortran_mapping = { def get_valid_fortran_pth(comp_ver): - cl_ver = str(comp_ver).split("@")[1] + cl_ver = str(comp_ver) sort_fn = lambda fc_ver: StrictVersion(fc_ver) sort_fc_ver = sorted(list(avail_fc_version), key=sort_fn) for ver in sort_fc_ver: @@ -75,7 +75,7 @@ class Msvc(Compiler): # file based on compiler executable path. def __init__(self, *args, **kwargs): - new_pth = [pth if pth else get_valid_fortran_pth(args[0]) for pth in args[3]] + new_pth = [pth if pth else get_valid_fortran_pth(args[0].version) for pth in args[3]] args[3][:] = new_pth super(Msvc, self).__init__(*args, **kwargs) if os.getenv("ONEAPI_ROOT"): |