From 3ed6736b2c0da6b18b04669f2b268d2170e86d5c Mon Sep 17 00:00:00 2001 From: Harmen Stoppels Date: Fri, 9 May 2025 18:58:52 +0200 Subject: [PATCH] compiler.py: be more defensive (#50403) --- lib/spack/spack/build_systems/compiler.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/spack/spack/build_systems/compiler.py b/lib/spack/spack/build_systems/compiler.py index b4f457bfc6a..d96f840e596 100644 --- a/lib/spack/spack/build_systems/compiler.py +++ b/lib/spack/spack/build_systems/compiler.py @@ -190,7 +190,7 @@ def archspec_name(self) -> str: def cc(self) -> Optional[str]: assert self.spec.concrete, "cannot retrieve C compiler, spec is not concrete" if self.spec.external: - return self.spec.extra_attributes["compilers"].get("c", None) + return self.spec.extra_attributes.get("compilers", {}).get("c", None) return self._cc_path() def _cc_path(self) -> Optional[str]: @@ -201,7 +201,7 @@ def _cc_path(self) -> Optional[str]: def cxx(self) -> Optional[str]: assert self.spec.concrete, "cannot retrieve C++ compiler, spec is not concrete" if self.spec.external: - return self.spec.extra_attributes["compilers"].get("cxx", None) + return self.spec.extra_attributes.get("compilers", {}).get("cxx", None) return self._cxx_path() def _cxx_path(self) -> Optional[str]: @@ -212,7 +212,7 @@ def _cxx_path(self) -> Optional[str]: def fortran(self): assert self.spec.concrete, "cannot retrieve Fortran compiler, spec is not concrete" if self.spec.external: - return self.spec.extra_attributes["compilers"].get("fortran", None) + return self.spec.extra_attributes.get("compilers", {}).get("fortran", None) return self._fortran_path() def _fortran_path(self) -> Optional[str]: