From 79e4a13eee89661f9162e789e9ce47b5e08d5330 Mon Sep 17 00:00:00 2001 From: "John W. Parent" <45471568+johnwparent@users.noreply.github.com> Date: Tue, 16 May 2023 14:00:55 -0400 Subject: 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. --- lib/spack/spack/compilers/msvc.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'lib') 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"): -- cgit v1.2.3-60-g2f50