summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorJohn W. Parent <45471568+johnwparent@users.noreply.github.com>2023-05-16 14:00:55 -0400
committerGitHub <noreply@github.com>2023-05-16 11:00:55 -0700
commit79e4a13eee89661f9162e789e9ce47b5e08d5330 (patch)
tree14f07cda1c0532d503fef9deb3bc9bc6340c48bf /lib
parent4627438373732dff7ce269b1afe5390a9046dd1c (diff)
downloadspack-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.
Diffstat (limited to 'lib')
-rw-r--r--lib/spack/spack/compilers/msvc.py4
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"):