diff --git a/var/spack/repos/builtin/packages/hdf/package.py b/var/spack/repos/builtin/packages/hdf/package.py index d087ea05ec8..ab929bed606 100644 --- a/var/spack/repos/builtin/packages/hdf/package.py +++ b/var/spack/repos/builtin/packages/hdf/package.py @@ -144,6 +144,14 @@ def flag_handler(self, name, flags): elif name == "fflags": flags.append(self.compiler.f77_pic_flag) + if name == "cflags": + # https://forum.hdfgroup.org/t/help-building-hdf4-with-clang-error-implicit-declaration-of-function-test-mgr-szip-is-invalid-in-c99/7680 + if self.spec.satisfies("@:4.2.15 %apple-clang") or self.spec.satisfies("%clang@16:"): + flags.append("-Wno-error=implicit-function-declaration") + + if self.spec.satisfies("%clang@16:"): + flags.append("-Wno-error=implicit-int") + return flags, None, None def configure_args(self): @@ -178,10 +186,6 @@ def configure_args(self): ["FFLAGS=-fallow-argument-mismatch", "FCFLAGS=-fallow-argument-mismatch"] ) - # https://forum.hdfgroup.org/t/help-building-hdf4-with-clang-error-implicit-declaration-of-function-test-mgr-szip-is-invalid-in-c99/7680 - if self.spec.satisfies("@:4.2.15 %apple-clang"): - config_args.append("CFLAGS=-Wno-error=implicit-function-declaration") - return config_args # Otherwise, we randomly get: