Skip to content

Commit 9d9ab6b

Browse files
authored
Merge branch 'develop' into improve_error_checking
2 parents 0fdb23c + e4c16e9 commit 9d9ab6b

29 files changed

Lines changed: 114 additions & 215 deletions

.github/workflows/nvhpc.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,7 @@ jobs:
7878
-DHDF5_BUILD_JAVA:BOOL=OFF \
7979
-DMPIEXEC_MAX_NUMPROCS:STRING="2" \
8080
-DMPIEXEC_PREFLAGS:STRING="--mca;opal_warn_on_missing_libcuda;0" \
81+
-DCMAKE_C_FLAGS="-Mnovect" \
8182
$GITHUB_WORKSPACE
8283
8384
- name: Build

.github/workflows/openbsd.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,14 +45,14 @@ jobs:
4545
strategy:
4646
fail-fast: false
4747
matrix:
48-
openbsd-version: ['7.8']
48+
openbsd-version: ['7.9']
4949

5050
steps:
5151
- name: Checkout repository
5252
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
5353

5454
- name: Build and test on OpenBSD
55-
uses: vmactions/openbsd-vm@d7d892b7b9ba97ed2747b0fc201be65037d64c3e # v1.4.0
55+
uses: vmactions/openbsd-vm@23b3fb94fbb4729a51b1c937f609483e759c8f28
5656
with:
5757
release: ${{ matrix.openbsd-version }}
5858
usesh: true

fortran/src/CMakeLists.txt

Lines changed: 1 addition & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,6 @@ cmake_minimum_required (VERSION 3.26)
88
project (HDF5_F90_SRC C Fortran)
99

1010
#-----------------------------------------------------------------------------
11-
if (H5_NO_DEPRECATED_SYMBOLS)
12-
set (CMAKE_NO_DEPRECATED_SYMBOLS 1)
13-
else ()
14-
set (CMAKE_NO_DEPRECATED_SYMBOLS 0)
15-
endif ()
16-
1711
# configure def file for shared libs on windows
1812
if (WIN32)
1913
if (BUILD_SHARED_LIBS)
@@ -34,64 +28,8 @@ if (WIN32)
3428
endif ()
3529
endif ()
3630

37-
if (H5_HAVE_MPI_F08) # MPI-3 module mpi_f08 supported
38-
set (CMAKE_H5_HAVE_MPI_F08 1)
39-
else ()
31+
if (NOT H5_HAVE_MPI_F08) # MPI-3 module mpi_f08 supported
4032
set (H5_NOMPI_F08 ";")
41-
set (CMAKE_H5_HAVE_MPI_F08 0)
42-
endif ()
43-
44-
if (H5_HAVE_DARWIN) # Used in testing
45-
set (CMAKE_H5_HAVE_DARWIN 1)
46-
else ()
47-
set (CMAKE_H5_HAVE_DARWIN 0)
48-
endif ()
49-
50-
# configure for Fortran preprocessor
51-
52-
# Define Parallel variable for passing to H5config_f.inc.cmake
53-
set (CMAKE_H5_HAVE_PARALLEL 0)
54-
set (CMAKE_H5_HAVE_SUBFILING_VFD 0)
55-
if (H5_HAVE_PARALLEL)
56-
set (CMAKE_H5_HAVE_PARALLEL 1)
57-
if (H5_HAVE_SUBFILING_VFD)
58-
set (CMAKE_H5_HAVE_SUBFILING_VFD 1)
59-
endif ()
60-
endif ()
61-
62-
set (CMAKE_H5_HAVE_FLOAT128 0)
63-
if (H5_HAVE_FLOAT128)
64-
set (CMAKE_H5_HAVE_FLOAT128 1)
65-
endif ()
66-
67-
set (CMAKE_H5_FORTRAN_HAVE_STORAGE_SIZE 0)
68-
if (H5_FORTRAN_HAVE_STORAGE_SIZE)
69-
set (CMAKE_H5_FORTRAN_HAVE_STORAGE_SIZE 1)
70-
endif ()
71-
72-
set (CMAKE_H5_FORTRAN_HAVE_SIZEOF 0)
73-
if (H5_FORTRAN_HAVE_SIZEOF)
74-
set (CMAKE_H5_FORTRAN_HAVE_SIZEOF 1)
75-
endif ()
76-
77-
set (CMAKE_H5_FORTRAN_HAVE_C_SIZEOF 0)
78-
if (H5_FORTRAN_HAVE_C_SIZEOF)
79-
set (CMAKE_H5_FORTRAN_HAVE_C_SIZEOF 1)
80-
endif ()
81-
82-
set (CMAKE_H5_HAVE_ISO_FORTRAN_ENV 0)
83-
if (H5_HAVE_ISO_FORTRAN_ENV)
84-
set (CMAKE_H5_HAVE_ISO_FORTRAN_ENV 1)
85-
endif ()
86-
87-
set (CMAKE_H5_FORTRAN_HAVE_CHAR_ALLOC 0)
88-
if (H5_FORTRAN_HAVE_CHAR_ALLOC)
89-
set (CMAKE_H5_FORTRAN_HAVE_CHAR_ALLOC 1)
90-
endif ()
91-
92-
set (CMAKE_H5_MPI_LOGICAL_KIND 0)
93-
if (H5_MPI_LOGICAL_KIND)
94-
set (CMAKE_H5_MPI_LOGICAL_KIND 1)
9533
endif ()
9634

