summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAllen Byrne <50328838+byrnHDF@users.noreply.github.com>2023-11-13 19:52:31 (GMT)
committerGitHub <noreply@github.com>2023-11-13 19:52:31 (GMT)
commit378e99079bd8904e96a9c68b4203becf642fc3de (patch)
tree98c4f8233877a4a2e95c037a38ab6fb041c871db
parent28d2b6771f41396f1e243e00cb9dd57c4c891613 (diff)
downloadhdf5-378e99079bd8904e96a9c68b4203becf642fc3de.zip
hdf5-378e99079bd8904e96a9c68b4203becf642fc3de.tar.gz
hdf5-378e99079bd8904e96a9c68b4203becf642fc3de.tar.bz2
cmakedefine macro uses C comments with "#undef" (#3845)
* Correct CMake macro name * Use ifdef for H5_HAVE_FLOAT128 like elsewhere
-rw-r--r--fortran/src/CMakeLists.txt17
-rw-r--r--fortran/src/H5_ff.F902
-rw-r--r--fortran/src/H5config_f.inc.cmake28
3 files changed, 41 insertions, 6 deletions
diff --git a/fortran/src/CMakeLists.txt b/fortran/src/CMakeLists.txt
index d054503..87557db 100644
--- a/fortran/src/CMakeLists.txt
+++ b/fortran/src/CMakeLists.txt
@@ -37,10 +37,25 @@ if (H5_HAVE_PARALLEL)
endif ()
set (CMAKE_H5_HAVE_FLOAT128 0)
-if (HAVE_FLOAT128)
+if (H5_HAVE_FLOAT128)
set (CMAKE_H5_HAVE_FLOAT128 1)
endif ()
+set (CMAKE_H5_FORTRAN_HAVE_STORAGE_SIZE 0)
+if (H5_FORTRAN_HAVE_STORAGE_SIZE)
+ set (CMAKE_H5_FORTRAN_HAVE_STORAGE_SIZE 1)
+endif ()
+
+set (CMAKE_H5_FORTRAN_HAVE_SIZEOF 0)
+if (H5_FORTRAN_HAVE_SIZEOF)
+ set (CMAKE_H5_FORTRAN_HAVE_SIZEOF 1)
+endif ()
+
+set (CMAKE_H5_FORTRAN_HAVE_C_SIZEOF 0)
+if (H5_FORTRAN_HAVE_C_SIZEOF)
+ set (CMAKE_H5_FORTRAN_HAVE_C_SIZEOF 1)
+endif ()
+
configure_file (${HDF5_F90_SRC_SOURCE_DIR}/H5config_f.inc.cmake ${HDF5_F90_BINARY_DIR}/H5config_f.inc @ONLY)
configure_file (${HDF5_F90_SRC_SOURCE_DIR}/H5fort_type_defines.h.cmake ${HDF5_F90_BINARY_DIR}/H5fort_type_defines.h @ONLY)
diff --git a/fortran/src/H5_ff.F90 b/fortran/src/H5_ff.F90
index 5315673..05a48ac 100644
--- a/fortran/src/H5_ff.F90
+++ b/fortran/src/H5_ff.F90
@@ -996,7 +996,7 @@ CONTAINS
h5_type = H5T_NATIVE_REAL_C_LONG_DOUBLE
#endif
#if H5_PAC_FC_MAX_REAL_PRECISION > 28
-#if H5_HAVE_FLOAT128 == 1
+#ifdef H5_HAVE_FLOAT128
ELSE
h5_type = H5T_NATIVE_FLOAT_128
#endif
diff --git a/fortran/src/H5config_f.inc.cmake b/fortran/src/H5config_f.inc.cmake
index 0f274db..6652076 100644
--- a/fortran/src/H5config_f.inc.cmake
+++ b/fortran/src/H5config_f.inc.cmake
@@ -36,13 +36,28 @@
#endif
! Define if the intrinsic function STORAGE_SIZE exists
-#cmakedefine H5_FORTRAN_HAVE_STORAGE_SIZE @H5_FORTRAN_HAVE_STORAGE_SIZE@
+#cmakedefine01 CMAKE_H5_FORTRAN_HAVE_STORAGE_SIZE
+#if CMAKE_H5_FORTRAN_HAVE_STORAGE_SIZE == 0
+#undef H5_FORTRAN_HAVE_STORAGE_SIZE
+#else
+#define H5_FORTRAN_HAVE_STORAGE_SIZE
+#endif
! Define if the intrinsic function SIZEOF exists
-#cmakedefine H5_FORTRAN_HAVE_SIZEOF @H5_FORTRAN_HAVE_SIZEOF@
+#cmakedefine01 CMAKE_H5_FORTRAN_HAVE_SIZEOF
+#if CMAKE_H5_FORTRAN_HAVE_SIZEOF == 0
+#undef H5_FORTRAN_HAVE_SIZEOF
+#else
+#define H5_FORTRAN_HAVE_SIZEOF
+#endif
! Define if the intrinsic function C_SIZEOF exists
-#cmakedefine H5_FORTRAN_HAVE_C_SIZEOF @H5_FORTRAN_HAVE_C_SIZEOF@
+#cmakedefine01 CMAKE_H5_FORTRAN_HAVE_C_SIZEOF
+#if CMAKE_H5_FORTRAN_HAVE_C_SIZEOF == 0
+#undef H5_FORTRAN_HAVE_C_SIZEOF
+#else
+#define H5_FORTRAN_HAVE_C_SIZEOF
+#endif
! Define if the intrinsic function C_LONG_DOUBLE exists
#define H5_FORTRAN_HAVE_C_LONG_DOUBLE @H5_FORTRAN_HAVE_C_LONG_DOUBLE@
@@ -63,7 +78,12 @@
#define H5_PAC_FC_MAX_REAL_PRECISION @H5_PAC_FC_MAX_REAL_PRECISION@
! If C has quad precision
-#cmakedefine H5_HAVE_FLOAT128 @H5_HAVE_FLOAT128@
+#cmakedefine01 CMAKE_H5_HAVE_FLOAT128
+#if CMAKE_H5_HAVE_FLOAT128 == 0
+#undef H5_HAVE_FLOAT128
+#else
+#define H5_HAVE_FLOAT128
+#endif
! Define if INTEGER*16 is available
#define H5_HAVE_Fortran_INTEGER_SIZEOF_16 @H5_HAVE_Fortran_INTEGER_SIZEOF_16@