hdf5: Fix compiler identification for warning flags (#24627)
* Fix compiler test Use `self.spec.satisfies` on compiler to determine if a flag should be applied or not. This approach avoids issues with the strings `gcc` or `clang` appearing in the full path to the compiler executables, as happens with spack-installed compilers (e.g. `nvhpc%gcc`). * Limit compiler name search to last path component @skosukhin pointed out that the cflag modification should happen for any clang or gcc compiler, regardless of what compiler spec provides them. This commit reverts to searching for a compiler name containing "gcc" or "clang", but limits the search to the last path component, which avoids matching spack-installed compilers built with gcc (e.g. `nvhpc%gcc`), which will have "gcc" in the compiler path. * Use `os.path` rather than `pathlib` Co-authored-by: Paul Henning <phenning@lanl.gov>
This commit is contained in:
parent
0c5402ea5c
commit
620836a809
1 changed files with 2 additions and 1 deletions
|
@ -187,7 +187,8 @@ def flag_handler(self, name, flags):
|
|||
cmake_flags = []
|
||||
|
||||
if name == "cflags":
|
||||
if "clang" in self.compiler.cc or "gcc" in self.compiler.cc:
|
||||
cc_name = os.path.basename(self.compiler.cc)
|
||||
if "clang" in cc_name or "gcc" in cc_name:
|
||||
# Quiet warnings/errors about implicit declaration of functions
|
||||
# in C99:
|
||||
cmake_flags.append("-Wno-implicit-function-declaration")
|
||||
|
|
Loading…
Reference in a new issue