9735
configure_file (${HDF5_F90_SRC_SOURCE_DIR}/H5config_f.inc.cmake ${HDF5_F90_BINARY_DIR}/H5config_f.inc @ONLY)

fortran/src/H5Dff.F90

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ MODULE H5D
9595
PRIVATE h5dwrite_reference_obj, h5dwrite_reference_dsetreg, h5dwrite_char_scalar, h5dwrite_ptr
9696
PRIVATE h5dread_reference_obj, h5dread_reference_dsetreg, h5dread_char_scalar, h5dread_ptr
9797
PRIVATE h5dfill_integer, h5dfill_c_float, h5dfill_c_double, h5dfill_char, h5dfill_ptr
98-
#if H5_FORTRAN_C_LONG_DOUBLE_IS_UNIQUE!=0
98+
#ifdef H5_FORTRAN_C_LONG_DOUBLE_IS_UNIQUE
9999
PRIVATE h5dfill_c_long_double
100100
#endif
101101

@@ -180,7 +180,7 @@ END FUNCTION h5dread_f_c
180180
MODULE PROCEDURE h5dfill_integer
181181
MODULE PROCEDURE h5dfill_c_float
182182
MODULE PROCEDURE h5dfill_c_double
183-
#if H5_FORTRAN_C_LONG_DOUBLE_IS_UNIQUE!=0
183+
#ifdef H5_FORTRAN_C_LONG_DOUBLE_IS_UNIQUE
184184
MODULE PROCEDURE h5dfill_c_long_double
185185
#endif
186186
MODULE PROCEDURE h5dfill_char
@@ -2308,7 +2308,7 @@ SUBROUTINE h5dfill_c_double(fill_value, space_id, buf, hdferr)
23082308

23092309
END SUBROUTINE h5dfill_c_double
23102310

2311-
#if H5_FORTRAN_C_LONG_DOUBLE_IS_UNIQUE!=0
2311+
#ifdef H5_FORTRAN_C_LONG_DOUBLE_IS_UNIQUE
23122312
SUBROUTINE h5dfill_c_long_double(fill_value, space_id, buf, hdferr)
23132313
IMPLICIT NONE
23142314
REAL(KIND=C_LONG_DOUBLE), INTENT(IN), TARGET :: fill_value

fortran/src/H5_f.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -183,7 +183,7 @@ h5init_types_c(hid_t_f *types, hid_t_f *floatingtypes, hid_t_f *integertypes)
183183
/*
184184
* FIND H5T_NATIVE_REAL_C_LONG_DOUBLE
185185
*/
186-
#if H5_FORTRAN_C_LONG_DOUBLE_IS_UNIQUE != 0
186+
#ifdef H5_FORTRAN_C_LONG_DOUBLE_IS_UNIQUE
187187
if (sizeof(real_C_LONG_DOUBLE_f) == sizeof(float)) {
188188
if ((types[13] = (hid_t_f)H5Tcopy(H5T_NATIVE_FLOAT)) < 0)
189189
return ret_value;
@@ -192,7 +192,7 @@ h5init_types_c(hid_t_f *types, hid_t_f *floatingtypes, hid_t_f *integertypes)
192192
if ((types[13] = (hid_t_f)H5Tcopy(H5T_NATIVE_DOUBLE)) < 0)
193193
return ret_value;
194194
} /*end if */
195-
#if H5_FORTRAN_HAVE_C_LONG_DOUBLE != 0
195+
#ifdef H5_FORTRAN_HAVE_C_LONG_DOUBLE
196196
else if (sizeof(real_C_LONG_DOUBLE_f) == sizeof(long double)) {
197197
if (H5_PAC_C_MAX_REAL_PRECISION >= H5_PAC_FC_MAX_REAL_PRECISION) {
198198
if ((types[13] = (hid_t_f)H5Tcopy(H5T_NATIVE_LDOUBLE)) < 0)

fortran/src/H5_ff.F90

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -997,7 +997,7 @@ INTEGER(HID_T) FUNCTION h5kind_to_type(ikind, flag) RESULT(h5_type)
997997
INTEGER, INTENT(IN) :: flag
998998
INTEGER :: i
999999

1000-
!#if H5_HAVE_Fortran_INTEGER_SIZEOF_16!=0
1000+
!#ifdef H5_HAVE_Fortran_INTEGER_SIZEOF_16
10011001
! ! (1) The array index assumes INTEGER*16 the last integer in the series, and
10021002
! ! (2) it should map to INTEGER*16 on most modern processors
10031003
! H5T_NATIVE_INTEGER_KIND(H5_FORTRAN_NUM_INTEGER_KINDS)=SELECTED_INT_KIND(36)
@@ -1016,7 +1016,7 @@ INTEGER(HID_T) FUNCTION h5kind_to_type(ikind, flag) RESULT(h5_type)
10161016
h5_type = H5T_NATIVE_REAL_C_FLOAT
10171017
ELSE IF(ikind.EQ.KIND(1.0_C_DOUBLE))THEN
10181018
h5_type = H5T_NATIVE_REAL_C_DOUBLE
1019-
#if H5_FORTRAN_C_LONG_DOUBLE_IS_UNIQUE!=0
1019+
#ifdef H5_FORTRAN_C_LONG_DOUBLE_IS_UNIQUE
10201020
ELSE IF(ikind.EQ.KIND(1.0_C_LONG_DOUBLE))THEN
10211021
h5_type = H5T_NATIVE_REAL_C_LONG_DOUBLE
10221022
#endif

fortran/src/H5config_f.inc.cmake

Lines changed: 16 additions & 71 deletions
Original file line numberDiff line numberDiff line change
@@ -12,88 +12,43 @@
1212
! fortran/H5config_f.inc. Generated from fortran/src/H5config_f.inc.cmake by CMake
1313

1414
! Define if there is parallel support
15-
#cmakedefine01 CMAKE_H5_HAVE_PARALLEL
16-
#if CMAKE_H5_HAVE_PARALLEL == 0
17-
#undef H5_HAVE_PARALLEL
18-
#else
19-
#define H5_HAVE_PARALLEL
20-
#endif
15+
#cmakedefine H5_HAVE_PARALLEL
2116

2217
! Define if MPI supports mpi_f08 module
23-
#cmakedefine01 CMAKE_H5_HAVE_MPI_F08
24-
#if CMAKE_H5_HAVE_MPI_F08 == 0
25-
#undef H5_HAVE_MPI_F08
26-
#else
27-
#define H5_HAVE_MPI_F08
28-
#endif
18+
#cmakedefine H5_HAVE_MPI_F08
2919

3020
! Define if there is subfiling support
31-
#cmakedefine01 CMAKE_H5_HAVE_SUBFILING_VFD
32-
#if CMAKE_H5_HAVE_SUBFILING_VFD == 0
33-
#undef H5_HAVE_SUBFILING_VFD
34-
#else
35-
#define H5_HAVE_SUBFILING_VFD
36-
#endif
21+
#cmakedefine H5_HAVE_SUBFILING_VFD
3722

3823
! Define if on APPLE
39-
#cmakedefine01 CMAKE_H5_HAVE_DARWIN
40-
#if CMAKE_H5_HAVE_DARWIN == 0
41-
#undef H5_HAVE_DARWIN
42-
#else
43-
#define H5_HAVE_DARWIN
44-
#endif
24+
#cmakedefine H5_HAVE_DARWIN
4525

4626
! Define if the intrinsic function STORAGE_SIZE exists
47-
#cmakedefine01 CMAKE_H5_FORTRAN_HAVE_STORAGE_SIZE
48-
#if CMAKE_H5_FORTRAN_HAVE_STORAGE_SIZE == 0
49-
#undef H5_FORTRAN_HAVE_STORAGE_SIZE
50-
#else
51-
#define H5_FORTRAN_HAVE_STORAGE_SIZE
52-
#endif
27+
#cmakedefine H5_FORTRAN_HAVE_STORAGE_SIZE
5328

5429
! Define if the intrinsic function SIZEOF exists
55-
#cmakedefine01 CMAKE_H5_FORTRAN_HAVE_SIZEOF
56-
#if CMAKE_H5_FORTRAN_HAVE_SIZEOF == 0
57-
#undef H5_FORTRAN_HAVE_SIZEOF
58-
#else
59-
#define H5_FORTRAN_HAVE_SIZEOF
60-
#endif
30+
#cmakedefine H5_FORTRAN_HAVE_SIZEOF
6131

6232
! Define if the intrinsic function C_SIZEOF exists
63-
#cmakedefine01 CMAKE_H5_FORTRAN_HAVE_C_SIZEOF
64-
#if CMAKE_H5_FORTRAN_HAVE_C_SIZEOF == 0
65-
#undef H5_FORTRAN_HAVE_C_SIZEOF
66-
#else
67-
#define H5_FORTRAN_HAVE_C_SIZEOF
68-
#endif
33+
#cmakedefine H5_FORTRAN_HAVE_C_SIZEOF
6934

7035
! Define if allocatable character is supported
71-
#define H5_FORTRAN_HAVE_CHAR_ALLOC @H5_FORTRAN_HAVE_CHAR_ALLOC@
36+
#cmakedefine H5_FORTRAN_HAVE_CHAR_ALLOC
7237

7338
! Define if the intrinsic function C_LONG_DOUBLE exists
74-
#define H5_FORTRAN_HAVE_C_LONG_DOUBLE @H5_FORTRAN_HAVE_C_LONG_DOUBLE@
39+
#cmakedefine H5_FORTRAN_HAVE_C_LONG_DOUBLE
7540

7641
! Define if Fortran C_LONG_DOUBLE is different from C_DOUBLE
77-
#define H5_FORTRAN_C_LONG_DOUBLE_IS_UNIQUE @H5_FORTRAN_C_LONG_DOUBLE_IS_UNIQUE@
42+
#cmakedefine H5_FORTRAN_C_LONG_DOUBLE_IS_UNIQUE
7843

7944
! Define if Fortran C_BOOL is different from default LOGICAL
80-
#define H5_FORTRAN_C_BOOL_IS_UNIQUE @H5_FORTRAN_C_BOOL_IS_UNIQUE@
45+
#cmakedefine H5_FORTRAN_C_BOOL_IS_UNIQUE
8146

8247
! Define MPI Fortran KIND of LOGICAL
83-
#cmakedefine01 CMAKE_H5_MPI_LOGICAL_KIND
84-
#if CMAKE_H5_MPI_LOGICAL_KIND == 0
85-
#undef H5_MPI_LOGICAL_KIND
86-
#else
87-
#define H5_MPI_LOGICAL_KIND @H5_MPI_LOGICAL_KIND@
88-
#endif
48+
#cmakedefine H5_MPI_LOGICAL_KIND @H5_MPI_LOGICAL_KIND@
8949

9050
! Define if Fortran supports ISO_FORTRAN_ENV (F08)
91-
#cmakedefine01 CMAKE_H5_HAVE_ISO_FORTRAN_ENV
92-
#if CMAKE_H5_HAVE_ISO_FORTRAN_ENV == 0
93-
#undef H5_HAVE_ISO_FORTRAN_ENV
94-
#else
95-
#define H5_HAVE_ISO_FORTRAN_ENV
96-
#endif
51+
#cmakedefine H5_HAVE_ISO_FORTRAN_ENV
9752

9853
! Define the size of C's double
9954
#define H5_SIZEOF_DOUBLE @H5_SIZEOF_DOUBLE@
@@ -105,15 +60,10 @@
10560
#define H5_PAC_FC_MAX_REAL_PRECISION @H5_PAC_FC_MAX_REAL_PRECISION@
10661

10762
! If C has quad precision
108-
#cmakedefine01 CMAKE_H5_HAVE_FLOAT128
109-
#if CMAKE_H5_HAVE_FLOAT128 == 0
110-
#undef H5_HAVE_FLOAT128
111-
#else
112-
#define H5_HAVE_FLOAT128
113-
#endif
63+
#cmakedefine H5_HAVE_FLOAT128
11464

11565
! Define if INTEGER*16 is available
116-
#define H5_HAVE_Fortran_INTEGER_SIZEOF_16 @H5_HAVE_Fortran_INTEGER_SIZEOF_16@
66+
#cmakedefine H5_HAVE_Fortran_INTEGER_SIZEOF_16
11767

11868
! Maximum decimal precision for C
11969
#define H5_PAC_C_MAX_REAL_PRECISION @H5_PAC_C_MAX_REAL_PRECISION@
@@ -137,12 +87,7 @@
13787
#define H5_Fortran_COMPILER_ID @CMAKE_Fortran_COMPILER_ID@
13888

13989
! Define if deprecated public API symbols are disabled
140-
#cmakedefine01 CMAKE_NO_DEPRECATED_SYMBOLS
141-
#if CMAKE_NO_DEPRECATED_SYMBOLS == 0
142-
#undef H5_NO_DEPRECATED_SYMBOLS
143-
#else
144-
#define H5_NO_DEPRECATED_SYMBOLS
145-
#endif
90+
#cmakedefine H5_NO_DEPRECATED_SYMBOLS
14691

14792
! For major interface/format changes
14893
#define H5_VERS_MAJOR @H5_VERS_MAJOR@

fortran/src/H5fort_type_defines.h.cmake

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,6 @@
2323
#define H5_FORTRAN_INTEGER_KINDS_SIZEOF @PAC_FC_ALL_INTEGER_KINDS_SIZEOF@
2424
#define H5_FORTRAN_REAL_KINDS @PAC_FC_ALL_REAL_KINDS@
2525
#define H5_FORTRAN_REAL_KINDS_SIZEOF @PAC_FC_ALL_REAL_KINDS_SIZEOF@
26-
#define H5_HAVE_Fortran_INTEGER_SIZEOF_16 @H5_HAVE_Fortran_INTEGER_SIZEOF_16@
27-
#define H5_FORTRAN_HAVE_C_LONG_DOUBLE @H5_FORTRAN_HAVE_C_LONG_DOUBLE@
28-
#define H5_FORTRAN_C_LONG_DOUBLE_IS_UNIQUE @H5_FORTRAN_C_LONG_DOUBLE_IS_UNIQUE@
26+
#cmakedefine H5_HAVE_Fortran_INTEGER_SIZEOF_16
27+
#cmakedefine H5_FORTRAN_HAVE_C_LONG_DOUBLE
28+
#cmakedefine H5_FORTRAN_C_LONG_DOUBLE_IS_UNIQUE

fortran/src/H5match_types.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,7 @@ main(void)
156156

157157
int FORTRAN_NUM_INTEGER_KINDS = H5_FORTRAN_NUM_INTEGER_KINDS;
158158
int H5_FORTRAN_NUM_REAL_KINDS;
159-
#if H5_FORTRAN_HAVE_C_LONG_DOUBLE != 0
159+
#ifdef H5_FORTRAN_HAVE_C_LONG_DOUBLE
160160
int found_long_double = 0;
161161
#endif
162162

@@ -213,7 +213,7 @@ main(void)
213213
writeTypedef("float", "double", RealKinds[i]);
214214
strcpy(Real_C_TYPES[i], "C_DOUBLE");
215215
}
216-
#if H5_FORTRAN_HAVE_C_LONG_DOUBLE != 0
216+
#ifdef H5_FORTRAN_HAVE_C_LONG_DOUBLE
217217
else if (sizeof(long double) == RealKinds_SizeOf[i] && found_long_double == 0) {
218218
writeTypedef("float", "long double", RealKinds[i]);
219219
strcpy(Real_C_TYPES[i], "C_LONG_DOUBLE");
@@ -376,7 +376,7 @@ main(void)
376376
return -1;
377377
}
378378
/* real_f */
379-
#if H5_FORTRAN_HAVE_C_LONG_DOUBLE != 0
379+
#ifdef H5_FORTRAN_HAVE_C_LONG_DOUBLE
380380
if (H5_FORTRAN_NATIVE_REAL_SIZEOF == sizeof(long double)) {
381381
writeToFilesChr("float", "Fortran_REAL", "real_f", H5_FORTRAN_NATIVE_REAL_KIND, "C_LONG_DOUBLE");
382382
}
@@ -403,7 +403,7 @@ main(void)
403403
}
404404

405405
/* double_f */
406-
#if H5_FORTRAN_HAVE_C_LONG_DOUBLE != 0
406+
#ifdef H5_FORTRAN_HAVE_C_LONG_DOUBLE
407407
if (H5_FORTRAN_NATIVE_DOUBLE_SIZEOF == sizeof(long double)) {
408408
writeToFilesChr("float", "Fortran_DOUBLE", "double_f", H5_FORTRAN_NATIVE_DOUBLE_KIND,
409409
"C_LONG_DOUBLE");

0 commit comments

Comments
 (0)