HDF5  1.12.0
H5overflow.h
Go to the documentation of this file.
1 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
2  * Copyright by The HDF Group. *
3  * Copyright by the Board of Trustees of the University of Illinois. *
4  * All rights reserved. *
5  * *
6  * This file is part of HDF5. The full HDF5 copyright notice, including *
7  * terms governing use, modification, and redistribution, is contained in *
8  * the COPYING file, which can be found at the root of the source code *
9  * distribution tree, or in https://support.hdfgroup.org/ftp/HDF5/releases. *
10  * If you do not have access to either file, you may request a copy from *
11  * help@hdfgroup.org. *
12  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
13 
14 /* Generated automatically by bin/make_overflow -- do not edit */
15 /* Add new types to H5overflow.txt file */
16 
17 
18 #ifndef _H5overflow_H
19 #define _H5overflow_H
20 
21 
22 /* Each type in this file is tested for assignment to the other types,
23  * and range checks are defined for bad assignments at run-time.
24  */
25 
26 /* Assignment checks for unsigned */
27 
28 /* src: unsigned, dst: int8_t */
29 #if H5_SIZEOF_UNSIGNED < H5_SIZEOF_INT8_T
30  #define ASSIGN_unsigned_TO_int8_t(dst, dsttype, src, srctype) \
31  ASSIGN_TO_LARGER_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
32 #elif H5_SIZEOF_UNSIGNED > H5_SIZEOF_INT8_T
33  #define ASSIGN_unsigned_TO_int8_t(dst, dsttype, src, srctype) \
34  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
35 #else /* H5_SIZEOF_UNSIGNED == H5_SIZEOF_INT8_T */
36  #define ASSIGN_unsigned_TO_int8_t(dst, dsttype, src, srctype) \
37  ASSIGN_TO_SAME_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
38 #endif /* src: unsigned dst: int8_t */
39 
40 /* src: unsigned, dst: int */
41 #if H5_SIZEOF_UNSIGNED < H5_SIZEOF_INT
42  #define ASSIGN_unsigned_TO_int(dst, dsttype, src, srctype) \
43  ASSIGN_TO_LARGER_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
44 #elif H5_SIZEOF_UNSIGNED > H5_SIZEOF_INT
45  #define ASSIGN_unsigned_TO_int(dst, dsttype, src, srctype) \
46  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
47 #else /* H5_SIZEOF_UNSIGNED == H5_SIZEOF_INT */
48  #define ASSIGN_unsigned_TO_int(dst, dsttype, src, srctype) \
49  ASSIGN_TO_SAME_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
50 #endif /* src: unsigned dst: int */
51 
52 /* src: unsigned, dst: long */
53 #if H5_SIZEOF_UNSIGNED < H5_SIZEOF_LONG
54  #define ASSIGN_unsigned_TO_long(dst, dsttype, src, srctype) \
55  ASSIGN_TO_LARGER_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
56 #elif H5_SIZEOF_UNSIGNED > H5_SIZEOF_LONG
57  #define ASSIGN_unsigned_TO_long(dst, dsttype, src, srctype) \
58  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
59 #else /* H5_SIZEOF_UNSIGNED == H5_SIZEOF_LONG */
60  #define ASSIGN_unsigned_TO_long(dst, dsttype, src, srctype) \
61  ASSIGN_TO_SAME_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
62 #endif /* src: unsigned dst: long */
63 
64 /* src: unsigned, dst: int64_t */
65 #if H5_SIZEOF_UNSIGNED < H5_SIZEOF_INT64_T
66  #define ASSIGN_unsigned_TO_int64_t(dst, dsttype, src, srctype) \
67  ASSIGN_TO_LARGER_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
68 #elif H5_SIZEOF_UNSIGNED > H5_SIZEOF_INT64_T
69  #define ASSIGN_unsigned_TO_int64_t(dst, dsttype, src, srctype) \
70  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
71 #else /* H5_SIZEOF_UNSIGNED == H5_SIZEOF_INT64_T */
72  #define ASSIGN_unsigned_TO_int64_t(dst, dsttype, src, srctype) \
73  ASSIGN_TO_SAME_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
74 #endif /* src: unsigned dst: int64_t */
75 
76 /* src: unsigned, dst: uint8_t */
77 #if H5_SIZEOF_UNSIGNED < H5_SIZEOF_UINT8_T
78  #define ASSIGN_unsigned_TO_uint8_t(dst, dsttype, src, srctype) \
79  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
80 #elif H5_SIZEOF_UNSIGNED > H5_SIZEOF_UINT8_T
81  #define ASSIGN_unsigned_TO_uint8_t(dst, dsttype, src, srctype) \
82  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
83 #else /* H5_SIZEOF_UNSIGNED == H5_SIZEOF_UINT8_T */
84  #define ASSIGN_unsigned_TO_uint8_t(dst, dsttype, src, srctype) \
85  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
86 #endif /* src: unsigned dst: uint8_t */
87 
88 /* src: unsigned, dst: uint16_t */
89 #if H5_SIZEOF_UNSIGNED < H5_SIZEOF_UINT16_T
90  #define ASSIGN_unsigned_TO_uint16_t(dst, dsttype, src, srctype) \
91  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
92 #elif H5_SIZEOF_UNSIGNED > H5_SIZEOF_UINT16_T
93  #define ASSIGN_unsigned_TO_uint16_t(dst, dsttype, src, srctype) \
94  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
95 #else /* H5_SIZEOF_UNSIGNED == H5_SIZEOF_UINT16_T */
96  #define ASSIGN_unsigned_TO_uint16_t(dst, dsttype, src, srctype) \
97  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
98 #endif /* src: unsigned dst: uint16_t */
99 
100 /* src: unsigned, dst: uint32_t */
101 #if H5_SIZEOF_UNSIGNED < H5_SIZEOF_UINT32_T
102  #define ASSIGN_unsigned_TO_uint32_t(dst, dsttype, src, srctype) \
103  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
104 #elif H5_SIZEOF_UNSIGNED > H5_SIZEOF_UINT32_T
105  #define ASSIGN_unsigned_TO_uint32_t(dst, dsttype, src, srctype) \
106  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
107 #else /* H5_SIZEOF_UNSIGNED == H5_SIZEOF_UINT32_T */
108  #define ASSIGN_unsigned_TO_uint32_t(dst, dsttype, src, srctype) \
109  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
110 #endif /* src: unsigned dst: uint32_t */
111 
112 /* src: unsigned, dst: uint64_t */
113 #if H5_SIZEOF_UNSIGNED < H5_SIZEOF_UINT64_T
114  #define ASSIGN_unsigned_TO_uint64_t(dst, dsttype, src, srctype) \
115  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
116 #elif H5_SIZEOF_UNSIGNED > H5_SIZEOF_UINT64_T
117  #define ASSIGN_unsigned_TO_uint64_t(dst, dsttype, src, srctype) \
118  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
119 #else /* H5_SIZEOF_UNSIGNED == H5_SIZEOF_UINT64_T */
120  #define ASSIGN_unsigned_TO_uint64_t(dst, dsttype, src, srctype) \
121  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
122 #endif /* src: unsigned dst: uint64_t */
123 
124 /* src: unsigned, dst: ptrdiff_t */
125 #if H5_SIZEOF_UNSIGNED < H5_SIZEOF_PTRDIFF_T
126  #define ASSIGN_unsigned_TO_ptrdiff_t(dst, dsttype, src, srctype) \
127  ASSIGN_TO_LARGER_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
128 #elif H5_SIZEOF_UNSIGNED > H5_SIZEOF_PTRDIFF_T
129  #define ASSIGN_unsigned_TO_ptrdiff_t(dst, dsttype, src, srctype) \
130  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
131 #else /* H5_SIZEOF_UNSIGNED == H5_SIZEOF_PTRDIFF_T */
132  #define ASSIGN_unsigned_TO_ptrdiff_t(dst, dsttype, src, srctype) \
133  ASSIGN_TO_SAME_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
134 #endif /* src: unsigned dst: ptrdiff_t */
135 
136 /* src: unsigned, dst: size_t */
137 #if H5_SIZEOF_UNSIGNED < H5_SIZEOF_SIZE_T
138  #define ASSIGN_unsigned_TO_size_t(dst, dsttype, src, srctype) \
139  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
140 #elif H5_SIZEOF_UNSIGNED > H5_SIZEOF_SIZE_T
141  #define ASSIGN_unsigned_TO_size_t(dst, dsttype, src, srctype) \
142  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
143 #else /* H5_SIZEOF_UNSIGNED == H5_SIZEOF_SIZE_T */
144  #define ASSIGN_unsigned_TO_size_t(dst, dsttype, src, srctype) \
145  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
146 #endif /* src: unsigned dst: size_t */
147 
148 /* src: unsigned, dst: ssize_t */
149 #if H5_SIZEOF_UNSIGNED < H5_SIZEOF_SSIZE_T
150  #define ASSIGN_unsigned_TO_ssize_t(dst, dsttype, src, srctype) \
151  ASSIGN_TO_LARGER_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
152 #elif H5_SIZEOF_UNSIGNED > H5_SIZEOF_SSIZE_T
153  #define ASSIGN_unsigned_TO_ssize_t(dst, dsttype, src, srctype) \
154  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
155 #else /* H5_SIZEOF_UNSIGNED == H5_SIZEOF_SSIZE_T */
156  #define ASSIGN_unsigned_TO_ssize_t(dst, dsttype, src, srctype) \
157  ASSIGN_TO_SAME_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
158 #endif /* src: unsigned dst: ssize_t */
159 
160 /* src: unsigned, dst: haddr_t */
161 #if H5_SIZEOF_UNSIGNED < H5_SIZEOF_HADDR_T
162  #define ASSIGN_unsigned_TO_haddr_t(dst, dsttype, src, srctype) \
163  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
164 #elif H5_SIZEOF_UNSIGNED > H5_SIZEOF_HADDR_T
165  #define ASSIGN_unsigned_TO_haddr_t(dst, dsttype, src, srctype) \
166  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
167 #else /* H5_SIZEOF_UNSIGNED == H5_SIZEOF_HADDR_T */
168  #define ASSIGN_unsigned_TO_haddr_t(dst, dsttype, src, srctype) \
169  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
170 #endif /* src: unsigned dst: haddr_t */
171 
172 /* src: unsigned, dst: hsize_t */
173 #if H5_SIZEOF_UNSIGNED < H5_SIZEOF_HSIZE_T
174  #define ASSIGN_unsigned_TO_hsize_t(dst, dsttype, src, srctype) \
175  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
176 #elif H5_SIZEOF_UNSIGNED > H5_SIZEOF_HSIZE_T
177  #define ASSIGN_unsigned_TO_hsize_t(dst, dsttype, src, srctype) \
178  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
179 #else /* H5_SIZEOF_UNSIGNED == H5_SIZEOF_HSIZE_T */
180  #define ASSIGN_unsigned_TO_hsize_t(dst, dsttype, src, srctype) \
181  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
182 #endif /* src: unsigned dst: hsize_t */
183 
184 /* src: unsigned, dst: hssize_t */
185 #if H5_SIZEOF_UNSIGNED < H5_SIZEOF_HSSIZE_T
186  #define ASSIGN_unsigned_TO_hssize_t(dst, dsttype, src, srctype) \
187  ASSIGN_TO_LARGER_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
188 #elif H5_SIZEOF_UNSIGNED > H5_SIZEOF_HSSIZE_T
189  #define ASSIGN_unsigned_TO_hssize_t(dst, dsttype, src, srctype) \
190  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
191 #else /* H5_SIZEOF_UNSIGNED == H5_SIZEOF_HSSIZE_T */
192  #define ASSIGN_unsigned_TO_hssize_t(dst, dsttype, src, srctype) \
193  ASSIGN_TO_SAME_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
194 #endif /* src: unsigned dst: hssize_t */
195 
196 /* src: unsigned, dst: h5_stat_size_t */
197 #if H5_SIZEOF_UNSIGNED < H5_SIZEOF_H5_STAT_SIZE_T
198  #define ASSIGN_unsigned_TO_h5_stat_size_t(dst, dsttype, src, srctype) \
199  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
200 #elif H5_SIZEOF_UNSIGNED > H5_SIZEOF_H5_STAT_SIZE_T
201  #define ASSIGN_unsigned_TO_h5_stat_size_t(dst, dsttype, src, srctype) \
202  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
203 #else /* H5_SIZEOF_UNSIGNED == H5_SIZEOF_H5_STAT_SIZE_T */
204  #define ASSIGN_unsigned_TO_h5_stat_size_t(dst, dsttype, src, srctype) \
205  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
206 #endif /* src: unsigned dst: h5_stat_size_t */
207 
208 
209 /* Assignment checks for int8_t */
210 
211 /* src: int8_t, dst: unsigned */
212 #if H5_SIZEOF_INT8_T < H5_SIZEOF_UNSIGNED
213  #define ASSIGN_int8_t_TO_unsigned(dst, dsttype, src, srctype) \
214  ASSIGN_TO_LARGER_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
215 #elif H5_SIZEOF_INT8_T > H5_SIZEOF_UNSIGNED
216  #define ASSIGN_int8_t_TO_unsigned(dst, dsttype, src, srctype) \
217  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
218 #else /* H5_SIZEOF_INT8_T == H5_SIZEOF_UNSIGNED */
219  #define ASSIGN_int8_t_TO_unsigned(dst, dsttype, src, srctype) \
220  ASSIGN_TO_SAME_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
221 #endif /* src: int8_t dst: unsigned */
222 
223 /* src: int8_t, dst: int */
224 #if H5_SIZEOF_INT8_T < H5_SIZEOF_INT
225  #define ASSIGN_int8_t_TO_int(dst, dsttype, src, srctype) \
226  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
227 #elif H5_SIZEOF_INT8_T > H5_SIZEOF_INT
228  #define ASSIGN_int8_t_TO_int(dst, dsttype, src, srctype) \
229  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
230 #else /* H5_SIZEOF_INT8_T == H5_SIZEOF_INT */
231  #define ASSIGN_int8_t_TO_int(dst, dsttype, src, srctype) \
232  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
233 #endif /* src: int8_t dst: int */
234 
235 /* src: int8_t, dst: long */
236 #if H5_SIZEOF_INT8_T < H5_SIZEOF_LONG
237  #define ASSIGN_int8_t_TO_long(dst, dsttype, src, srctype) \
238  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
239 #elif H5_SIZEOF_INT8_T > H5_SIZEOF_LONG
240  #define ASSIGN_int8_t_TO_long(dst, dsttype, src, srctype) \
241  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
242 #else /* H5_SIZEOF_INT8_T == H5_SIZEOF_LONG */
243  #define ASSIGN_int8_t_TO_long(dst, dsttype, src, srctype) \
244  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
245 #endif /* src: int8_t dst: long */
246 
247 /* src: int8_t, dst: int64_t */
248 #if H5_SIZEOF_INT8_T < H5_SIZEOF_INT64_T
249  #define ASSIGN_int8_t_TO_int64_t(dst, dsttype, src, srctype) \
250  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
251 #elif H5_SIZEOF_INT8_T > H5_SIZEOF_INT64_T
252  #define ASSIGN_int8_t_TO_int64_t(dst, dsttype, src, srctype) \
253  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
254 #else /* H5_SIZEOF_INT8_T == H5_SIZEOF_INT64_T */
255  #define ASSIGN_int8_t_TO_int64_t(dst, dsttype, src, srctype) \
256  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
257 #endif /* src: int8_t dst: int64_t */
258 
259 /* src: int8_t, dst: uint8_t */
260 #if H5_SIZEOF_INT8_T < H5_SIZEOF_UINT8_T
261  #define ASSIGN_int8_t_TO_uint8_t(dst, dsttype, src, srctype) \
262  ASSIGN_TO_LARGER_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
263 #elif H5_SIZEOF_INT8_T > H5_SIZEOF_UINT8_T
264  #define ASSIGN_int8_t_TO_uint8_t(dst, dsttype, src, srctype) \
265  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
266 #else /* H5_SIZEOF_INT8_T == H5_SIZEOF_UINT8_T */
267  #define ASSIGN_int8_t_TO_uint8_t(dst, dsttype, src, srctype) \
268  ASSIGN_TO_SAME_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
269 #endif /* src: int8_t dst: uint8_t */
270 
271 /* src: int8_t, dst: uint16_t */
272 #if H5_SIZEOF_INT8_T < H5_SIZEOF_UINT16_T
273  #define ASSIGN_int8_t_TO_uint16_t(dst, dsttype, src, srctype) \
274  ASSIGN_TO_LARGER_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
275 #elif H5_SIZEOF_INT8_T > H5_SIZEOF_UINT16_T
276  #define ASSIGN_int8_t_TO_uint16_t(dst, dsttype, src, srctype) \
277  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
278 #else /* H5_SIZEOF_INT8_T == H5_SIZEOF_UINT16_T */
279  #define ASSIGN_int8_t_TO_uint16_t(dst, dsttype, src, srctype) \
280  ASSIGN_TO_SAME_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
281 #endif /* src: int8_t dst: uint16_t */
282 
283 /* src: int8_t, dst: uint32_t */
284 #if H5_SIZEOF_INT8_T < H5_SIZEOF_UINT32_T
285  #define ASSIGN_int8_t_TO_uint32_t(dst, dsttype, src, srctype) \
286  ASSIGN_TO_LARGER_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
287 #elif H5_SIZEOF_INT8_T > H5_SIZEOF_UINT32_T
288  #define ASSIGN_int8_t_TO_uint32_t(dst, dsttype, src, srctype) \
289  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
290 #else /* H5_SIZEOF_INT8_T == H5_SIZEOF_UINT32_T */
291  #define ASSIGN_int8_t_TO_uint32_t(dst, dsttype, src, srctype) \
292  ASSIGN_TO_SAME_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
293 #endif /* src: int8_t dst: uint32_t */
294 
295 /* src: int8_t, dst: uint64_t */
296 #if H5_SIZEOF_INT8_T < H5_SIZEOF_UINT64_T
297  #define ASSIGN_int8_t_TO_uint64_t(dst, dsttype, src, srctype) \
298  ASSIGN_TO_LARGER_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
299 #elif H5_SIZEOF_INT8_T > H5_SIZEOF_UINT64_T
300  #define ASSIGN_int8_t_TO_uint64_t(dst, dsttype, src, srctype) \
301  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
302 #else /* H5_SIZEOF_INT8_T == H5_SIZEOF_UINT64_T */
303  #define ASSIGN_int8_t_TO_uint64_t(dst, dsttype, src, srctype) \
304  ASSIGN_TO_SAME_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
305 #endif /* src: int8_t dst: uint64_t */
306 
307 /* src: int8_t, dst: ptrdiff_t */
308 #if H5_SIZEOF_INT8_T < H5_SIZEOF_PTRDIFF_T
309  #define ASSIGN_int8_t_TO_ptrdiff_t(dst, dsttype, src, srctype) \
310  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
311 #elif H5_SIZEOF_INT8_T > H5_SIZEOF_PTRDIFF_T
312  #define ASSIGN_int8_t_TO_ptrdiff_t(dst, dsttype, src, srctype) \
313  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
314 #else /* H5_SIZEOF_INT8_T == H5_SIZEOF_PTRDIFF_T */
315  #define ASSIGN_int8_t_TO_ptrdiff_t(dst, dsttype, src, srctype) \
316  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
317 #endif /* src: int8_t dst: ptrdiff_t */
318 
319 /* src: int8_t, dst: size_t */
320 #if H5_SIZEOF_INT8_T < H5_SIZEOF_SIZE_T
321  #define ASSIGN_int8_t_TO_size_t(dst, dsttype, src, srctype) \
322  ASSIGN_TO_LARGER_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
323 #elif H5_SIZEOF_INT8_T > H5_SIZEOF_SIZE_T
324  #define ASSIGN_int8_t_TO_size_t(dst, dsttype, src, srctype) \
325  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
326 #else /* H5_SIZEOF_INT8_T == H5_SIZEOF_SIZE_T */
327  #define ASSIGN_int8_t_TO_size_t(dst, dsttype, src, srctype) \
328  ASSIGN_TO_SAME_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
329 #endif /* src: int8_t dst: size_t */
330 
331 /* src: int8_t, dst: ssize_t */
332 #if H5_SIZEOF_INT8_T < H5_SIZEOF_SSIZE_T
333  #define ASSIGN_int8_t_TO_ssize_t(dst, dsttype, src, srctype) \
334  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
335 #elif H5_SIZEOF_INT8_T > H5_SIZEOF_SSIZE_T
336  #define ASSIGN_int8_t_TO_ssize_t(dst, dsttype, src, srctype) \
337  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
338 #else /* H5_SIZEOF_INT8_T == H5_SIZEOF_SSIZE_T */
339  #define ASSIGN_int8_t_TO_ssize_t(dst, dsttype, src, srctype) \
340  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
341 #endif /* src: int8_t dst: ssize_t */
342 
343 /* src: int8_t, dst: haddr_t */
344 #if H5_SIZEOF_INT8_T < H5_SIZEOF_HADDR_T
345  #define ASSIGN_int8_t_TO_haddr_t(dst, dsttype, src, srctype) \
346  ASSIGN_TO_LARGER_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
347 #elif H5_SIZEOF_INT8_T > H5_SIZEOF_HADDR_T
348  #define ASSIGN_int8_t_TO_haddr_t(dst, dsttype, src, srctype) \
349  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
350 #else /* H5_SIZEOF_INT8_T == H5_SIZEOF_HADDR_T */
351  #define ASSIGN_int8_t_TO_haddr_t(dst, dsttype, src, srctype) \
352  ASSIGN_TO_SAME_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
353 #endif /* src: int8_t dst: haddr_t */
354 
355 /* src: int8_t, dst: hsize_t */
356 #if H5_SIZEOF_INT8_T < H5_SIZEOF_HSIZE_T
357  #define ASSIGN_int8_t_TO_hsize_t(dst, dsttype, src, srctype) \
358  ASSIGN_TO_LARGER_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
359 #elif H5_SIZEOF_INT8_T > H5_SIZEOF_HSIZE_T
360  #define ASSIGN_int8_t_TO_hsize_t(dst, dsttype, src, srctype) \
361  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
362 #else /* H5_SIZEOF_INT8_T == H5_SIZEOF_HSIZE_T */
363  #define ASSIGN_int8_t_TO_hsize_t(dst, dsttype, src, srctype) \
364  ASSIGN_TO_SAME_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
365 #endif /* src: int8_t dst: hsize_t */
366 
367 /* src: int8_t, dst: hssize_t */
368 #if H5_SIZEOF_INT8_T < H5_SIZEOF_HSSIZE_T
369  #define ASSIGN_int8_t_TO_hssize_t(dst, dsttype, src, srctype) \
370  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
371 #elif H5_SIZEOF_INT8_T > H5_SIZEOF_HSSIZE_T
372  #define ASSIGN_int8_t_TO_hssize_t(dst, dsttype, src, srctype) \
373  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
374 #else /* H5_SIZEOF_INT8_T == H5_SIZEOF_HSSIZE_T */
375  #define ASSIGN_int8_t_TO_hssize_t(dst, dsttype, src, srctype) \
376  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
377 #endif /* src: int8_t dst: hssize_t */
378 
379 /* src: int8_t, dst: h5_stat_size_t */
380 #if H5_SIZEOF_INT8_T < H5_SIZEOF_H5_STAT_SIZE_T
381  #define ASSIGN_int8_t_TO_h5_stat_size_t(dst, dsttype, src, srctype) \
382  ASSIGN_TO_LARGER_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
383 #elif H5_SIZEOF_INT8_T > H5_SIZEOF_H5_STAT_SIZE_T
384  #define ASSIGN_int8_t_TO_h5_stat_size_t(dst, dsttype, src, srctype) \
385  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
386 #else /* H5_SIZEOF_INT8_T == H5_SIZEOF_H5_STAT_SIZE_T */
387  #define ASSIGN_int8_t_TO_h5_stat_size_t(dst, dsttype, src, srctype) \
388  ASSIGN_TO_SAME_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
389 #endif /* src: int8_t dst: h5_stat_size_t */
390 
391 
392 /* Assignment checks for int */
393 
394 /* src: int, dst: unsigned */
395 #if H5_SIZEOF_INT < H5_SIZEOF_UNSIGNED
396  #define ASSIGN_int_TO_unsigned(dst, dsttype, src, srctype) \
397  ASSIGN_TO_LARGER_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
398 #elif H5_SIZEOF_INT > H5_SIZEOF_UNSIGNED
399  #define ASSIGN_int_TO_unsigned(dst, dsttype, src, srctype) \
400  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
401 #else /* H5_SIZEOF_INT == H5_SIZEOF_UNSIGNED */
402  #define ASSIGN_int_TO_unsigned(dst, dsttype, src, srctype) \
403  ASSIGN_TO_SAME_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
404 #endif /* src: int dst: unsigned */
405 
406 /* src: int, dst: int8_t */
407 #if H5_SIZEOF_INT < H5_SIZEOF_INT8_T
408  #define ASSIGN_int_TO_int8_t(dst, dsttype, src, srctype) \
409  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
410 #elif H5_SIZEOF_INT > H5_SIZEOF_INT8_T
411  #define ASSIGN_int_TO_int8_t(dst, dsttype, src, srctype) \
412  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
413 #else /* H5_SIZEOF_INT == H5_SIZEOF_INT8_T */
414  #define ASSIGN_int_TO_int8_t(dst, dsttype, src, srctype) \
415  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
416 #endif /* src: int dst: int8_t */
417 
418 /* src: int, dst: long */
419 #if H5_SIZEOF_INT < H5_SIZEOF_LONG
420  #define ASSIGN_int_TO_long(dst, dsttype, src, srctype) \
421  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
422 #elif H5_SIZEOF_INT > H5_SIZEOF_LONG
423  #define ASSIGN_int_TO_long(dst, dsttype, src, srctype) \
424  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
425 #else /* H5_SIZEOF_INT == H5_SIZEOF_LONG */
426  #define ASSIGN_int_TO_long(dst, dsttype, src, srctype) \
427  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
428 #endif /* src: int dst: long */
429 
430 /* src: int, dst: int64_t */
431 #if H5_SIZEOF_INT < H5_SIZEOF_INT64_T
432  #define ASSIGN_int_TO_int64_t(dst, dsttype, src, srctype) \
433  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
434 #elif H5_SIZEOF_INT > H5_SIZEOF_INT64_T
435  #define ASSIGN_int_TO_int64_t(dst, dsttype, src, srctype) \
436  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
437 #else /* H5_SIZEOF_INT == H5_SIZEOF_INT64_T */
438  #define ASSIGN_int_TO_int64_t(dst, dsttype, src, srctype) \
439  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
440 #endif /* src: int dst: int64_t */
441 
442 /* src: int, dst: uint8_t */
443 #if H5_SIZEOF_INT < H5_SIZEOF_UINT8_T
444  #define ASSIGN_int_TO_uint8_t(dst, dsttype, src, srctype) \
445  ASSIGN_TO_LARGER_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
446 #elif H5_SIZEOF_INT > H5_SIZEOF_UINT8_T
447  #define ASSIGN_int_TO_uint8_t(dst, dsttype, src, srctype) \
448  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
449 #else /* H5_SIZEOF_INT == H5_SIZEOF_UINT8_T */
450  #define ASSIGN_int_TO_uint8_t(dst, dsttype, src, srctype) \
451  ASSIGN_TO_SAME_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
452 #endif /* src: int dst: uint8_t */
453 
454 /* src: int, dst: uint16_t */
455 #if H5_SIZEOF_INT < H5_SIZEOF_UINT16_T
456  #define ASSIGN_int_TO_uint16_t(dst, dsttype, src, srctype) \
457  ASSIGN_TO_LARGER_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
458 #elif H5_SIZEOF_INT > H5_SIZEOF_UINT16_T
459  #define ASSIGN_int_TO_uint16_t(dst, dsttype, src, srctype) \
460  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
461 #else /* H5_SIZEOF_INT == H5_SIZEOF_UINT16_T */
462  #define ASSIGN_int_TO_uint16_t(dst, dsttype, src, srctype) \
463  ASSIGN_TO_SAME_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
464 #endif /* src: int dst: uint16_t */
465 
466 /* src: int, dst: uint32_t */
467 #if H5_SIZEOF_INT < H5_SIZEOF_UINT32_T
468  #define ASSIGN_int_TO_uint32_t(dst, dsttype, src, srctype) \
469  ASSIGN_TO_LARGER_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
470 #elif H5_SIZEOF_INT > H5_SIZEOF_UINT32_T
471  #define ASSIGN_int_TO_uint32_t(dst, dsttype, src, srctype) \
472  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
473 #else /* H5_SIZEOF_INT == H5_SIZEOF_UINT32_T */
474  #define ASSIGN_int_TO_uint32_t(dst, dsttype, src, srctype) \
475  ASSIGN_TO_SAME_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
476 #endif /* src: int dst: uint32_t */
477 
478 /* src: int, dst: uint64_t */
479 #if H5_SIZEOF_INT < H5_SIZEOF_UINT64_T
480  #define ASSIGN_int_TO_uint64_t(dst, dsttype, src, srctype) \
481  ASSIGN_TO_LARGER_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
482 #elif H5_SIZEOF_INT > H5_SIZEOF_UINT64_T
483  #define ASSIGN_int_TO_uint64_t(dst, dsttype, src, srctype) \
484  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
485 #else /* H5_SIZEOF_INT == H5_SIZEOF_UINT64_T */
486  #define ASSIGN_int_TO_uint64_t(dst, dsttype, src, srctype) \
487  ASSIGN_TO_SAME_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
488 #endif /* src: int dst: uint64_t */
489 
490 /* src: int, dst: ptrdiff_t */
491 #if H5_SIZEOF_INT < H5_SIZEOF_PTRDIFF_T
492  #define ASSIGN_int_TO_ptrdiff_t(dst, dsttype, src, srctype) \
493  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
494 #elif H5_SIZEOF_INT > H5_SIZEOF_PTRDIFF_T
495  #define ASSIGN_int_TO_ptrdiff_t(dst, dsttype, src, srctype) \
496  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
497 #else /* H5_SIZEOF_INT == H5_SIZEOF_PTRDIFF_T */
498  #define ASSIGN_int_TO_ptrdiff_t(dst, dsttype, src, srctype) \
499  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
500 #endif /* src: int dst: ptrdiff_t */
501 
502 /* src: int, dst: size_t */
503 #if H5_SIZEOF_INT < H5_SIZEOF_SIZE_T
504  #define ASSIGN_int_TO_size_t(dst, dsttype, src, srctype) \
505  ASSIGN_TO_LARGER_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
506 #elif H5_SIZEOF_INT > H5_SIZEOF_SIZE_T
507  #define ASSIGN_int_TO_size_t(dst, dsttype, src, srctype) \
508  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
509 #else /* H5_SIZEOF_INT == H5_SIZEOF_SIZE_T */
510  #define ASSIGN_int_TO_size_t(dst, dsttype, src, srctype) \
511  ASSIGN_TO_SAME_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
512 #endif /* src: int dst: size_t */
513 
514 /* src: int, dst: ssize_t */
515 #if H5_SIZEOF_INT < H5_SIZEOF_SSIZE_T
516  #define ASSIGN_int_TO_ssize_t(dst, dsttype, src, srctype) \
517  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
518 #elif H5_SIZEOF_INT > H5_SIZEOF_SSIZE_T
519  #define ASSIGN_int_TO_ssize_t(dst, dsttype, src, srctype) \
520  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
521 #else /* H5_SIZEOF_INT == H5_SIZEOF_SSIZE_T */
522  #define ASSIGN_int_TO_ssize_t(dst, dsttype, src, srctype) \
523  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
524 #endif /* src: int dst: ssize_t */
525 
526 /* src: int, dst: haddr_t */
527 #if H5_SIZEOF_INT < H5_SIZEOF_HADDR_T
528  #define ASSIGN_int_TO_haddr_t(dst, dsttype, src, srctype) \
529  ASSIGN_TO_LARGER_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
530 #elif H5_SIZEOF_INT > H5_SIZEOF_HADDR_T
531  #define ASSIGN_int_TO_haddr_t(dst, dsttype, src, srctype) \
532  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
533 #else /* H5_SIZEOF_INT == H5_SIZEOF_HADDR_T */
534  #define ASSIGN_int_TO_haddr_t(dst, dsttype, src, srctype) \
535  ASSIGN_TO_SAME_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
536 #endif /* src: int dst: haddr_t */
537 
538 /* src: int, dst: hsize_t */
539 #if H5_SIZEOF_INT < H5_SIZEOF_HSIZE_T
540  #define ASSIGN_int_TO_hsize_t(dst, dsttype, src, srctype) \
541  ASSIGN_TO_LARGER_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
542 #elif H5_SIZEOF_INT > H5_SIZEOF_HSIZE_T
543  #define ASSIGN_int_TO_hsize_t(dst, dsttype, src, srctype) \
544  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
545 #else /* H5_SIZEOF_INT == H5_SIZEOF_HSIZE_T */
546  #define ASSIGN_int_TO_hsize_t(dst, dsttype, src, srctype) \
547  ASSIGN_TO_SAME_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
548 #endif /* src: int dst: hsize_t */
549 
550 /* src: int, dst: hssize_t */
551 #if H5_SIZEOF_INT < H5_SIZEOF_HSSIZE_T
552  #define ASSIGN_int_TO_hssize_t(dst, dsttype, src, srctype) \
553  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
554 #elif H5_SIZEOF_INT > H5_SIZEOF_HSSIZE_T
555  #define ASSIGN_int_TO_hssize_t(dst, dsttype, src, srctype) \
556  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
557 #else /* H5_SIZEOF_INT == H5_SIZEOF_HSSIZE_T */
558  #define ASSIGN_int_TO_hssize_t(dst, dsttype, src, srctype) \
559  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
560 #endif /* src: int dst: hssize_t */
561 
562 /* src: int, dst: h5_stat_size_t */
563 #if H5_SIZEOF_INT < H5_SIZEOF_H5_STAT_SIZE_T
564  #define ASSIGN_int_TO_h5_stat_size_t(dst, dsttype, src, srctype) \
565  ASSIGN_TO_LARGER_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
566 #elif H5_SIZEOF_INT > H5_SIZEOF_H5_STAT_SIZE_T
567  #define ASSIGN_int_TO_h5_stat_size_t(dst, dsttype, src, srctype) \
568  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
569 #else /* H5_SIZEOF_INT == H5_SIZEOF_H5_STAT_SIZE_T */
570  #define ASSIGN_int_TO_h5_stat_size_t(dst, dsttype, src, srctype) \
571  ASSIGN_TO_SAME_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
572 #endif /* src: int dst: h5_stat_size_t */
573 
574 
575 /* Assignment checks for long */
576 
577 /* src: long, dst: unsigned */
578 #if H5_SIZEOF_LONG < H5_SIZEOF_UNSIGNED
579  #define ASSIGN_long_TO_unsigned(dst, dsttype, src, srctype) \
580  ASSIGN_TO_LARGER_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
581 #elif H5_SIZEOF_LONG > H5_SIZEOF_UNSIGNED
582  #define ASSIGN_long_TO_unsigned(dst, dsttype, src, srctype) \
583  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
584 #else /* H5_SIZEOF_LONG == H5_SIZEOF_UNSIGNED */
585  #define ASSIGN_long_TO_unsigned(dst, dsttype, src, srctype) \
586  ASSIGN_TO_SAME_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
587 #endif /* src: long dst: unsigned */
588 
589 /* src: long, dst: int8_t */
590 #if H5_SIZEOF_LONG < H5_SIZEOF_INT8_T
591  #define ASSIGN_long_TO_int8_t(dst, dsttype, src, srctype) \
592  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
593 #elif H5_SIZEOF_LONG > H5_SIZEOF_INT8_T
594  #define ASSIGN_long_TO_int8_t(dst, dsttype, src, srctype) \
595  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
596 #else /* H5_SIZEOF_LONG == H5_SIZEOF_INT8_T */
597  #define ASSIGN_long_TO_int8_t(dst, dsttype, src, srctype) \
598  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
599 #endif /* src: long dst: int8_t */
600 
601 /* src: long, dst: int */
602 #if H5_SIZEOF_LONG < H5_SIZEOF_INT
603  #define ASSIGN_long_TO_int(dst, dsttype, src, srctype) \
604  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
605 #elif H5_SIZEOF_LONG > H5_SIZEOF_INT
606  #define ASSIGN_long_TO_int(dst, dsttype, src, srctype) \
607  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
608 #else /* H5_SIZEOF_LONG == H5_SIZEOF_INT */
609  #define ASSIGN_long_TO_int(dst, dsttype, src, srctype) \
610  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
611 #endif /* src: long dst: int */
612 
613 /* src: long, dst: int64_t */
614 #if H5_SIZEOF_LONG < H5_SIZEOF_INT64_T
615  #define ASSIGN_long_TO_int64_t(dst, dsttype, src, srctype) \
616  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
617 #elif H5_SIZEOF_LONG > H5_SIZEOF_INT64_T
618  #define ASSIGN_long_TO_int64_t(dst, dsttype, src, srctype) \
619  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
620 #else /* H5_SIZEOF_LONG == H5_SIZEOF_INT64_T */
621  #define ASSIGN_long_TO_int64_t(dst, dsttype, src, srctype) \
622  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
623 #endif /* src: long dst: int64_t */
624 
625 /* src: long, dst: uint8_t */
626 #if H5_SIZEOF_LONG < H5_SIZEOF_UINT8_T
627  #define ASSIGN_long_TO_uint8_t(dst, dsttype, src, srctype) \
628  ASSIGN_TO_LARGER_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
629 #elif H5_SIZEOF_LONG > H5_SIZEOF_UINT8_T
630  #define ASSIGN_long_TO_uint8_t(dst, dsttype, src, srctype) \
631  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
632 #else /* H5_SIZEOF_LONG == H5_SIZEOF_UINT8_T */
633  #define ASSIGN_long_TO_uint8_t(dst, dsttype, src, srctype) \
634  ASSIGN_TO_SAME_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
635 #endif /* src: long dst: uint8_t */
636 
637 /* src: long, dst: uint16_t */
638 #if H5_SIZEOF_LONG < H5_SIZEOF_UINT16_T
639  #define ASSIGN_long_TO_uint16_t(dst, dsttype, src, srctype) \
640  ASSIGN_TO_LARGER_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
641 #elif H5_SIZEOF_LONG > H5_SIZEOF_UINT16_T
642  #define ASSIGN_long_TO_uint16_t(dst, dsttype, src, srctype) \
643  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
644 #else /* H5_SIZEOF_LONG == H5_SIZEOF_UINT16_T */
645  #define ASSIGN_long_TO_uint16_t(dst, dsttype, src, srctype) \
646  ASSIGN_TO_SAME_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
647 #endif /* src: long dst: uint16_t */
648 
649 /* src: long, dst: uint32_t */
650 #if H5_SIZEOF_LONG < H5_SIZEOF_UINT32_T
651  #define ASSIGN_long_TO_uint32_t(dst, dsttype, src, srctype) \
652  ASSIGN_TO_LARGER_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
653 #elif H5_SIZEOF_LONG > H5_SIZEOF_UINT32_T
654  #define ASSIGN_long_TO_uint32_t(dst, dsttype, src, srctype) \
655  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
656 #else /* H5_SIZEOF_LONG == H5_SIZEOF_UINT32_T */
657  #define ASSIGN_long_TO_uint32_t(dst, dsttype, src, srctype) \
658  ASSIGN_TO_SAME_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
659 #endif /* src: long dst: uint32_t */
660 
661 /* src: long, dst: uint64_t */
662 #if H5_SIZEOF_LONG < H5_SIZEOF_UINT64_T
663  #define ASSIGN_long_TO_uint64_t(dst, dsttype, src, srctype) \
664  ASSIGN_TO_LARGER_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
665 #elif H5_SIZEOF_LONG > H5_SIZEOF_UINT64_T
666  #define ASSIGN_long_TO_uint64_t(dst, dsttype, src, srctype) \
667  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
668 #else /* H5_SIZEOF_LONG == H5_SIZEOF_UINT64_T */
669  #define ASSIGN_long_TO_uint64_t(dst, dsttype, src, srctype) \
670  ASSIGN_TO_SAME_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
671 #endif /* src: long dst: uint64_t */
672 
673 /* src: long, dst: ptrdiff_t */
674 #if H5_SIZEOF_LONG < H5_SIZEOF_PTRDIFF_T
675  #define ASSIGN_long_TO_ptrdiff_t(dst, dsttype, src, srctype) \
676  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
677 #elif H5_SIZEOF_LONG > H5_SIZEOF_PTRDIFF_T
678  #define ASSIGN_long_TO_ptrdiff_t(dst, dsttype, src, srctype) \
679  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
680 #else /* H5_SIZEOF_LONG == H5_SIZEOF_PTRDIFF_T */
681  #define ASSIGN_long_TO_ptrdiff_t(dst, dsttype, src, srctype) \
682  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
683 #endif /* src: long dst: ptrdiff_t */
684 
685 /* src: long, dst: size_t */
686 #if H5_SIZEOF_LONG < H5_SIZEOF_SIZE_T
687  #define ASSIGN_long_TO_size_t(dst, dsttype, src, srctype) \
688  ASSIGN_TO_LARGER_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
689 #elif H5_SIZEOF_LONG > H5_SIZEOF_SIZE_T
690  #define ASSIGN_long_TO_size_t(dst, dsttype, src, srctype) \
691  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
692 #else /* H5_SIZEOF_LONG == H5_SIZEOF_SIZE_T */
693  #define ASSIGN_long_TO_size_t(dst, dsttype, src, srctype) \
694  ASSIGN_TO_SAME_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
695 #endif /* src: long dst: size_t */
696 
697 /* src: long, dst: ssize_t */
698 #if H5_SIZEOF_LONG < H5_SIZEOF_SSIZE_T
699  #define ASSIGN_long_TO_ssize_t(dst, dsttype, src, srctype) \
700  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
701 #elif H5_SIZEOF_LONG > H5_SIZEOF_SSIZE_T
702  #define ASSIGN_long_TO_ssize_t(dst, dsttype, src, srctype) \
703  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
704 #else /* H5_SIZEOF_LONG == H5_SIZEOF_SSIZE_T */
705  #define ASSIGN_long_TO_ssize_t(dst, dsttype, src, srctype) \
706  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
707 #endif /* src: long dst: ssize_t */
708 
709 /* src: long, dst: haddr_t */
710 #if H5_SIZEOF_LONG < H5_SIZEOF_HADDR_T
711  #define ASSIGN_long_TO_haddr_t(dst, dsttype, src, srctype) \
712  ASSIGN_TO_LARGER_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
713 #elif H5_SIZEOF_LONG > H5_SIZEOF_HADDR_T
714  #define ASSIGN_long_TO_haddr_t(dst, dsttype, src, srctype) \
715  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
716 #else /* H5_SIZEOF_LONG == H5_SIZEOF_HADDR_T */
717  #define ASSIGN_long_TO_haddr_t(dst, dsttype, src, srctype) \
718  ASSIGN_TO_SAME_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
719 #endif /* src: long dst: haddr_t */
720 
721 /* src: long, dst: hsize_t */
722 #if H5_SIZEOF_LONG < H5_SIZEOF_HSIZE_T
723  #define ASSIGN_long_TO_hsize_t(dst, dsttype, src, srctype) \
724  ASSIGN_TO_LARGER_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
725 #elif H5_SIZEOF_LONG > H5_SIZEOF_HSIZE_T
726  #define ASSIGN_long_TO_hsize_t(dst, dsttype, src, srctype) \
727  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
728 #else /* H5_SIZEOF_LONG == H5_SIZEOF_HSIZE_T */
729  #define ASSIGN_long_TO_hsize_t(dst, dsttype, src, srctype) \
730  ASSIGN_TO_SAME_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
731 #endif /* src: long dst: hsize_t */
732 
733 /* src: long, dst: hssize_t */
734 #if H5_SIZEOF_LONG < H5_SIZEOF_HSSIZE_T
735  #define ASSIGN_long_TO_hssize_t(dst, dsttype, src, srctype) \
736  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
737 #elif H5_SIZEOF_LONG > H5_SIZEOF_HSSIZE_T
738  #define ASSIGN_long_TO_hssize_t(dst, dsttype, src, srctype) \
739  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
740 #else /* H5_SIZEOF_LONG == H5_SIZEOF_HSSIZE_T */
741  #define ASSIGN_long_TO_hssize_t(dst, dsttype, src, srctype) \
742  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
743 #endif /* src: long dst: hssize_t */
744 
745 /* src: long, dst: h5_stat_size_t */
746 #if H5_SIZEOF_LONG < H5_SIZEOF_H5_STAT_SIZE_T
747  #define ASSIGN_long_TO_h5_stat_size_t(dst, dsttype, src, srctype) \
748  ASSIGN_TO_LARGER_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
749 #elif H5_SIZEOF_LONG > H5_SIZEOF_H5_STAT_SIZE_T
750  #define ASSIGN_long_TO_h5_stat_size_t(dst, dsttype, src, srctype) \
751  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
752 #else /* H5_SIZEOF_LONG == H5_SIZEOF_H5_STAT_SIZE_T */
753  #define ASSIGN_long_TO_h5_stat_size_t(dst, dsttype, src, srctype) \
754  ASSIGN_TO_SAME_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
755 #endif /* src: long dst: h5_stat_size_t */
756 
757 
758 /* Assignment checks for int64_t */
759 
760 /* src: int64_t, dst: unsigned */
761 #if H5_SIZEOF_INT64_T < H5_SIZEOF_UNSIGNED
762  #define ASSIGN_int64_t_TO_unsigned(dst, dsttype, src, srctype) \
763  ASSIGN_TO_LARGER_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
764 #elif H5_SIZEOF_INT64_T > H5_SIZEOF_UNSIGNED
765  #define ASSIGN_int64_t_TO_unsigned(dst, dsttype, src, srctype) \
766  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
767 #else /* H5_SIZEOF_INT64_T == H5_SIZEOF_UNSIGNED */
768  #define ASSIGN_int64_t_TO_unsigned(dst, dsttype, src, srctype) \
769  ASSIGN_TO_SAME_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
770 #endif /* src: int64_t dst: unsigned */
771 
772 /* src: int64_t, dst: int8_t */
773 #if H5_SIZEOF_INT64_T < H5_SIZEOF_INT8_T
774  #define ASSIGN_int64_t_TO_int8_t(dst, dsttype, src, srctype) \
775  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
776 #elif H5_SIZEOF_INT64_T > H5_SIZEOF_INT8_T
777  #define ASSIGN_int64_t_TO_int8_t(dst, dsttype, src, srctype) \
778  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
779 #else /* H5_SIZEOF_INT64_T == H5_SIZEOF_INT8_T */
780  #define ASSIGN_int64_t_TO_int8_t(dst, dsttype, src, srctype) \
781  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
782 #endif /* src: int64_t dst: int8_t */
783 
784 /* src: int64_t, dst: int */
785 #if H5_SIZEOF_INT64_T < H5_SIZEOF_INT
786  #define ASSIGN_int64_t_TO_int(dst, dsttype, src, srctype) \
787  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
788 #elif H5_SIZEOF_INT64_T > H5_SIZEOF_INT
789  #define ASSIGN_int64_t_TO_int(dst, dsttype, src, srctype) \
790  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
791 #else /* H5_SIZEOF_INT64_T == H5_SIZEOF_INT */
792  #define ASSIGN_int64_t_TO_int(dst, dsttype, src, srctype) \
793  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
794 #endif /* src: int64_t dst: int */
795 
796 /* src: int64_t, dst: long */
797 #if H5_SIZEOF_INT64_T < H5_SIZEOF_LONG
798  #define ASSIGN_int64_t_TO_long(dst, dsttype, src, srctype) \
799  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
800 #elif H5_SIZEOF_INT64_T > H5_SIZEOF_LONG
801  #define ASSIGN_int64_t_TO_long(dst, dsttype, src, srctype) \
802  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
803 #else /* H5_SIZEOF_INT64_T == H5_SIZEOF_LONG */
804  #define ASSIGN_int64_t_TO_long(dst, dsttype, src, srctype) \
805  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
806 #endif /* src: int64_t dst: long */
807 
808 /* src: int64_t, dst: uint8_t */
809 #if H5_SIZEOF_INT64_T < H5_SIZEOF_UINT8_T
810  #define ASSIGN_int64_t_TO_uint8_t(dst, dsttype, src, srctype) \
811  ASSIGN_TO_LARGER_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
812 #elif H5_SIZEOF_INT64_T > H5_SIZEOF_UINT8_T
813  #define ASSIGN_int64_t_TO_uint8_t(dst, dsttype, src, srctype) \
814  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
815 #else /* H5_SIZEOF_INT64_T == H5_SIZEOF_UINT8_T */
816  #define ASSIGN_int64_t_TO_uint8_t(dst, dsttype, src, srctype) \
817  ASSIGN_TO_SAME_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
818 #endif /* src: int64_t dst: uint8_t */
819 
820 /* src: int64_t, dst: uint16_t */
821 #if H5_SIZEOF_INT64_T < H5_SIZEOF_UINT16_T
822  #define ASSIGN_int64_t_TO_uint16_t(dst, dsttype, src, srctype) \
823  ASSIGN_TO_LARGER_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
824 #elif H5_SIZEOF_INT64_T > H5_SIZEOF_UINT16_T
825  #define ASSIGN_int64_t_TO_uint16_t(dst, dsttype, src, srctype) \
826  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
827 #else /* H5_SIZEOF_INT64_T == H5_SIZEOF_UINT16_T */
828  #define ASSIGN_int64_t_TO_uint16_t(dst, dsttype, src, srctype) \
829  ASSIGN_TO_SAME_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
830 #endif /* src: int64_t dst: uint16_t */
831 
832 /* src: int64_t, dst: uint32_t */
833 #if H5_SIZEOF_INT64_T < H5_SIZEOF_UINT32_T
834  #define ASSIGN_int64_t_TO_uint32_t(dst, dsttype, src, srctype) \
835  ASSIGN_TO_LARGER_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
836 #elif H5_SIZEOF_INT64_T > H5_SIZEOF_UINT32_T
837  #define ASSIGN_int64_t_TO_uint32_t(dst, dsttype, src, srctype) \
838  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
839 #else /* H5_SIZEOF_INT64_T == H5_SIZEOF_UINT32_T */
840  #define ASSIGN_int64_t_TO_uint32_t(dst, dsttype, src, srctype) \
841  ASSIGN_TO_SAME_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
842 #endif /* src: int64_t dst: uint32_t */
843 
844 /* src: int64_t, dst: uint64_t */
845 #if H5_SIZEOF_INT64_T < H5_SIZEOF_UINT64_T
846  #define ASSIGN_int64_t_TO_uint64_t(dst, dsttype, src, srctype) \
847  ASSIGN_TO_LARGER_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
848 #elif H5_SIZEOF_INT64_T > H5_SIZEOF_UINT64_T
849  #define ASSIGN_int64_t_TO_uint64_t(dst, dsttype, src, srctype) \
850  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
851 #else /* H5_SIZEOF_INT64_T == H5_SIZEOF_UINT64_T */
852  #define ASSIGN_int64_t_TO_uint64_t(dst, dsttype, src, srctype) \
853  ASSIGN_TO_SAME_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
854 #endif /* src: int64_t dst: uint64_t */
855 
856 /* src: int64_t, dst: ptrdiff_t */
857 #if H5_SIZEOF_INT64_T < H5_SIZEOF_PTRDIFF_T
858  #define ASSIGN_int64_t_TO_ptrdiff_t(dst, dsttype, src, srctype) \
859  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
860 #elif H5_SIZEOF_INT64_T > H5_SIZEOF_PTRDIFF_T
861  #define ASSIGN_int64_t_TO_ptrdiff_t(dst, dsttype, src, srctype) \
862  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
863 #else /* H5_SIZEOF_INT64_T == H5_SIZEOF_PTRDIFF_T */
864  #define ASSIGN_int64_t_TO_ptrdiff_t(dst, dsttype, src, srctype) \
865  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
866 #endif /* src: int64_t dst: ptrdiff_t */
867 
868 /* src: int64_t, dst: size_t */
869 #if H5_SIZEOF_INT64_T < H5_SIZEOF_SIZE_T
870  #define ASSIGN_int64_t_TO_size_t(dst, dsttype, src, srctype) \
871  ASSIGN_TO_LARGER_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
872 #elif H5_SIZEOF_INT64_T > H5_SIZEOF_SIZE_T
873  #define ASSIGN_int64_t_TO_size_t(dst, dsttype, src, srctype) \
874  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
875 #else /* H5_SIZEOF_INT64_T == H5_SIZEOF_SIZE_T */
876  #define ASSIGN_int64_t_TO_size_t(dst, dsttype, src, srctype) \
877  ASSIGN_TO_SAME_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
878 #endif /* src: int64_t dst: size_t */
879 
880 /* src: int64_t, dst: ssize_t */
881 #if H5_SIZEOF_INT64_T < H5_SIZEOF_SSIZE_T
882  #define ASSIGN_int64_t_TO_ssize_t(dst, dsttype, src, srctype) \
883  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
884 #elif H5_SIZEOF_INT64_T > H5_SIZEOF_SSIZE_T
885  #define ASSIGN_int64_t_TO_ssize_t(dst, dsttype, src, srctype) \
886  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
887 #else /* H5_SIZEOF_INT64_T == H5_SIZEOF_SSIZE_T */
888  #define ASSIGN_int64_t_TO_ssize_t(dst, dsttype, src, srctype) \
889  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
890 #endif /* src: int64_t dst: ssize_t */
891 
892 /* src: int64_t, dst: haddr_t */
893 #if H5_SIZEOF_INT64_T < H5_SIZEOF_HADDR_T
894  #define ASSIGN_int64_t_TO_haddr_t(dst, dsttype, src, srctype) \
895  ASSIGN_TO_LARGER_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
896 #elif H5_SIZEOF_INT64_T > H5_SIZEOF_HADDR_T
897  #define ASSIGN_int64_t_TO_haddr_t(dst, dsttype, src, srctype) \
898  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
899 #else /* H5_SIZEOF_INT64_T == H5_SIZEOF_HADDR_T */
900  #define ASSIGN_int64_t_TO_haddr_t(dst, dsttype, src, srctype) \
901  ASSIGN_TO_SAME_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
902 #endif /* src: int64_t dst: haddr_t */
903 
904 /* src: int64_t, dst: hsize_t */
905 #if H5_SIZEOF_INT64_T < H5_SIZEOF_HSIZE_T
906  #define ASSIGN_int64_t_TO_hsize_t(dst, dsttype, src, srctype) \
907  ASSIGN_TO_LARGER_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
908 #elif H5_SIZEOF_INT64_T > H5_SIZEOF_HSIZE_T
909  #define ASSIGN_int64_t_TO_hsize_t(dst, dsttype, src, srctype) \
910  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
911 #else /* H5_SIZEOF_INT64_T == H5_SIZEOF_HSIZE_T */
912  #define ASSIGN_int64_t_TO_hsize_t(dst, dsttype, src, srctype) \
913  ASSIGN_TO_SAME_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
914 #endif /* src: int64_t dst: hsize_t */
915 
916 /* src: int64_t, dst: hssize_t */
917 #if H5_SIZEOF_INT64_T < H5_SIZEOF_HSSIZE_T
918  #define ASSIGN_int64_t_TO_hssize_t(dst, dsttype, src, srctype) \
919  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
920 #elif H5_SIZEOF_INT64_T > H5_SIZEOF_HSSIZE_T
921  #define ASSIGN_int64_t_TO_hssize_t(dst, dsttype, src, srctype) \
922  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
923 #else /* H5_SIZEOF_INT64_T == H5_SIZEOF_HSSIZE_T */
924  #define ASSIGN_int64_t_TO_hssize_t(dst, dsttype, src, srctype) \
925  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
926 #endif /* src: int64_t dst: hssize_t */
927 
928 /* src: int64_t, dst: h5_stat_size_t */
929 #if H5_SIZEOF_INT64_T < H5_SIZEOF_H5_STAT_SIZE_T
930  #define ASSIGN_int64_t_TO_h5_stat_size_t(dst, dsttype, src, srctype) \
931  ASSIGN_TO_LARGER_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
932 #elif H5_SIZEOF_INT64_T > H5_SIZEOF_H5_STAT_SIZE_T
933  #define ASSIGN_int64_t_TO_h5_stat_size_t(dst, dsttype, src, srctype) \
934  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
935 #else /* H5_SIZEOF_INT64_T == H5_SIZEOF_H5_STAT_SIZE_T */
936  #define ASSIGN_int64_t_TO_h5_stat_size_t(dst, dsttype, src, srctype) \
937  ASSIGN_TO_SAME_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
938 #endif /* src: int64_t dst: h5_stat_size_t */
939 
940 
941 /* Assignment checks for uint8_t */
942 
943 /* src: uint8_t, dst: unsigned */
944 #if H5_SIZEOF_UINT8_T < H5_SIZEOF_UNSIGNED
945  #define ASSIGN_uint8_t_TO_unsigned(dst, dsttype, src, srctype) \
946  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
947 #elif H5_SIZEOF_UINT8_T > H5_SIZEOF_UNSIGNED
948  #define ASSIGN_uint8_t_TO_unsigned(dst, dsttype, src, srctype) \
949  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
950 #else /* H5_SIZEOF_UINT8_T == H5_SIZEOF_UNSIGNED */
951  #define ASSIGN_uint8_t_TO_unsigned(dst, dsttype, src, srctype) \
952  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
953 #endif /* src: uint8_t dst: unsigned */
954 
955 /* src: uint8_t, dst: int8_t */
956 #if H5_SIZEOF_UINT8_T < H5_SIZEOF_INT8_T
957  #define ASSIGN_uint8_t_TO_int8_t(dst, dsttype, src, srctype) \
958  ASSIGN_TO_LARGER_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
959 #elif H5_SIZEOF_UINT8_T > H5_SIZEOF_INT8_T
960  #define ASSIGN_uint8_t_TO_int8_t(dst, dsttype, src, srctype) \
961  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
962 #else /* H5_SIZEOF_UINT8_T == H5_SIZEOF_INT8_T */
963  #define ASSIGN_uint8_t_TO_int8_t(dst, dsttype, src, srctype) \
964  ASSIGN_TO_SAME_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
965 #endif /* src: uint8_t dst: int8_t */
966 
967 /* src: uint8_t, dst: int */
968 #if H5_SIZEOF_UINT8_T < H5_SIZEOF_INT
969  #define ASSIGN_uint8_t_TO_int(dst, dsttype, src, srctype) \
970  ASSIGN_TO_LARGER_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
971 #elif H5_SIZEOF_UINT8_T > H5_SIZEOF_INT
972  #define ASSIGN_uint8_t_TO_int(dst, dsttype, src, srctype) \
973  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
974 #else /* H5_SIZEOF_UINT8_T == H5_SIZEOF_INT */
975  #define ASSIGN_uint8_t_TO_int(dst, dsttype, src, srctype) \
976  ASSIGN_TO_SAME_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
977 #endif /* src: uint8_t dst: int */
978 
979 /* src: uint8_t, dst: long */
980 #if H5_SIZEOF_UINT8_T < H5_SIZEOF_LONG
981  #define ASSIGN_uint8_t_TO_long(dst, dsttype, src, srctype) \
982  ASSIGN_TO_LARGER_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
983 #elif H5_SIZEOF_UINT8_T > H5_SIZEOF_LONG
984  #define ASSIGN_uint8_t_TO_long(dst, dsttype, src, srctype) \
985  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
986 #else /* H5_SIZEOF_UINT8_T == H5_SIZEOF_LONG */
987  #define ASSIGN_uint8_t_TO_long(dst, dsttype, src, srctype) \
988  ASSIGN_TO_SAME_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
989 #endif /* src: uint8_t dst: long */
990 
991 /* src: uint8_t, dst: int64_t */
992 #if H5_SIZEOF_UINT8_T < H5_SIZEOF_INT64_T
993  #define ASSIGN_uint8_t_TO_int64_t(dst, dsttype, src, srctype) \
994  ASSIGN_TO_LARGER_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
995 #elif H5_SIZEOF_UINT8_T > H5_SIZEOF_INT64_T
996  #define ASSIGN_uint8_t_TO_int64_t(dst, dsttype, src, srctype) \
997  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
998 #else /* H5_SIZEOF_UINT8_T == H5_SIZEOF_INT64_T */
999  #define ASSIGN_uint8_t_TO_int64_t(dst, dsttype, src, srctype) \
1000  ASSIGN_TO_SAME_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
1001 #endif /* src: uint8_t dst: int64_t */
1002 
1003 /* src: uint8_t, dst: uint16_t */
1004 #if H5_SIZEOF_UINT8_T < H5_SIZEOF_UINT16_T
1005  #define ASSIGN_uint8_t_TO_uint16_t(dst, dsttype, src, srctype) \
1006  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1007 #elif H5_SIZEOF_UINT8_T > H5_SIZEOF_UINT16_T
1008  #define ASSIGN_uint8_t_TO_uint16_t(dst, dsttype, src, srctype) \
1009  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1010 #else /* H5_SIZEOF_UINT8_T == H5_SIZEOF_UINT16_T */
1011  #define ASSIGN_uint8_t_TO_uint16_t(dst, dsttype, src, srctype) \
1012  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1013 #endif /* src: uint8_t dst: uint16_t */
1014 
1015 /* src: uint8_t, dst: uint32_t */
1016 #if H5_SIZEOF_UINT8_T < H5_SIZEOF_UINT32_T
1017  #define ASSIGN_uint8_t_TO_uint32_t(dst, dsttype, src, srctype) \
1018  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1019 #elif H5_SIZEOF_UINT8_T > H5_SIZEOF_UINT32_T
1020  #define ASSIGN_uint8_t_TO_uint32_t(dst, dsttype, src, srctype) \
1021  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1022 #else /* H5_SIZEOF_UINT8_T == H5_SIZEOF_UINT32_T */
1023  #define ASSIGN_uint8_t_TO_uint32_t(dst, dsttype, src, srctype) \
1024  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1025 #endif /* src: uint8_t dst: uint32_t */
1026 
1027 /* src: uint8_t, dst: uint64_t */
1028 #if H5_SIZEOF_UINT8_T < H5_SIZEOF_UINT64_T
1029  #define ASSIGN_uint8_t_TO_uint64_t(dst, dsttype, src, srctype) \
1030  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1031 #elif H5_SIZEOF_UINT8_T > H5_SIZEOF_UINT64_T
1032  #define ASSIGN_uint8_t_TO_uint64_t(dst, dsttype, src, srctype) \
1033  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1034 #else /* H5_SIZEOF_UINT8_T == H5_SIZEOF_UINT64_T */
1035  #define ASSIGN_uint8_t_TO_uint64_t(dst, dsttype, src, srctype) \
1036  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1037 #endif /* src: uint8_t dst: uint64_t */
1038 
1039 /* src: uint8_t, dst: ptrdiff_t */
1040 #if H5_SIZEOF_UINT8_T < H5_SIZEOF_PTRDIFF_T
1041  #define ASSIGN_uint8_t_TO_ptrdiff_t(dst, dsttype, src, srctype) \
1042  ASSIGN_TO_LARGER_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
1043 #elif H5_SIZEOF_UINT8_T > H5_SIZEOF_PTRDIFF_T
1044  #define ASSIGN_uint8_t_TO_ptrdiff_t(dst, dsttype, src, srctype) \
1045  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1046 #else /* H5_SIZEOF_UINT8_T == H5_SIZEOF_PTRDIFF_T */
1047  #define ASSIGN_uint8_t_TO_ptrdiff_t(dst, dsttype, src, srctype) \
1048  ASSIGN_TO_SAME_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
1049 #endif /* src: uint8_t dst: ptrdiff_t */
1050 
1051 /* src: uint8_t, dst: size_t */
1052 #if H5_SIZEOF_UINT8_T < H5_SIZEOF_SIZE_T
1053  #define ASSIGN_uint8_t_TO_size_t(dst, dsttype, src, srctype) \
1054  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1055 #elif H5_SIZEOF_UINT8_T > H5_SIZEOF_SIZE_T
1056  #define ASSIGN_uint8_t_TO_size_t(dst, dsttype, src, srctype) \
1057  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1058 #else /* H5_SIZEOF_UINT8_T == H5_SIZEOF_SIZE_T */
1059  #define ASSIGN_uint8_t_TO_size_t(dst, dsttype, src, srctype) \
1060  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1061 #endif /* src: uint8_t dst: size_t */
1062 
1063 /* src: uint8_t, dst: ssize_t */
1064 #if H5_SIZEOF_UINT8_T < H5_SIZEOF_SSIZE_T
1065  #define ASSIGN_uint8_t_TO_ssize_t(dst, dsttype, src, srctype) \
1066  ASSIGN_TO_LARGER_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
1067 #elif H5_SIZEOF_UINT8_T > H5_SIZEOF_SSIZE_T
1068  #define ASSIGN_uint8_t_TO_ssize_t(dst, dsttype, src, srctype) \
1069  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1070 #else /* H5_SIZEOF_UINT8_T == H5_SIZEOF_SSIZE_T */
1071  #define ASSIGN_uint8_t_TO_ssize_t(dst, dsttype, src, srctype) \
1072  ASSIGN_TO_SAME_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
1073 #endif /* src: uint8_t dst: ssize_t */
1074 
1075 /* src: uint8_t, dst: haddr_t */
1076 #if H5_SIZEOF_UINT8_T < H5_SIZEOF_HADDR_T
1077  #define ASSIGN_uint8_t_TO_haddr_t(dst, dsttype, src, srctype) \
1078  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1079 #elif H5_SIZEOF_UINT8_T > H5_SIZEOF_HADDR_T
1080  #define ASSIGN_uint8_t_TO_haddr_t(dst, dsttype, src, srctype) \
1081  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1082 #else /* H5_SIZEOF_UINT8_T == H5_SIZEOF_HADDR_T */
1083  #define ASSIGN_uint8_t_TO_haddr_t(dst, dsttype, src, srctype) \
1084  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1085 #endif /* src: uint8_t dst: haddr_t */
1086 
1087 /* src: uint8_t, dst: hsize_t */
1088 #if H5_SIZEOF_UINT8_T < H5_SIZEOF_HSIZE_T
1089  #define ASSIGN_uint8_t_TO_hsize_t(dst, dsttype, src, srctype) \
1090  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1091 #elif H5_SIZEOF_UINT8_T > H5_SIZEOF_HSIZE_T
1092  #define ASSIGN_uint8_t_TO_hsize_t(dst, dsttype, src, srctype) \
1093  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1094 #else /* H5_SIZEOF_UINT8_T == H5_SIZEOF_HSIZE_T */
1095  #define ASSIGN_uint8_t_TO_hsize_t(dst, dsttype, src, srctype) \
1096  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1097 #endif /* src: uint8_t dst: hsize_t */
1098 
1099 /* src: uint8_t, dst: hssize_t */
1100 #if H5_SIZEOF_UINT8_T < H5_SIZEOF_HSSIZE_T
1101  #define ASSIGN_uint8_t_TO_hssize_t(dst, dsttype, src, srctype) \
1102  ASSIGN_TO_LARGER_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
1103 #elif H5_SIZEOF_UINT8_T > H5_SIZEOF_HSSIZE_T
1104  #define ASSIGN_uint8_t_TO_hssize_t(dst, dsttype, src, srctype) \
1105  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1106 #else /* H5_SIZEOF_UINT8_T == H5_SIZEOF_HSSIZE_T */
1107  #define ASSIGN_uint8_t_TO_hssize_t(dst, dsttype, src, srctype) \
1108  ASSIGN_TO_SAME_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
1109 #endif /* src: uint8_t dst: hssize_t */
1110 
1111 /* src: uint8_t, dst: h5_stat_size_t */
1112 #if H5_SIZEOF_UINT8_T < H5_SIZEOF_H5_STAT_SIZE_T
1113  #define ASSIGN_uint8_t_TO_h5_stat_size_t(dst, dsttype, src, srctype) \
1114  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1115 #elif H5_SIZEOF_UINT8_T > H5_SIZEOF_H5_STAT_SIZE_T
1116  #define ASSIGN_uint8_t_TO_h5_stat_size_t(dst, dsttype, src, srctype) \
1117  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1118 #else /* H5_SIZEOF_UINT8_T == H5_SIZEOF_H5_STAT_SIZE_T */
1119  #define ASSIGN_uint8_t_TO_h5_stat_size_t(dst, dsttype, src, srctype) \
1120  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1121 #endif /* src: uint8_t dst: h5_stat_size_t */
1122 
1123 
1124 /* Assignment checks for uint16_t */
1125 
1126 /* src: uint16_t, dst: unsigned */
1127 #if H5_SIZEOF_UINT16_T < H5_SIZEOF_UNSIGNED
1128  #define ASSIGN_uint16_t_TO_unsigned(dst, dsttype, src, srctype) \
1129  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1130 #elif H5_SIZEOF_UINT16_T > H5_SIZEOF_UNSIGNED
1131  #define ASSIGN_uint16_t_TO_unsigned(dst, dsttype, src, srctype) \
1132  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1133 #else /* H5_SIZEOF_UINT16_T == H5_SIZEOF_UNSIGNED */
1134  #define ASSIGN_uint16_t_TO_unsigned(dst, dsttype, src, srctype) \
1135  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1136 #endif /* src: uint16_t dst: unsigned */
1137 
1138 /* src: uint16_t, dst: int8_t */
1139 #if H5_SIZEOF_UINT16_T < H5_SIZEOF_INT8_T
1140  #define ASSIGN_uint16_t_TO_int8_t(dst, dsttype, src, srctype) \
1141  ASSIGN_TO_LARGER_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
1142 #elif H5_SIZEOF_UINT16_T > H5_SIZEOF_INT8_T
1143  #define ASSIGN_uint16_t_TO_int8_t(dst, dsttype, src, srctype) \
1144  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1145 #else /* H5_SIZEOF_UINT16_T == H5_SIZEOF_INT8_T */
1146  #define ASSIGN_uint16_t_TO_int8_t(dst, dsttype, src, srctype) \
1147  ASSIGN_TO_SAME_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
1148 #endif /* src: uint16_t dst: int8_t */
1149 
1150 /* src: uint16_t, dst: int */
1151 #if H5_SIZEOF_UINT16_T < H5_SIZEOF_INT
1152  #define ASSIGN_uint16_t_TO_int(dst, dsttype, src, srctype) \
1153  ASSIGN_TO_LARGER_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
1154 #elif H5_SIZEOF_UINT16_T > H5_SIZEOF_INT
1155  #define ASSIGN_uint16_t_TO_int(dst, dsttype, src, srctype) \
1156  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1157 #else /* H5_SIZEOF_UINT16_T == H5_SIZEOF_INT */
1158  #define ASSIGN_uint16_t_TO_int(dst, dsttype, src, srctype) \
1159  ASSIGN_TO_SAME_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
1160 #endif /* src: uint16_t dst: int */
1161 
1162 /* src: uint16_t, dst: long */
1163 #if H5_SIZEOF_UINT16_T < H5_SIZEOF_LONG
1164  #define ASSIGN_uint16_t_TO_long(dst, dsttype, src, srctype) \
1165  ASSIGN_TO_LARGER_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
1166 #elif H5_SIZEOF_UINT16_T > H5_SIZEOF_LONG
1167  #define ASSIGN_uint16_t_TO_long(dst, dsttype, src, srctype) \
1168  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1169 #else /* H5_SIZEOF_UINT16_T == H5_SIZEOF_LONG */
1170  #define ASSIGN_uint16_t_TO_long(dst, dsttype, src, srctype) \
1171  ASSIGN_TO_SAME_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
1172 #endif /* src: uint16_t dst: long */
1173 
1174 /* src: uint16_t, dst: int64_t */
1175 #if H5_SIZEOF_UINT16_T < H5_SIZEOF_INT64_T
1176  #define ASSIGN_uint16_t_TO_int64_t(dst, dsttype, src, srctype) \
1177  ASSIGN_TO_LARGER_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
1178 #elif H5_SIZEOF_UINT16_T > H5_SIZEOF_INT64_T
1179  #define ASSIGN_uint16_t_TO_int64_t(dst, dsttype, src, srctype) \
1180  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1181 #else /* H5_SIZEOF_UINT16_T == H5_SIZEOF_INT64_T */
1182  #define ASSIGN_uint16_t_TO_int64_t(dst, dsttype, src, srctype) \
1183  ASSIGN_TO_SAME_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
1184 #endif /* src: uint16_t dst: int64_t */
1185 
1186 /* src: uint16_t, dst: uint8_t */
1187 #if H5_SIZEOF_UINT16_T < H5_SIZEOF_UINT8_T
1188  #define ASSIGN_uint16_t_TO_uint8_t(dst, dsttype, src, srctype) \
1189  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1190 #elif H5_SIZEOF_UINT16_T > H5_SIZEOF_UINT8_T
1191  #define ASSIGN_uint16_t_TO_uint8_t(dst, dsttype, src, srctype) \
1192  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1193 #else /* H5_SIZEOF_UINT16_T == H5_SIZEOF_UINT8_T */
1194  #define ASSIGN_uint16_t_TO_uint8_t(dst, dsttype, src, srctype) \
1195  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1196 #endif /* src: uint16_t dst: uint8_t */
1197 
1198 /* src: uint16_t, dst: uint32_t */
1199 #if H5_SIZEOF_UINT16_T < H5_SIZEOF_UINT32_T
1200  #define ASSIGN_uint16_t_TO_uint32_t(dst, dsttype, src, srctype) \
1201  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1202 #elif H5_SIZEOF_UINT16_T > H5_SIZEOF_UINT32_T
1203  #define ASSIGN_uint16_t_TO_uint32_t(dst, dsttype, src, srctype) \
1204  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1205 #else /* H5_SIZEOF_UINT16_T == H5_SIZEOF_UINT32_T */
1206  #define ASSIGN_uint16_t_TO_uint32_t(dst, dsttype, src, srctype) \
1207  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1208 #endif /* src: uint16_t dst: uint32_t */
1209 
1210 /* src: uint16_t, dst: uint64_t */
1211 #if H5_SIZEOF_UINT16_T < H5_SIZEOF_UINT64_T
1212  #define ASSIGN_uint16_t_TO_uint64_t(dst, dsttype, src, srctype) \
1213  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1214 #elif H5_SIZEOF_UINT16_T > H5_SIZEOF_UINT64_T
1215  #define ASSIGN_uint16_t_TO_uint64_t(dst, dsttype, src, srctype) \
1216  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1217 #else /* H5_SIZEOF_UINT16_T == H5_SIZEOF_UINT64_T */
1218  #define ASSIGN_uint16_t_TO_uint64_t(dst, dsttype, src, srctype) \
1219  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1220 #endif /* src: uint16_t dst: uint64_t */
1221 
1222 /* src: uint16_t, dst: ptrdiff_t */
1223 #if H5_SIZEOF_UINT16_T < H5_SIZEOF_PTRDIFF_T
1224  #define ASSIGN_uint16_t_TO_ptrdiff_t(dst, dsttype, src, srctype) \
1225  ASSIGN_TO_LARGER_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
1226 #elif H5_SIZEOF_UINT16_T > H5_SIZEOF_PTRDIFF_T
1227  #define ASSIGN_uint16_t_TO_ptrdiff_t(dst, dsttype, src, srctype) \
1228  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1229 #else /* H5_SIZEOF_UINT16_T == H5_SIZEOF_PTRDIFF_T */
1230  #define ASSIGN_uint16_t_TO_ptrdiff_t(dst, dsttype, src, srctype) \
1231  ASSIGN_TO_SAME_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
1232 #endif /* src: uint16_t dst: ptrdiff_t */
1233 
1234 /* src: uint16_t, dst: size_t */
1235 #if H5_SIZEOF_UINT16_T < H5_SIZEOF_SIZE_T
1236  #define ASSIGN_uint16_t_TO_size_t(dst, dsttype, src, srctype) \
1237  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1238 #elif H5_SIZEOF_UINT16_T > H5_SIZEOF_SIZE_T
1239  #define ASSIGN_uint16_t_TO_size_t(dst, dsttype, src, srctype) \
1240  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1241 #else /* H5_SIZEOF_UINT16_T == H5_SIZEOF_SIZE_T */
1242  #define ASSIGN_uint16_t_TO_size_t(dst, dsttype, src, srctype) \
1243  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1244 #endif /* src: uint16_t dst: size_t */
1245 
1246 /* src: uint16_t, dst: ssize_t */
1247 #if H5_SIZEOF_UINT16_T < H5_SIZEOF_SSIZE_T
1248  #define ASSIGN_uint16_t_TO_ssize_t(dst, dsttype, src, srctype) \
1249  ASSIGN_TO_LARGER_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
1250 #elif H5_SIZEOF_UINT16_T > H5_SIZEOF_SSIZE_T
1251  #define ASSIGN_uint16_t_TO_ssize_t(dst, dsttype, src, srctype) \
1252  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1253 #else /* H5_SIZEOF_UINT16_T == H5_SIZEOF_SSIZE_T */
1254  #define ASSIGN_uint16_t_TO_ssize_t(dst, dsttype, src, srctype) \
1255  ASSIGN_TO_SAME_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
1256 #endif /* src: uint16_t dst: ssize_t */
1257 
1258 /* src: uint16_t, dst: haddr_t */
1259 #if H5_SIZEOF_UINT16_T < H5_SIZEOF_HADDR_T
1260  #define ASSIGN_uint16_t_TO_haddr_t(dst, dsttype, src, srctype) \
1261  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1262 #elif H5_SIZEOF_UINT16_T > H5_SIZEOF_HADDR_T
1263  #define ASSIGN_uint16_t_TO_haddr_t(dst, dsttype, src, srctype) \
1264  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1265 #else /* H5_SIZEOF_UINT16_T == H5_SIZEOF_HADDR_T */
1266  #define ASSIGN_uint16_t_TO_haddr_t(dst, dsttype, src, srctype) \
1267  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1268 #endif /* src: uint16_t dst: haddr_t */
1269 
1270 /* src: uint16_t, dst: hsize_t */
1271 #if H5_SIZEOF_UINT16_T < H5_SIZEOF_HSIZE_T
1272  #define ASSIGN_uint16_t_TO_hsize_t(dst, dsttype, src, srctype) \
1273  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1274 #elif H5_SIZEOF_UINT16_T > H5_SIZEOF_HSIZE_T
1275  #define ASSIGN_uint16_t_TO_hsize_t(dst, dsttype, src, srctype) \
1276  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1277 #else /* H5_SIZEOF_UINT16_T == H5_SIZEOF_HSIZE_T */
1278  #define ASSIGN_uint16_t_TO_hsize_t(dst, dsttype, src, srctype) \
1279  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1280 #endif /* src: uint16_t dst: hsize_t */
1281 
1282 /* src: uint16_t, dst: hssize_t */
1283 #if H5_SIZEOF_UINT16_T < H5_SIZEOF_HSSIZE_T
1284  #define ASSIGN_uint16_t_TO_hssize_t(dst, dsttype, src, srctype) \
1285  ASSIGN_TO_LARGER_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
1286 #elif H5_SIZEOF_UINT16_T > H5_SIZEOF_HSSIZE_T
1287  #define ASSIGN_uint16_t_TO_hssize_t(dst, dsttype, src, srctype) \
1288  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1289 #else /* H5_SIZEOF_UINT16_T == H5_SIZEOF_HSSIZE_T */
1290  #define ASSIGN_uint16_t_TO_hssize_t(dst, dsttype, src, srctype) \
1291  ASSIGN_TO_SAME_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
1292 #endif /* src: uint16_t dst: hssize_t */
1293 
1294 /* src: uint16_t, dst: h5_stat_size_t */
1295 #if H5_SIZEOF_UINT16_T < H5_SIZEOF_H5_STAT_SIZE_T
1296  #define ASSIGN_uint16_t_TO_h5_stat_size_t(dst, dsttype, src, srctype) \
1297  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1298 #elif H5_SIZEOF_UINT16_T > H5_SIZEOF_H5_STAT_SIZE_T
1299  #define ASSIGN_uint16_t_TO_h5_stat_size_t(dst, dsttype, src, srctype) \
1300  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1301 #else /* H5_SIZEOF_UINT16_T == H5_SIZEOF_H5_STAT_SIZE_T */
1302  #define ASSIGN_uint16_t_TO_h5_stat_size_t(dst, dsttype, src, srctype) \
1303  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1304 #endif /* src: uint16_t dst: h5_stat_size_t */
1305 
1306 
1307 /* Assignment checks for uint32_t */
1308 
1309 /* src: uint32_t, dst: unsigned */
1310 #if H5_SIZEOF_UINT32_T < H5_SIZEOF_UNSIGNED
1311  #define ASSIGN_uint32_t_TO_unsigned(dst, dsttype, src, srctype) \
1312  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1313 #elif H5_SIZEOF_UINT32_T > H5_SIZEOF_UNSIGNED
1314  #define ASSIGN_uint32_t_TO_unsigned(dst, dsttype, src, srctype) \
1315  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1316 #else /* H5_SIZEOF_UINT32_T == H5_SIZEOF_UNSIGNED */
1317  #define ASSIGN_uint32_t_TO_unsigned(dst, dsttype, src, srctype) \
1318  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1319 #endif /* src: uint32_t dst: unsigned */
1320 
1321 /* src: uint32_t, dst: int8_t */
1322 #if H5_SIZEOF_UINT32_T < H5_SIZEOF_INT8_T
1323  #define ASSIGN_uint32_t_TO_int8_t(dst, dsttype, src, srctype) \
1324  ASSIGN_TO_LARGER_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
1325 #elif H5_SIZEOF_UINT32_T > H5_SIZEOF_INT8_T
1326  #define ASSIGN_uint32_t_TO_int8_t(dst, dsttype, src, srctype) \
1327  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1328 #else /* H5_SIZEOF_UINT32_T == H5_SIZEOF_INT8_T */
1329  #define ASSIGN_uint32_t_TO_int8_t(dst, dsttype, src, srctype) \
1330  ASSIGN_TO_SAME_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
1331 #endif /* src: uint32_t dst: int8_t */
1332 
1333 /* src: uint32_t, dst: int */
1334 #if H5_SIZEOF_UINT32_T < H5_SIZEOF_INT
1335  #define ASSIGN_uint32_t_TO_int(dst, dsttype, src, srctype) \
1336  ASSIGN_TO_LARGER_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
1337 #elif H5_SIZEOF_UINT32_T > H5_SIZEOF_INT
1338  #define ASSIGN_uint32_t_TO_int(dst, dsttype, src, srctype) \
1339  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1340 #else /* H5_SIZEOF_UINT32_T == H5_SIZEOF_INT */
1341  #define ASSIGN_uint32_t_TO_int(dst, dsttype, src, srctype) \
1342  ASSIGN_TO_SAME_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
1343 #endif /* src: uint32_t dst: int */
1344 
1345 /* src: uint32_t, dst: long */
1346 #if H5_SIZEOF_UINT32_T < H5_SIZEOF_LONG
1347  #define ASSIGN_uint32_t_TO_long(dst, dsttype, src, srctype) \
1348  ASSIGN_TO_LARGER_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
1349 #elif H5_SIZEOF_UINT32_T > H5_SIZEOF_LONG
1350  #define ASSIGN_uint32_t_TO_long(dst, dsttype, src, srctype) \
1351  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1352 #else /* H5_SIZEOF_UINT32_T == H5_SIZEOF_LONG */
1353  #define ASSIGN_uint32_t_TO_long(dst, dsttype, src, srctype) \
1354  ASSIGN_TO_SAME_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
1355 #endif /* src: uint32_t dst: long */
1356 
1357 /* src: uint32_t, dst: int64_t */
1358 #if H5_SIZEOF_UINT32_T < H5_SIZEOF_INT64_T
1359  #define ASSIGN_uint32_t_TO_int64_t(dst, dsttype, src, srctype) \
1360  ASSIGN_TO_LARGER_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
1361 #elif H5_SIZEOF_UINT32_T > H5_SIZEOF_INT64_T
1362  #define ASSIGN_uint32_t_TO_int64_t(dst, dsttype, src, srctype) \
1363  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1364 #else /* H5_SIZEOF_UINT32_T == H5_SIZEOF_INT64_T */
1365  #define ASSIGN_uint32_t_TO_int64_t(dst, dsttype, src, srctype) \
1366  ASSIGN_TO_SAME_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
1367 #endif /* src: uint32_t dst: int64_t */
1368 
1369 /* src: uint32_t, dst: uint8_t */
1370 #if H5_SIZEOF_UINT32_T < H5_SIZEOF_UINT8_T
1371  #define ASSIGN_uint32_t_TO_uint8_t(dst, dsttype, src, srctype) \
1372  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1373 #elif H5_SIZEOF_UINT32_T > H5_SIZEOF_UINT8_T
1374  #define ASSIGN_uint32_t_TO_uint8_t(dst, dsttype, src, srctype) \
1375  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1376 #else /* H5_SIZEOF_UINT32_T == H5_SIZEOF_UINT8_T */
1377  #define ASSIGN_uint32_t_TO_uint8_t(dst, dsttype, src, srctype) \
1378  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1379 #endif /* src: uint32_t dst: uint8_t */
1380 
1381 /* src: uint32_t, dst: uint16_t */
1382 #if H5_SIZEOF_UINT32_T < H5_SIZEOF_UINT16_T
1383  #define ASSIGN_uint32_t_TO_uint16_t(dst, dsttype, src, srctype) \
1384  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1385 #elif H5_SIZEOF_UINT32_T > H5_SIZEOF_UINT16_T
1386  #define ASSIGN_uint32_t_TO_uint16_t(dst, dsttype, src, srctype) \
1387  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1388 #else /* H5_SIZEOF_UINT32_T == H5_SIZEOF_UINT16_T */
1389  #define ASSIGN_uint32_t_TO_uint16_t(dst, dsttype, src, srctype) \
1390  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1391 #endif /* src: uint32_t dst: uint16_t */
1392 
1393 /* src: uint32_t, dst: uint64_t */
1394 #if H5_SIZEOF_UINT32_T < H5_SIZEOF_UINT64_T
1395  #define ASSIGN_uint32_t_TO_uint64_t(dst, dsttype, src, srctype) \
1396  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1397 #elif H5_SIZEOF_UINT32_T > H5_SIZEOF_UINT64_T
1398  #define ASSIGN_uint32_t_TO_uint64_t(dst, dsttype, src, srctype) \
1399  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1400 #else /* H5_SIZEOF_UINT32_T == H5_SIZEOF_UINT64_T */
1401  #define ASSIGN_uint32_t_TO_uint64_t(dst, dsttype, src, srctype) \
1402  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1403 #endif /* src: uint32_t dst: uint64_t */
1404 
1405 /* src: uint32_t, dst: ptrdiff_t */
1406 #if H5_SIZEOF_UINT32_T < H5_SIZEOF_PTRDIFF_T
1407  #define ASSIGN_uint32_t_TO_ptrdiff_t(dst, dsttype, src, srctype) \
1408  ASSIGN_TO_LARGER_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
1409 #elif H5_SIZEOF_UINT32_T > H5_SIZEOF_PTRDIFF_T
1410  #define ASSIGN_uint32_t_TO_ptrdiff_t(dst, dsttype, src, srctype) \
1411  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1412 #else /* H5_SIZEOF_UINT32_T == H5_SIZEOF_PTRDIFF_T */
1413  #define ASSIGN_uint32_t_TO_ptrdiff_t(dst, dsttype, src, srctype) \
1414  ASSIGN_TO_SAME_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
1415 #endif /* src: uint32_t dst: ptrdiff_t */
1416 
1417 /* src: uint32_t, dst: size_t */
1418 #if H5_SIZEOF_UINT32_T < H5_SIZEOF_SIZE_T
1419  #define ASSIGN_uint32_t_TO_size_t(dst, dsttype, src, srctype) \
1420  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1421 #elif H5_SIZEOF_UINT32_T > H5_SIZEOF_SIZE_T
1422  #define ASSIGN_uint32_t_TO_size_t(dst, dsttype, src, srctype) \
1423  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1424 #else /* H5_SIZEOF_UINT32_T == H5_SIZEOF_SIZE_T */
1425  #define ASSIGN_uint32_t_TO_size_t(dst, dsttype, src, srctype) \
1426  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1427 #endif /* src: uint32_t dst: size_t */
1428 
1429 /* src: uint32_t, dst: ssize_t */
1430 #if H5_SIZEOF_UINT32_T < H5_SIZEOF_SSIZE_T
1431  #define ASSIGN_uint32_t_TO_ssize_t(dst, dsttype, src, srctype) \
1432  ASSIGN_TO_LARGER_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
1433 #elif H5_SIZEOF_UINT32_T > H5_SIZEOF_SSIZE_T
1434  #define ASSIGN_uint32_t_TO_ssize_t(dst, dsttype, src, srctype) \
1435  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1436 #else /* H5_SIZEOF_UINT32_T == H5_SIZEOF_SSIZE_T */
1437  #define ASSIGN_uint32_t_TO_ssize_t(dst, dsttype, src, srctype) \
1438  ASSIGN_TO_SAME_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
1439 #endif /* src: uint32_t dst: ssize_t */
1440 
1441 /* src: uint32_t, dst: haddr_t */
1442 #if H5_SIZEOF_UINT32_T < H5_SIZEOF_HADDR_T
1443  #define ASSIGN_uint32_t_TO_haddr_t(dst, dsttype, src, srctype) \
1444  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1445 #elif H5_SIZEOF_UINT32_T > H5_SIZEOF_HADDR_T
1446  #define ASSIGN_uint32_t_TO_haddr_t(dst, dsttype, src, srctype) \
1447  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1448 #else /* H5_SIZEOF_UINT32_T == H5_SIZEOF_HADDR_T */
1449  #define ASSIGN_uint32_t_TO_haddr_t(dst, dsttype, src, srctype) \
1450  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1451 #endif /* src: uint32_t dst: haddr_t */
1452 
1453 /* src: uint32_t, dst: hsize_t */
1454 #if H5_SIZEOF_UINT32_T < H5_SIZEOF_HSIZE_T
1455  #define ASSIGN_uint32_t_TO_hsize_t(dst, dsttype, src, srctype) \
1456  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1457 #elif H5_SIZEOF_UINT32_T > H5_SIZEOF_HSIZE_T
1458  #define ASSIGN_uint32_t_TO_hsize_t(dst, dsttype, src, srctype) \
1459  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1460 #else /* H5_SIZEOF_UINT32_T == H5_SIZEOF_HSIZE_T */
1461  #define ASSIGN_uint32_t_TO_hsize_t(dst, dsttype, src, srctype) \
1462  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1463 #endif /* src: uint32_t dst: hsize_t */
1464 
1465 /* src: uint32_t, dst: hssize_t */
1466 #if H5_SIZEOF_UINT32_T < H5_SIZEOF_HSSIZE_T
1467  #define ASSIGN_uint32_t_TO_hssize_t(dst, dsttype, src, srctype) \
1468  ASSIGN_TO_LARGER_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
1469 #elif H5_SIZEOF_UINT32_T > H5_SIZEOF_HSSIZE_T
1470  #define ASSIGN_uint32_t_TO_hssize_t(dst, dsttype, src, srctype) \
1471  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1472 #else /* H5_SIZEOF_UINT32_T == H5_SIZEOF_HSSIZE_T */
1473  #define ASSIGN_uint32_t_TO_hssize_t(dst, dsttype, src, srctype) \
1474  ASSIGN_TO_SAME_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
1475 #endif /* src: uint32_t dst: hssize_t */
1476 
1477 /* src: uint32_t, dst: h5_stat_size_t */
1478 #if H5_SIZEOF_UINT32_T < H5_SIZEOF_H5_STAT_SIZE_T
1479  #define ASSIGN_uint32_t_TO_h5_stat_size_t(dst, dsttype, src, srctype) \
1480  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1481 #elif H5_SIZEOF_UINT32_T > H5_SIZEOF_H5_STAT_SIZE_T
1482  #define ASSIGN_uint32_t_TO_h5_stat_size_t(dst, dsttype, src, srctype) \
1483  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1484 #else /* H5_SIZEOF_UINT32_T == H5_SIZEOF_H5_STAT_SIZE_T */
1485  #define ASSIGN_uint32_t_TO_h5_stat_size_t(dst, dsttype, src, srctype) \
1486  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1487 #endif /* src: uint32_t dst: h5_stat_size_t */
1488 
1489 
1490 /* Assignment checks for uint64_t */
1491 
1492 /* src: uint64_t, dst: unsigned */
1493 #if H5_SIZEOF_UINT64_T < H5_SIZEOF_UNSIGNED
1494  #define ASSIGN_uint64_t_TO_unsigned(dst, dsttype, src, srctype) \
1495  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1496 #elif H5_SIZEOF_UINT64_T > H5_SIZEOF_UNSIGNED
1497  #define ASSIGN_uint64_t_TO_unsigned(dst, dsttype, src, srctype) \
1498  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1499 #else /* H5_SIZEOF_UINT64_T == H5_SIZEOF_UNSIGNED */
1500  #define ASSIGN_uint64_t_TO_unsigned(dst, dsttype, src, srctype) \
1501  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1502 #endif /* src: uint64_t dst: unsigned */
1503 
1504 /* src: uint64_t, dst: int8_t */
1505 #if H5_SIZEOF_UINT64_T < H5_SIZEOF_INT8_T
1506  #define ASSIGN_uint64_t_TO_int8_t(dst, dsttype, src, srctype) \
1507  ASSIGN_TO_LARGER_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
1508 #elif H5_SIZEOF_UINT64_T > H5_SIZEOF_INT8_T
1509  #define ASSIGN_uint64_t_TO_int8_t(dst, dsttype, src, srctype) \
1510  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1511 #else /* H5_SIZEOF_UINT64_T == H5_SIZEOF_INT8_T */
1512  #define ASSIGN_uint64_t_TO_int8_t(dst, dsttype, src, srctype) \
1513  ASSIGN_TO_SAME_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
1514 #endif /* src: uint64_t dst: int8_t */
1515 
1516 /* src: uint64_t, dst: int */
1517 #if H5_SIZEOF_UINT64_T < H5_SIZEOF_INT
1518  #define ASSIGN_uint64_t_TO_int(dst, dsttype, src, srctype) \
1519  ASSIGN_TO_LARGER_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
1520 #elif H5_SIZEOF_UINT64_T > H5_SIZEOF_INT
1521  #define ASSIGN_uint64_t_TO_int(dst, dsttype, src, srctype) \
1522  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1523 #else /* H5_SIZEOF_UINT64_T == H5_SIZEOF_INT */
1524  #define ASSIGN_uint64_t_TO_int(dst, dsttype, src, srctype) \
1525  ASSIGN_TO_SAME_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
1526 #endif /* src: uint64_t dst: int */
1527 
1528 /* src: uint64_t, dst: long */
1529 #if H5_SIZEOF_UINT64_T < H5_SIZEOF_LONG
1530  #define ASSIGN_uint64_t_TO_long(dst, dsttype, src, srctype) \
1531  ASSIGN_TO_LARGER_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
1532 #elif H5_SIZEOF_UINT64_T > H5_SIZEOF_LONG
1533  #define ASSIGN_uint64_t_TO_long(dst, dsttype, src, srctype) \
1534  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1535 #else /* H5_SIZEOF_UINT64_T == H5_SIZEOF_LONG */
1536  #define ASSIGN_uint64_t_TO_long(dst, dsttype, src, srctype) \
1537  ASSIGN_TO_SAME_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
1538 #endif /* src: uint64_t dst: long */
1539 
1540 /* src: uint64_t, dst: int64_t */
1541 #if H5_SIZEOF_UINT64_T < H5_SIZEOF_INT64_T
1542  #define ASSIGN_uint64_t_TO_int64_t(dst, dsttype, src, srctype) \
1543  ASSIGN_TO_LARGER_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
1544 #elif H5_SIZEOF_UINT64_T > H5_SIZEOF_INT64_T
1545  #define ASSIGN_uint64_t_TO_int64_t(dst, dsttype, src, srctype) \
1546  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1547 #else /* H5_SIZEOF_UINT64_T == H5_SIZEOF_INT64_T */
1548  #define ASSIGN_uint64_t_TO_int64_t(dst, dsttype, src, srctype) \
1549  ASSIGN_TO_SAME_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
1550 #endif /* src: uint64_t dst: int64_t */
1551 
1552 /* src: uint64_t, dst: uint8_t */
1553 #if H5_SIZEOF_UINT64_T < H5_SIZEOF_UINT8_T
1554  #define ASSIGN_uint64_t_TO_uint8_t(dst, dsttype, src, srctype) \
1555  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1556 #elif H5_SIZEOF_UINT64_T > H5_SIZEOF_UINT8_T
1557  #define ASSIGN_uint64_t_TO_uint8_t(dst, dsttype, src, srctype) \
1558  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1559 #else /* H5_SIZEOF_UINT64_T == H5_SIZEOF_UINT8_T */
1560  #define ASSIGN_uint64_t_TO_uint8_t(dst, dsttype, src, srctype) \
1561  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1562 #endif /* src: uint64_t dst: uint8_t */
1563 
1564 /* src: uint64_t, dst: uint16_t */
1565 #if H5_SIZEOF_UINT64_T < H5_SIZEOF_UINT16_T
1566  #define ASSIGN_uint64_t_TO_uint16_t(dst, dsttype, src, srctype) \
1567  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1568 #elif H5_SIZEOF_UINT64_T > H5_SIZEOF_UINT16_T
1569  #define ASSIGN_uint64_t_TO_uint16_t(dst, dsttype, src, srctype) \
1570  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1571 #else /* H5_SIZEOF_UINT64_T == H5_SIZEOF_UINT16_T */
1572  #define ASSIGN_uint64_t_TO_uint16_t(dst, dsttype, src, srctype) \
1573  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1574 #endif /* src: uint64_t dst: uint16_t */
1575 
1576 /* src: uint64_t, dst: uint32_t */
1577 #if H5_SIZEOF_UINT64_T < H5_SIZEOF_UINT32_T
1578  #define ASSIGN_uint64_t_TO_uint32_t(dst, dsttype, src, srctype) \
1579  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1580 #elif H5_SIZEOF_UINT64_T > H5_SIZEOF_UINT32_T
1581  #define ASSIGN_uint64_t_TO_uint32_t(dst, dsttype, src, srctype) \
1582  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1583 #else /* H5_SIZEOF_UINT64_T == H5_SIZEOF_UINT32_T */
1584  #define ASSIGN_uint64_t_TO_uint32_t(dst, dsttype, src, srctype) \
1585  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1586 #endif /* src: uint64_t dst: uint32_t */
1587 
1588 /* src: uint64_t, dst: ptrdiff_t */
1589 #if H5_SIZEOF_UINT64_T < H5_SIZEOF_PTRDIFF_T
1590  #define ASSIGN_uint64_t_TO_ptrdiff_t(dst, dsttype, src, srctype) \
1591  ASSIGN_TO_LARGER_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
1592 #elif H5_SIZEOF_UINT64_T > H5_SIZEOF_PTRDIFF_T
1593  #define ASSIGN_uint64_t_TO_ptrdiff_t(dst, dsttype, src, srctype) \
1594  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1595 #else /* H5_SIZEOF_UINT64_T == H5_SIZEOF_PTRDIFF_T */
1596  #define ASSIGN_uint64_t_TO_ptrdiff_t(dst, dsttype, src, srctype) \
1597  ASSIGN_TO_SAME_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
1598 #endif /* src: uint64_t dst: ptrdiff_t */
1599 
1600 /* src: uint64_t, dst: size_t */
1601 #if H5_SIZEOF_UINT64_T < H5_SIZEOF_SIZE_T
1602  #define ASSIGN_uint64_t_TO_size_t(dst, dsttype, src, srctype) \
1603  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1604 #elif H5_SIZEOF_UINT64_T > H5_SIZEOF_SIZE_T
1605  #define ASSIGN_uint64_t_TO_size_t(dst, dsttype, src, srctype) \
1606  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1607 #else /* H5_SIZEOF_UINT64_T == H5_SIZEOF_SIZE_T */
1608  #define ASSIGN_uint64_t_TO_size_t(dst, dsttype, src, srctype) \
1609  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1610 #endif /* src: uint64_t dst: size_t */
1611 
1612 /* src: uint64_t, dst: ssize_t */
1613 #if H5_SIZEOF_UINT64_T < H5_SIZEOF_SSIZE_T
1614  #define ASSIGN_uint64_t_TO_ssize_t(dst, dsttype, src, srctype) \
1615  ASSIGN_TO_LARGER_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
1616 #elif H5_SIZEOF_UINT64_T > H5_SIZEOF_SSIZE_T
1617  #define ASSIGN_uint64_t_TO_ssize_t(dst, dsttype, src, srctype) \
1618  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1619 #else /* H5_SIZEOF_UINT64_T == H5_SIZEOF_SSIZE_T */
1620  #define ASSIGN_uint64_t_TO_ssize_t(dst, dsttype, src, srctype) \
1621  ASSIGN_TO_SAME_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
1622 #endif /* src: uint64_t dst: ssize_t */
1623 
1624 /* src: uint64_t, dst: haddr_t */
1625 #if H5_SIZEOF_UINT64_T < H5_SIZEOF_HADDR_T
1626  #define ASSIGN_uint64_t_TO_haddr_t(dst, dsttype, src, srctype) \
1627  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1628 #elif H5_SIZEOF_UINT64_T > H5_SIZEOF_HADDR_T
1629  #define ASSIGN_uint64_t_TO_haddr_t(dst, dsttype, src, srctype) \
1630  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1631 #else /* H5_SIZEOF_UINT64_T == H5_SIZEOF_HADDR_T */
1632  #define ASSIGN_uint64_t_TO_haddr_t(dst, dsttype, src, srctype) \
1633  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1634 #endif /* src: uint64_t dst: haddr_t */
1635 
1636 /* src: uint64_t, dst: hsize_t */
1637 #if H5_SIZEOF_UINT64_T < H5_SIZEOF_HSIZE_T
1638  #define ASSIGN_uint64_t_TO_hsize_t(dst, dsttype, src, srctype) \
1639  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1640 #elif H5_SIZEOF_UINT64_T > H5_SIZEOF_HSIZE_T
1641  #define ASSIGN_uint64_t_TO_hsize_t(dst, dsttype, src, srctype) \
1642  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1643 #else /* H5_SIZEOF_UINT64_T == H5_SIZEOF_HSIZE_T */
1644  #define ASSIGN_uint64_t_TO_hsize_t(dst, dsttype, src, srctype) \
1645  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1646 #endif /* src: uint64_t dst: hsize_t */
1647 
1648 /* src: uint64_t, dst: hssize_t */
1649 #if H5_SIZEOF_UINT64_T < H5_SIZEOF_HSSIZE_T
1650  #define ASSIGN_uint64_t_TO_hssize_t(dst, dsttype, src, srctype) \
1651  ASSIGN_TO_LARGER_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
1652 #elif H5_SIZEOF_UINT64_T > H5_SIZEOF_HSSIZE_T
1653  #define ASSIGN_uint64_t_TO_hssize_t(dst, dsttype, src, srctype) \
1654  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1655 #else /* H5_SIZEOF_UINT64_T == H5_SIZEOF_HSSIZE_T */
1656  #define ASSIGN_uint64_t_TO_hssize_t(dst, dsttype, src, srctype) \
1657  ASSIGN_TO_SAME_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
1658 #endif /* src: uint64_t dst: hssize_t */
1659 
1660 /* src: uint64_t, dst: h5_stat_size_t */
1661 #if H5_SIZEOF_UINT64_T < H5_SIZEOF_H5_STAT_SIZE_T
1662  #define ASSIGN_uint64_t_TO_h5_stat_size_t(dst, dsttype, src, srctype) \
1663  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1664 #elif H5_SIZEOF_UINT64_T > H5_SIZEOF_H5_STAT_SIZE_T
1665  #define ASSIGN_uint64_t_TO_h5_stat_size_t(dst, dsttype, src, srctype) \
1666  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1667 #else /* H5_SIZEOF_UINT64_T == H5_SIZEOF_H5_STAT_SIZE_T */
1668  #define ASSIGN_uint64_t_TO_h5_stat_size_t(dst, dsttype, src, srctype) \
1669  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1670 #endif /* src: uint64_t dst: h5_stat_size_t */
1671 
1672 
1673 /* Assignment checks for ptrdiff_t */
1674 
1675 /* src: ptrdiff_t, dst: unsigned */
1676 #if H5_SIZEOF_PTRDIFF_T < H5_SIZEOF_UNSIGNED
1677  #define ASSIGN_ptrdiff_t_TO_unsigned(dst, dsttype, src, srctype) \
1678  ASSIGN_TO_LARGER_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
1679 #elif H5_SIZEOF_PTRDIFF_T > H5_SIZEOF_UNSIGNED
1680  #define ASSIGN_ptrdiff_t_TO_unsigned(dst, dsttype, src, srctype) \
1681  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1682 #else /* H5_SIZEOF_PTRDIFF_T == H5_SIZEOF_UNSIGNED */
1683  #define ASSIGN_ptrdiff_t_TO_unsigned(dst, dsttype, src, srctype) \
1684  ASSIGN_TO_SAME_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
1685 #endif /* src: ptrdiff_t dst: unsigned */
1686 
1687 /* src: ptrdiff_t, dst: int8_t */
1688 #if H5_SIZEOF_PTRDIFF_T < H5_SIZEOF_INT8_T
1689  #define ASSIGN_ptrdiff_t_TO_int8_t(dst, dsttype, src, srctype) \
1690  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1691 #elif H5_SIZEOF_PTRDIFF_T > H5_SIZEOF_INT8_T
1692  #define ASSIGN_ptrdiff_t_TO_int8_t(dst, dsttype, src, srctype) \
1693  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1694 #else /* H5_SIZEOF_PTRDIFF_T == H5_SIZEOF_INT8_T */
1695  #define ASSIGN_ptrdiff_t_TO_int8_t(dst, dsttype, src, srctype) \
1696  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1697 #endif /* src: ptrdiff_t dst: int8_t */
1698 
1699 /* src: ptrdiff_t, dst: int */
1700 #if H5_SIZEOF_PTRDIFF_T < H5_SIZEOF_INT
1701  #define ASSIGN_ptrdiff_t_TO_int(dst, dsttype, src, srctype) \
1702  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1703 #elif H5_SIZEOF_PTRDIFF_T > H5_SIZEOF_INT
1704  #define ASSIGN_ptrdiff_t_TO_int(dst, dsttype, src, srctype) \
1705  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1706 #else /* H5_SIZEOF_PTRDIFF_T == H5_SIZEOF_INT */
1707  #define ASSIGN_ptrdiff_t_TO_int(dst, dsttype, src, srctype) \
1708  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1709 #endif /* src: ptrdiff_t dst: int */
1710 
1711 /* src: ptrdiff_t, dst: long */
1712 #if H5_SIZEOF_PTRDIFF_T < H5_SIZEOF_LONG
1713  #define ASSIGN_ptrdiff_t_TO_long(dst, dsttype, src, srctype) \
1714  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1715 #elif H5_SIZEOF_PTRDIFF_T > H5_SIZEOF_LONG
1716  #define ASSIGN_ptrdiff_t_TO_long(dst, dsttype, src, srctype) \
1717  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1718 #else /* H5_SIZEOF_PTRDIFF_T == H5_SIZEOF_LONG */
1719  #define ASSIGN_ptrdiff_t_TO_long(dst, dsttype, src, srctype) \
1720  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1721 #endif /* src: ptrdiff_t dst: long */
1722 
1723 /* src: ptrdiff_t, dst: int64_t */
1724 #if H5_SIZEOF_PTRDIFF_T < H5_SIZEOF_INT64_T
1725  #define ASSIGN_ptrdiff_t_TO_int64_t(dst, dsttype, src, srctype) \
1726  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1727 #elif H5_SIZEOF_PTRDIFF_T > H5_SIZEOF_INT64_T
1728  #define ASSIGN_ptrdiff_t_TO_int64_t(dst, dsttype, src, srctype) \
1729  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1730 #else /* H5_SIZEOF_PTRDIFF_T == H5_SIZEOF_INT64_T */
1731  #define ASSIGN_ptrdiff_t_TO_int64_t(dst, dsttype, src, srctype) \
1732  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1733 #endif /* src: ptrdiff_t dst: int64_t */
1734 
1735 /* src: ptrdiff_t, dst: uint8_t */
1736 #if H5_SIZEOF_PTRDIFF_T < H5_SIZEOF_UINT8_T
1737  #define ASSIGN_ptrdiff_t_TO_uint8_t(dst, dsttype, src, srctype) \
1738  ASSIGN_TO_LARGER_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
1739 #elif H5_SIZEOF_PTRDIFF_T > H5_SIZEOF_UINT8_T
1740  #define ASSIGN_ptrdiff_t_TO_uint8_t(dst, dsttype, src, srctype) \
1741  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1742 #else /* H5_SIZEOF_PTRDIFF_T == H5_SIZEOF_UINT8_T */
1743  #define ASSIGN_ptrdiff_t_TO_uint8_t(dst, dsttype, src, srctype) \
1744  ASSIGN_TO_SAME_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
1745 #endif /* src: ptrdiff_t dst: uint8_t */
1746 
1747 /* src: ptrdiff_t, dst: uint16_t */
1748 #if H5_SIZEOF_PTRDIFF_T < H5_SIZEOF_UINT16_T
1749  #define ASSIGN_ptrdiff_t_TO_uint16_t(dst, dsttype, src, srctype) \
1750  ASSIGN_TO_LARGER_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
1751 #elif H5_SIZEOF_PTRDIFF_T > H5_SIZEOF_UINT16_T
1752  #define ASSIGN_ptrdiff_t_TO_uint16_t(dst, dsttype, src, srctype) \
1753  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1754 #else /* H5_SIZEOF_PTRDIFF_T == H5_SIZEOF_UINT16_T */
1755  #define ASSIGN_ptrdiff_t_TO_uint16_t(dst, dsttype, src, srctype) \
1756  ASSIGN_TO_SAME_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
1757 #endif /* src: ptrdiff_t dst: uint16_t */
1758 
1759 /* src: ptrdiff_t, dst: uint32_t */
1760 #if H5_SIZEOF_PTRDIFF_T < H5_SIZEOF_UINT32_T
1761  #define ASSIGN_ptrdiff_t_TO_uint32_t(dst, dsttype, src, srctype) \
1762  ASSIGN_TO_LARGER_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
1763 #elif H5_SIZEOF_PTRDIFF_T > H5_SIZEOF_UINT32_T
1764  #define ASSIGN_ptrdiff_t_TO_uint32_t(dst, dsttype, src, srctype) \
1765  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1766 #else /* H5_SIZEOF_PTRDIFF_T == H5_SIZEOF_UINT32_T */
1767  #define ASSIGN_ptrdiff_t_TO_uint32_t(dst, dsttype, src, srctype) \
1768  ASSIGN_TO_SAME_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
1769 #endif /* src: ptrdiff_t dst: uint32_t */
1770 
1771 /* src: ptrdiff_t, dst: uint64_t */
1772 #if H5_SIZEOF_PTRDIFF_T < H5_SIZEOF_UINT64_T
1773  #define ASSIGN_ptrdiff_t_TO_uint64_t(dst, dsttype, src, srctype) \
1774  ASSIGN_TO_LARGER_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
1775 #elif H5_SIZEOF_PTRDIFF_T > H5_SIZEOF_UINT64_T
1776  #define ASSIGN_ptrdiff_t_TO_uint64_t(dst, dsttype, src, srctype) \
1777  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1778 #else /* H5_SIZEOF_PTRDIFF_T == H5_SIZEOF_UINT64_T */
1779  #define ASSIGN_ptrdiff_t_TO_uint64_t(dst, dsttype, src, srctype) \
1780  ASSIGN_TO_SAME_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
1781 #endif /* src: ptrdiff_t dst: uint64_t */
1782 
1783 /* src: ptrdiff_t, dst: size_t */
1784 #if H5_SIZEOF_PTRDIFF_T < H5_SIZEOF_SIZE_T
1785  #define ASSIGN_ptrdiff_t_TO_size_t(dst, dsttype, src, srctype) \
1786  ASSIGN_TO_LARGER_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
1787 #elif H5_SIZEOF_PTRDIFF_T > H5_SIZEOF_SIZE_T
1788  #define ASSIGN_ptrdiff_t_TO_size_t(dst, dsttype, src, srctype) \
1789  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1790 #else /* H5_SIZEOF_PTRDIFF_T == H5_SIZEOF_SIZE_T */
1791  #define ASSIGN_ptrdiff_t_TO_size_t(dst, dsttype, src, srctype) \
1792  ASSIGN_TO_SAME_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
1793 #endif /* src: ptrdiff_t dst: size_t */
1794 
1795 /* src: ptrdiff_t, dst: ssize_t */
1796 #if H5_SIZEOF_PTRDIFF_T < H5_SIZEOF_SSIZE_T
1797  #define ASSIGN_ptrdiff_t_TO_ssize_t(dst, dsttype, src, srctype) \
1798  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1799 #elif H5_SIZEOF_PTRDIFF_T > H5_SIZEOF_SSIZE_T
1800  #define ASSIGN_ptrdiff_t_TO_ssize_t(dst, dsttype, src, srctype) \
1801  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1802 #else /* H5_SIZEOF_PTRDIFF_T == H5_SIZEOF_SSIZE_T */
1803  #define ASSIGN_ptrdiff_t_TO_ssize_t(dst, dsttype, src, srctype) \
1804  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1805 #endif /* src: ptrdiff_t dst: ssize_t */
1806 
1807 /* src: ptrdiff_t, dst: haddr_t */
1808 #if H5_SIZEOF_PTRDIFF_T < H5_SIZEOF_HADDR_T
1809  #define ASSIGN_ptrdiff_t_TO_haddr_t(dst, dsttype, src, srctype) \
1810  ASSIGN_TO_LARGER_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
1811 #elif H5_SIZEOF_PTRDIFF_T > H5_SIZEOF_HADDR_T
1812  #define ASSIGN_ptrdiff_t_TO_haddr_t(dst, dsttype, src, srctype) \
1813  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1814 #else /* H5_SIZEOF_PTRDIFF_T == H5_SIZEOF_HADDR_T */
1815  #define ASSIGN_ptrdiff_t_TO_haddr_t(dst, dsttype, src, srctype) \
1816  ASSIGN_TO_SAME_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
1817 #endif /* src: ptrdiff_t dst: haddr_t */
1818 
1819 /* src: ptrdiff_t, dst: hsize_t */
1820 #if H5_SIZEOF_PTRDIFF_T < H5_SIZEOF_HSIZE_T
1821  #define ASSIGN_ptrdiff_t_TO_hsize_t(dst, dsttype, src, srctype) \
1822  ASSIGN_TO_LARGER_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
1823 #elif H5_SIZEOF_PTRDIFF_T > H5_SIZEOF_HSIZE_T
1824  #define ASSIGN_ptrdiff_t_TO_hsize_t(dst, dsttype, src, srctype) \
1825  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1826 #else /* H5_SIZEOF_PTRDIFF_T == H5_SIZEOF_HSIZE_T */
1827  #define ASSIGN_ptrdiff_t_TO_hsize_t(dst, dsttype, src, srctype) \
1828  ASSIGN_TO_SAME_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
1829 #endif /* src: ptrdiff_t dst: hsize_t */
1830 
1831 /* src: ptrdiff_t, dst: hssize_t */
1832 #if H5_SIZEOF_PTRDIFF_T < H5_SIZEOF_HSSIZE_T
1833  #define ASSIGN_ptrdiff_t_TO_hssize_t(dst, dsttype, src, srctype) \
1834  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1835 #elif H5_SIZEOF_PTRDIFF_T > H5_SIZEOF_HSSIZE_T
1836  #define ASSIGN_ptrdiff_t_TO_hssize_t(dst, dsttype, src, srctype) \
1837  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1838 #else /* H5_SIZEOF_PTRDIFF_T == H5_SIZEOF_HSSIZE_T */
1839  #define ASSIGN_ptrdiff_t_TO_hssize_t(dst, dsttype, src, srctype) \
1840  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1841 #endif /* src: ptrdiff_t dst: hssize_t */
1842 
1843 /* src: ptrdiff_t, dst: h5_stat_size_t */
1844 #if H5_SIZEOF_PTRDIFF_T < H5_SIZEOF_H5_STAT_SIZE_T
1845  #define ASSIGN_ptrdiff_t_TO_h5_stat_size_t(dst, dsttype, src, srctype) \
1846  ASSIGN_TO_LARGER_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
1847 #elif H5_SIZEOF_PTRDIFF_T > H5_SIZEOF_H5_STAT_SIZE_T
1848  #define ASSIGN_ptrdiff_t_TO_h5_stat_size_t(dst, dsttype, src, srctype) \
1849  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1850 #else /* H5_SIZEOF_PTRDIFF_T == H5_SIZEOF_H5_STAT_SIZE_T */
1851  #define ASSIGN_ptrdiff_t_TO_h5_stat_size_t(dst, dsttype, src, srctype) \
1852  ASSIGN_TO_SAME_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
1853 #endif /* src: ptrdiff_t dst: h5_stat_size_t */
1854 
1855 
1856 /* Assignment checks for size_t */
1857 
1858 /* src: size_t, dst: unsigned */
1859 #if H5_SIZEOF_SIZE_T < H5_SIZEOF_UNSIGNED
1860  #define ASSIGN_size_t_TO_unsigned(dst, dsttype, src, srctype) \
1861  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1862 #elif H5_SIZEOF_SIZE_T > H5_SIZEOF_UNSIGNED
1863  #define ASSIGN_size_t_TO_unsigned(dst, dsttype, src, srctype) \
1864  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1865 #else /* H5_SIZEOF_SIZE_T == H5_SIZEOF_UNSIGNED */
1866  #define ASSIGN_size_t_TO_unsigned(dst, dsttype, src, srctype) \
1867  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1868 #endif /* src: size_t dst: unsigned */
1869 
1870 /* src: size_t, dst: int8_t */
1871 #if H5_SIZEOF_SIZE_T < H5_SIZEOF_INT8_T
1872  #define ASSIGN_size_t_TO_int8_t(dst, dsttype, src, srctype) \
1873  ASSIGN_TO_LARGER_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
1874 #elif H5_SIZEOF_SIZE_T > H5_SIZEOF_INT8_T
1875  #define ASSIGN_size_t_TO_int8_t(dst, dsttype, src, srctype) \
1876  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1877 #else /* H5_SIZEOF_SIZE_T == H5_SIZEOF_INT8_T */
1878  #define ASSIGN_size_t_TO_int8_t(dst, dsttype, src, srctype) \
1879  ASSIGN_TO_SAME_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
1880 #endif /* src: size_t dst: int8_t */
1881 
1882 /* src: size_t, dst: int */
1883 #if H5_SIZEOF_SIZE_T < H5_SIZEOF_INT
1884  #define ASSIGN_size_t_TO_int(dst, dsttype, src, srctype) \
1885  ASSIGN_TO_LARGER_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
1886 #elif H5_SIZEOF_SIZE_T > H5_SIZEOF_INT
1887  #define ASSIGN_size_t_TO_int(dst, dsttype, src, srctype) \
1888  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1889 #else /* H5_SIZEOF_SIZE_T == H5_SIZEOF_INT */
1890  #define ASSIGN_size_t_TO_int(dst, dsttype, src, srctype) \
1891  ASSIGN_TO_SAME_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
1892 #endif /* src: size_t dst: int */
1893 
1894 /* src: size_t, dst: long */
1895 #if H5_SIZEOF_SIZE_T < H5_SIZEOF_LONG
1896  #define ASSIGN_size_t_TO_long(dst, dsttype, src, srctype) \
1897  ASSIGN_TO_LARGER_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
1898 #elif H5_SIZEOF_SIZE_T > H5_SIZEOF_LONG
1899  #define ASSIGN_size_t_TO_long(dst, dsttype, src, srctype) \
1900  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1901 #else /* H5_SIZEOF_SIZE_T == H5_SIZEOF_LONG */
1902  #define ASSIGN_size_t_TO_long(dst, dsttype, src, srctype) \
1903  ASSIGN_TO_SAME_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
1904 #endif /* src: size_t dst: long */
1905 
1906 /* src: size_t, dst: int64_t */
1907 #if H5_SIZEOF_SIZE_T < H5_SIZEOF_INT64_T
1908  #define ASSIGN_size_t_TO_int64_t(dst, dsttype, src, srctype) \
1909  ASSIGN_TO_LARGER_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
1910 #elif H5_SIZEOF_SIZE_T > H5_SIZEOF_INT64_T
1911  #define ASSIGN_size_t_TO_int64_t(dst, dsttype, src, srctype) \
1912  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1913 #else /* H5_SIZEOF_SIZE_T == H5_SIZEOF_INT64_T */
1914  #define ASSIGN_size_t_TO_int64_t(dst, dsttype, src, srctype) \
1915  ASSIGN_TO_SAME_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
1916 #endif /* src: size_t dst: int64_t */
1917 
1918 /* src: size_t, dst: uint8_t */
1919 #if H5_SIZEOF_SIZE_T < H5_SIZEOF_UINT8_T
1920  #define ASSIGN_size_t_TO_uint8_t(dst, dsttype, src, srctype) \
1921  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1922 #elif H5_SIZEOF_SIZE_T > H5_SIZEOF_UINT8_T
1923  #define ASSIGN_size_t_TO_uint8_t(dst, dsttype, src, srctype) \
1924  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1925 #else /* H5_SIZEOF_SIZE_T == H5_SIZEOF_UINT8_T */
1926  #define ASSIGN_size_t_TO_uint8_t(dst, dsttype, src, srctype) \
1927  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1928 #endif /* src: size_t dst: uint8_t */
1929 
1930 /* src: size_t, dst: uint16_t */
1931 #if H5_SIZEOF_SIZE_T < H5_SIZEOF_UINT16_T
1932  #define ASSIGN_size_t_TO_uint16_t(dst, dsttype, src, srctype) \
1933  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1934 #elif H5_SIZEOF_SIZE_T > H5_SIZEOF_UINT16_T
1935  #define ASSIGN_size_t_TO_uint16_t(dst, dsttype, src, srctype) \
1936  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1937 #else /* H5_SIZEOF_SIZE_T == H5_SIZEOF_UINT16_T */
1938  #define ASSIGN_size_t_TO_uint16_t(dst, dsttype, src, srctype) \
1939  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1940 #endif /* src: size_t dst: uint16_t */
1941 
1942 /* src: size_t, dst: uint32_t */
1943 #if H5_SIZEOF_SIZE_T < H5_SIZEOF_UINT32_T
1944  #define ASSIGN_size_t_TO_uint32_t(dst, dsttype, src, srctype) \
1945  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1946 #elif H5_SIZEOF_SIZE_T > H5_SIZEOF_UINT32_T
1947  #define ASSIGN_size_t_TO_uint32_t(dst, dsttype, src, srctype) \
1948  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1949 #else /* H5_SIZEOF_SIZE_T == H5_SIZEOF_UINT32_T */
1950  #define ASSIGN_size_t_TO_uint32_t(dst, dsttype, src, srctype) \
1951  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1952 #endif /* src: size_t dst: uint32_t */
1953 
1954 /* src: size_t, dst: uint64_t */
1955 #if H5_SIZEOF_SIZE_T < H5_SIZEOF_UINT64_T
1956  #define ASSIGN_size_t_TO_uint64_t(dst, dsttype, src, srctype) \
1957  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1958 #elif H5_SIZEOF_SIZE_T > H5_SIZEOF_UINT64_T
1959  #define ASSIGN_size_t_TO_uint64_t(dst, dsttype, src, srctype) \
1960  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1961 #else /* H5_SIZEOF_SIZE_T == H5_SIZEOF_UINT64_T */
1962  #define ASSIGN_size_t_TO_uint64_t(dst, dsttype, src, srctype) \
1963  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1964 #endif /* src: size_t dst: uint64_t */
1965 
1966 /* src: size_t, dst: ptrdiff_t */
1967 #if H5_SIZEOF_SIZE_T < H5_SIZEOF_PTRDIFF_T
1968  #define ASSIGN_size_t_TO_ptrdiff_t(dst, dsttype, src, srctype) \
1969  ASSIGN_TO_LARGER_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
1970 #elif H5_SIZEOF_SIZE_T > H5_SIZEOF_PTRDIFF_T
1971  #define ASSIGN_size_t_TO_ptrdiff_t(dst, dsttype, src, srctype) \
1972  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1973 #else /* H5_SIZEOF_SIZE_T == H5_SIZEOF_PTRDIFF_T */
1974  #define ASSIGN_size_t_TO_ptrdiff_t(dst, dsttype, src, srctype) \
1975  ASSIGN_TO_SAME_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
1976 #endif /* src: size_t dst: ptrdiff_t */
1977 
1978 /* src: size_t, dst: ssize_t */
1979 #if H5_SIZEOF_SIZE_T < H5_SIZEOF_SSIZE_T
1980  #define ASSIGN_size_t_TO_ssize_t(dst, dsttype, src, srctype) \
1981  ASSIGN_TO_LARGER_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
1982 #elif H5_SIZEOF_SIZE_T > H5_SIZEOF_SSIZE_T
1983  #define ASSIGN_size_t_TO_ssize_t(dst, dsttype, src, srctype) \
1984  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1985 #else /* H5_SIZEOF_SIZE_T == H5_SIZEOF_SSIZE_T */
1986  #define ASSIGN_size_t_TO_ssize_t(dst, dsttype, src, srctype) \
1987  ASSIGN_TO_SAME_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
1988 #endif /* src: size_t dst: ssize_t */
1989 
1990 /* src: size_t, dst: haddr_t */
1991 #if H5_SIZEOF_SIZE_T < H5_SIZEOF_HADDR_T
1992  #define ASSIGN_size_t_TO_haddr_t(dst, dsttype, src, srctype) \
1993  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1994 #elif H5_SIZEOF_SIZE_T > H5_SIZEOF_HADDR_T
1995  #define ASSIGN_size_t_TO_haddr_t(dst, dsttype, src, srctype) \
1996  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1997 #else /* H5_SIZEOF_SIZE_T == H5_SIZEOF_HADDR_T */
1998  #define ASSIGN_size_t_TO_haddr_t(dst, dsttype, src, srctype) \
1999  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
2000 #endif /* src: size_t dst: haddr_t */
2001 
2002 /* src: size_t, dst: hsize_t */
2003 #if H5_SIZEOF_SIZE_T < H5_SIZEOF_HSIZE_T
2004  #define ASSIGN_size_t_TO_hsize_t(dst, dsttype, src, srctype) \
2005  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
2006 #elif H5_SIZEOF_SIZE_T > H5_SIZEOF_HSIZE_T
2007  #define ASSIGN_size_t_TO_hsize_t(dst, dsttype, src, srctype) \
2008  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
2009 #else /* H5_SIZEOF_SIZE_T == H5_SIZEOF_HSIZE_T */
2010  #define ASSIGN_size_t_TO_hsize_t(dst, dsttype, src, srctype) \
2011  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
2012 #endif /* src: size_t dst: hsize_t */
2013 
2014 /* src: size_t, dst: hssize_t */
2015 #if H5_SIZEOF_SIZE_T < H5_SIZEOF_HSSIZE_T
2016  #define ASSIGN_size_t_TO_hssize_t(dst, dsttype, src, srctype) \
2017  ASSIGN_TO_LARGER_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
2018 #elif H5_SIZEOF_SIZE_T > H5_SIZEOF_HSSIZE_T
2019  #define ASSIGN_size_t_TO_hssize_t(dst, dsttype, src, srctype) \
2020  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
2021 #else /* H5_SIZEOF_SIZE_T == H5_SIZEOF_HSSIZE_T */
2022  #define ASSIGN_size_t_TO_hssize_t(dst, dsttype, src, srctype) \
2023  ASSIGN_TO_SAME_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
2024 #endif /* src: size_t dst: hssize_t */
2025 
2026 /* src: size_t, dst: h5_stat_size_t */
2027 #if H5_SIZEOF_SIZE_T < H5_SIZEOF_H5_STAT_SIZE_T
2028  #define ASSIGN_size_t_TO_h5_stat_size_t(dst, dsttype, src, srctype) \
2029  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
2030 #elif H5_SIZEOF_SIZE_T > H5_SIZEOF_H5_STAT_SIZE_T
2031  #define ASSIGN_size_t_TO_h5_stat_size_t(dst, dsttype, src, srctype) \
2032  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
2033 #else /* H5_SIZEOF_SIZE_T == H5_SIZEOF_H5_STAT_SIZE_T */
2034  #define ASSIGN_size_t_TO_h5_stat_size_t(dst, dsttype, src, srctype) \
2035  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
2036 #endif /* src: size_t dst: h5_stat_size_t */
2037 
2038 
2039 /* Assignment checks for ssize_t */
2040 
2041 /* src: ssize_t, dst: unsigned */
2042 #if H5_SIZEOF_SSIZE_T < H5_SIZEOF_UNSIGNED
2043  #define ASSIGN_ssize_t_TO_unsigned(dst, dsttype, src, srctype) \
2044  ASSIGN_TO_LARGER_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
2045 #elif H5_SIZEOF_SSIZE_T > H5_SIZEOF_UNSIGNED
2046  #define ASSIGN_ssize_t_TO_unsigned(dst, dsttype, src, srctype) \
2047  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
2048 #else /* H5_SIZEOF_SSIZE_T == H5_SIZEOF_UNSIGNED */
2049  #define ASSIGN_ssize_t_TO_unsigned(dst, dsttype, src, srctype) \
2050  ASSIGN_TO_SAME_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
2051 #endif /* src: ssize_t dst: unsigned */
2052 
2053 /* src: ssize_t, dst: int8_t */
2054 #if H5_SIZEOF_SSIZE_T < H5_SIZEOF_INT8_T
2055  #define ASSIGN_ssize_t_TO_int8_t(dst, dsttype, src, srctype) \
2056  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
2057 #elif H5_SIZEOF_SSIZE_T > H5_SIZEOF_INT8_T
2058  #define ASSIGN_ssize_t_TO_int8_t(dst, dsttype, src, srctype) \
2059  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
2060 #else /* H5_SIZEOF_SSIZE_T == H5_SIZEOF_INT8_T */
2061  #define ASSIGN_ssize_t_TO_int8_t(dst, dsttype, src, srctype) \
2062  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
2063 #endif /* src: ssize_t dst: int8_t */
2064 
2065 /* src: ssize_t, dst: int */
2066 #if H5_SIZEOF_SSIZE_T < H5_SIZEOF_INT
2067  #define ASSIGN_ssize_t_TO_int(dst, dsttype, src, srctype) \
2068  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
2069 #elif H5_SIZEOF_SSIZE_T > H5_SIZEOF_INT
2070  #define ASSIGN_ssize_t_TO_int(dst, dsttype, src, srctype) \
2071  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
2072 #else /* H5_SIZEOF_SSIZE_T == H5_SIZEOF_INT */
2073  #define ASSIGN_ssize_t_TO_int(dst, dsttype, src, srctype) \
2074  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
2075 #endif /* src: ssize_t dst: int */
2076 
2077 /* src: ssize_t, dst: long */
2078 #if H5_SIZEOF_SSIZE_T < H5_SIZEOF_LONG
2079  #define ASSIGN_ssize_t_TO_long(dst, dsttype, src, srctype) \
2080  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
2081 #elif H5_SIZEOF_SSIZE_T > H5_SIZEOF_LONG
2082  #define ASSIGN_ssize_t_TO_long(dst, dsttype, src, srctype) \
2083  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
2084 #else /* H5_SIZEOF_SSIZE_T == H5_SIZEOF_LONG */
2085  #define ASSIGN_ssize_t_TO_long(dst, dsttype, src, srctype) \
2086  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
2087 #endif /* src: ssize_t dst: long */
2088 
2089 /* src: ssize_t, dst: int64_t */
2090 #if H5_SIZEOF_SSIZE_T < H5_SIZEOF_INT64_T
2091  #define ASSIGN_ssize_t_TO_int64_t(dst, dsttype, src, srctype) \
2092  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
2093 #elif H5_SIZEOF_SSIZE_T > H5_SIZEOF_INT64_T
2094  #define ASSIGN_ssize_t_TO_int64_t(dst, dsttype, src, srctype) \
2095  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
2096 #else /* H5_SIZEOF_SSIZE_T == H5_SIZEOF_INT64_T */
2097  #define ASSIGN_ssize_t_TO_int64_t(dst, dsttype, src, srctype) \
2098  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
2099 #endif /* src: ssize_t dst: int64_t */
2100 
2101 /* src: ssize_t, dst: uint8_t */
2102 #if H5_SIZEOF_SSIZE_T < H5_SIZEOF_UINT8_T
2103  #define ASSIGN_ssize_t_TO_uint8_t(dst, dsttype, src, srctype) \
2104  ASSIGN_TO_LARGER_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
2105 #elif H5_SIZEOF_SSIZE_T > H5_SIZEOF_UINT8_T
2106  #define ASSIGN_ssize_t_TO_uint8_t(dst, dsttype, src, srctype) \
2107  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
2108 #else /* H5_SIZEOF_SSIZE_T == H5_SIZEOF_UINT8_T */
2109  #define ASSIGN_ssize_t_TO_uint8_t(dst, dsttype, src, srctype) \
2110  ASSIGN_TO_SAME_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
2111 #endif /* src: ssize_t dst: uint8_t */
2112 
2113 /* src: ssize_t, dst: uint16_t */
2114 #if H5_SIZEOF_SSIZE_T < H5_SIZEOF_UINT16_T
2115  #define ASSIGN_ssize_t_TO_uint16_t(dst, dsttype, src, srctype) \
2116  ASSIGN_TO_LARGER_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
2117 #elif H5_SIZEOF_SSIZE_T > H5_SIZEOF_UINT16_T
2118  #define ASSIGN_ssize_t_TO_uint16_t(dst, dsttype, src, srctype) \
2119  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
2120 #else /* H5_SIZEOF_SSIZE_T == H5_SIZEOF_UINT16_T */
2121  #define ASSIGN_ssize_t_TO_uint16_t(dst, dsttype, src, srctype) \
2122  ASSIGN_TO_SAME_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
2123 #endif /* src: ssize_t dst: uint16_t */
2124 
2125 /* src: ssize_t, dst: uint32_t */
2126 #if H5_SIZEOF_SSIZE_T < H5_SIZEOF_UINT32_T
2127  #define ASSIGN_ssize_t_TO_uint32_t(dst, dsttype, src, srctype) \
2128  ASSIGN_TO_LARGER_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
2129 #elif H5_SIZEOF_SSIZE_T > H5_SIZEOF_UINT32_T
2130  #define ASSIGN_ssize_t_TO_uint32_t(dst, dsttype, src, srctype) \
2131  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
2132 #else /* H5_SIZEOF_SSIZE_T == H5_SIZEOF_UINT32_T */
2133  #define ASSIGN_ssize_t_TO_uint32_t(dst, dsttype, src, srctype) \
2134  ASSIGN_TO_SAME_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
2135 #endif /* src: ssize_t dst: uint32_t */
2136 
2137 /* src: ssize_t, dst: uint64_t */
2138 #if H5_SIZEOF_SSIZE_T < H5_SIZEOF_UINT64_T
2139  #define ASSIGN_ssize_t_TO_uint64_t(dst, dsttype, src, srctype) \
2140  ASSIGN_TO_LARGER_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
2141 #elif H5_SIZEOF_SSIZE_T > H5_SIZEOF_UINT64_T
2142  #define ASSIGN_ssize_t_TO_uint64_t(dst, dsttype, src, srctype) \
2143  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
2144 #else /* H5_SIZEOF_SSIZE_T == H5_SIZEOF_UINT64_T */
2145  #define ASSIGN_ssize_t_TO_uint64_t(dst, dsttype, src, srctype) \
2146  ASSIGN_TO_SAME_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
2147 #endif /* src: ssize_t dst: uint64_t */
2148 
2149 /* src: ssize_t, dst: ptrdiff_t */
2150 #if H5_SIZEOF_SSIZE_T < H5_SIZEOF_PTRDIFF_T
2151  #define ASSIGN_ssize_t_TO_ptrdiff_t(dst, dsttype, src, srctype) \
2152  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
2153 #elif H5_SIZEOF_SSIZE_T > H5_SIZEOF_PTRDIFF_T
2154  #define ASSIGN_ssize_t_TO_ptrdiff_t(dst, dsttype, src, srctype) \
2155  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
2156 #else /* H5_SIZEOF_SSIZE_T == H5_SIZEOF_PTRDIFF_T */
2157  #define ASSIGN_ssize_t_TO_ptrdiff_t(dst, dsttype, src, srctype) \
2158  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
2159 #endif /* src: ssize_t dst: ptrdiff_t */
2160 
2161 /* src: ssize_t, dst: size_t */
2162 #if H5_SIZEOF_SSIZE_T < H5_SIZEOF_SIZE_T
2163  #define ASSIGN_ssize_t_TO_size_t(dst, dsttype, src, srctype) \
2164  ASSIGN_TO_LARGER_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
2165 #elif H5_SIZEOF_SSIZE_T > H5_SIZEOF_SIZE_T
2166  #define ASSIGN_ssize_t_TO_size_t(dst, dsttype, src, srctype) \
2167  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
2168 #else /* H5_SIZEOF_SSIZE_T == H5_SIZEOF_SIZE_T */
2169  #define ASSIGN_ssize_t_TO_size_t(dst, dsttype, src, srctype) \
2170  ASSIGN_TO_SAME_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
2171 #endif /* src: ssize_t dst: size_t */
2172 
2173 /* src: ssize_t, dst: haddr_t */
2174 #if H5_SIZEOF_SSIZE_T < H5_SIZEOF_HADDR_T
2175  #define ASSIGN_ssize_t_TO_haddr_t(dst, dsttype, src, srctype) \
2176  ASSIGN_TO_LARGER_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
2177 #elif H5_SIZEOF_SSIZE_T > H5_SIZEOF_HADDR_T
2178  #define ASSIGN_ssize_t_TO_haddr_t(dst, dsttype, src, srctype) \
2179  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
2180 #else /* H5_SIZEOF_SSIZE_T == H5_SIZEOF_HADDR_T */
2181  #define ASSIGN_ssize_t_TO_haddr_t(dst, dsttype, src, srctype) \
2182  ASSIGN_TO_SAME_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
2183 #endif /* src: ssize_t dst: haddr_t */
2184 
2185 /* src: ssize_t, dst: hsize_t */
2186 #if H5_SIZEOF_SSIZE_T < H5_SIZEOF_HSIZE_T
2187  #define ASSIGN_ssize_t_TO_hsize_t(dst, dsttype, src, srctype) \
2188  ASSIGN_TO_LARGER_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
2189 #elif H5_SIZEOF_SSIZE_T > H5_SIZEOF_HSIZE_T
2190  #define ASSIGN_ssize_t_TO_hsize_t(dst, dsttype, src, srctype) \
2191  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
2192 #else /* H5_SIZEOF_SSIZE_T == H5_SIZEOF_HSIZE_T */
2193  #define ASSIGN_ssize_t_TO_hsize_t(dst, dsttype, src, srctype) \
2194  ASSIGN_TO_SAME_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
2195 #endif /* src: ssize_t dst: hsize_t */
2196 
2197 /* src: ssize_t, dst: hssize_t */
2198 #if H5_SIZEOF_SSIZE_T < H5_SIZEOF_HSSIZE_T
2199  #define ASSIGN_ssize_t_TO_hssize_t(dst, dsttype, src, srctype) \
2200  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
2201 #elif H5_SIZEOF_SSIZE_T > H5_SIZEOF_HSSIZE_T
2202  #define ASSIGN_ssize_t_TO_hssize_t(dst, dsttype, src, srctype) \
2203  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
2204 #else /* H5_SIZEOF_SSIZE_T == H5_SIZEOF_HSSIZE_T */
2205  #define ASSIGN_ssize_t_TO_hssize_t(dst, dsttype, src, srctype) \
2206  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
2207 #endif /* src: ssize_t dst: hssize_t */
2208 
2209 /* src: ssize_t, dst: h5_stat_size_t */
2210 #if H5_SIZEOF_SSIZE_T < H5_SIZEOF_H5_STAT_SIZE_T
2211  #define ASSIGN_ssize_t_TO_h5_stat_size_t(dst, dsttype, src, srctype) \
2212  ASSIGN_TO_LARGER_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
2213 #elif H5_SIZEOF_SSIZE_T > H5_SIZEOF_H5_STAT_SIZE_T
2214  #define ASSIGN_ssize_t_TO_h5_stat_size_t(dst, dsttype, src, srctype) \
2215  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
2216 #else /* H5_SIZEOF_SSIZE_T == H5_SIZEOF_H5_STAT_SIZE_T */
2217  #define ASSIGN_ssize_t_TO_h5_stat_size_t(dst, dsttype, src, srctype) \
2218  ASSIGN_TO_SAME_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
2219 #endif /* src: ssize_t dst: h5_stat_size_t */
2220 
2221 
2222 /* Assignment checks for haddr_t */
2223 
2224 /* src: haddr_t, dst: unsigned */
2225 #if H5_SIZEOF_HADDR_T < H5_SIZEOF_UNSIGNED
2226  #define ASSIGN_haddr_t_TO_unsigned(dst, dsttype, src, srctype) \
2227  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
2228 #elif H5_SIZEOF_HADDR_T > H5_SIZEOF_UNSIGNED
2229  #define ASSIGN_haddr_t_TO_unsigned(dst, dsttype, src, srctype) \
2230  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
2231 #else /* H5_SIZEOF_HADDR_T == H5_SIZEOF_UNSIGNED */
2232  #define ASSIGN_haddr_t_TO_unsigned(dst, dsttype, src, srctype) \
2233  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
2234 #endif /* src: haddr_t dst: unsigned */
2235 
2236 /* src: haddr_t, dst: int8_t */
2237 #if H5_SIZEOF_HADDR_T < H5_SIZEOF_INT8_T
2238  #define ASSIGN_haddr_t_TO_int8_t(dst, dsttype, src, srctype) \
2239  ASSIGN_TO_LARGER_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
2240 #elif H5_SIZEOF_HADDR_T > H5_SIZEOF_INT8_T
2241  #define ASSIGN_haddr_t_TO_int8_t(dst, dsttype, src, srctype) \
2242  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
2243 #else /* H5_SIZEOF_HADDR_T == H5_SIZEOF_INT8_T */
2244  #define ASSIGN_haddr_t_TO_int8_t(dst, dsttype, src, srctype) \
2245  ASSIGN_TO_SAME_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
2246 #endif /* src: haddr_t dst: int8_t */
2247 
2248 /* src: haddr_t, dst: int */
2249 #if H5_SIZEOF_HADDR_T < H5_SIZEOF_INT
2250  #define ASSIGN_haddr_t_TO_int(dst, dsttype, src, srctype) \
2251  ASSIGN_TO_LARGER_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
2252 #elif H5_SIZEOF_HADDR_T > H5_SIZEOF_INT
2253  #define ASSIGN_haddr_t_TO_int(dst, dsttype, src, srctype) \
2254  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
2255 #else /* H5_SIZEOF_HADDR_T == H5_SIZEOF_INT */
2256  #define ASSIGN_haddr_t_TO_int(dst, dsttype, src, srctype) \
2257  ASSIGN_TO_SAME_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
2258 #endif /* src: haddr_t dst: int */
2259 
2260 /* src: haddr_t, dst: long */
2261 #if H5_SIZEOF_HADDR_T < H5_SIZEOF_LONG
2262  #define ASSIGN_haddr_t_TO_long(dst, dsttype, src, srctype) \
2263  ASSIGN_TO_LARGER_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
2264 #elif H5_SIZEOF_HADDR_T > H5_SIZEOF_LONG
2265  #define ASSIGN_haddr_t_TO_long(dst, dsttype, src, srctype) \
2266  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
2267 #else /* H5_SIZEOF_HADDR_T == H5_SIZEOF_LONG */
2268  #define ASSIGN_haddr_t_TO_long(dst, dsttype, src, srctype) \
2269  ASSIGN_TO_SAME_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
2270 #endif /* src: haddr_t dst: long */
2271 
2272 /* src: haddr_t, dst: int64_t */
2273 #if H5_SIZEOF_HADDR_T < H5_SIZEOF_INT64_T
2274  #define ASSIGN_haddr_t_TO_int64_t(dst, dsttype, src, srctype) \
2275  ASSIGN_TO_LARGER_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
2276 #elif H5_SIZEOF_HADDR_T > H5_SIZEOF_INT64_T
2277  #define ASSIGN_haddr_t_TO_int64_t(dst, dsttype, src, srctype) \
2278  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
2279 #else /* H5_SIZEOF_HADDR_T == H5_SIZEOF_INT64_T */
2280  #define ASSIGN_haddr_t_TO_int64_t(dst, dsttype, src, srctype) \
2281  ASSIGN_TO_SAME_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
2282 #endif /* src: haddr_t dst: int64_t */
2283 
2284 /* src: haddr_t, dst: uint8_t */
2285 #if H5_SIZEOF_HADDR_T < H5_SIZEOF_UINT8_T
2286  #define ASSIGN_haddr_t_TO_uint8_t(dst, dsttype, src, srctype) \
2287  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
2288 #elif H5_SIZEOF_HADDR_T > H5_SIZEOF_UINT8_T
2289  #define ASSIGN_haddr_t_TO_uint8_t(dst, dsttype, src, srctype) \
2290  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
2291 #else /* H5_SIZEOF_HADDR_T == H5_SIZEOF_UINT8_T */
2292  #define ASSIGN_haddr_t_TO_uint8_t(dst, dsttype, src, srctype) \
2293  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
2294 #endif /* src: haddr_t dst: uint8_t */
2295 
2296 /* src: haddr_t, dst: uint16_t */
2297 #if H5_SIZEOF_HADDR_T < H5_SIZEOF_UINT16_T
2298  #define ASSIGN_haddr_t_TO_uint16_t(dst, dsttype, src, srctype) \
2299  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
2300 #elif H5_SIZEOF_HADDR_T > H5_SIZEOF_UINT16_T
2301  #define ASSIGN_haddr_t_TO_uint16_t(dst, dsttype, src, srctype) \
2302  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
2303 #else /* H5_SIZEOF_HADDR_T == H5_SIZEOF_UINT16_T */
2304  #define ASSIGN_haddr_t_TO_uint16_t(dst, dsttype, src, srctype) \
2305  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
2306 #endif /* src: haddr_t dst: uint16_t */
2307 
2308 /* src: haddr_t, dst: uint32_t */
2309 #if H5_SIZEOF_HADDR_T < H5_SIZEOF_UINT32_T
2310  #define ASSIGN_haddr_t_TO_uint32_t(dst, dsttype, src, srctype) \
2311  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
2312 #elif H5_SIZEOF_HADDR_T > H5_SIZEOF_UINT32_T
2313  #define ASSIGN_haddr_t_TO_uint32_t(dst, dsttype, src, srctype) \
2314  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
2315 #else /* H5_SIZEOF_HADDR_T == H5_SIZEOF_UINT32_T */
2316  #define ASSIGN_haddr_t_TO_uint32_t(dst, dsttype, src, srctype) \
2317  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
2318 #endif /* src: haddr_t dst: uint32_t */
2319 
2320 /* src: haddr_t, dst: uint64_t */
2321 #if H5_SIZEOF_HADDR_T < H5_SIZEOF_UINT64_T
2322  #define ASSIGN_haddr_t_TO_uint64_t(dst, dsttype, src, srctype) \
2323  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
2324 #elif H5_SIZEOF_HADDR_T > H5_SIZEOF_UINT64_T
2325  #define ASSIGN_haddr_t_TO_uint64_t(dst, dsttype, src, srctype) \
2326  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
2327 #else /* H5_SIZEOF_HADDR_T == H5_SIZEOF_UINT64_T */
2328  #define ASSIGN_haddr_t_TO_uint64_t(dst, dsttype, src, srctype) \
2329  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
2330 #endif /* src: haddr_t dst: uint64_t */
2331 
2332 /* src: haddr_t, dst: ptrdiff_t */
2333 #if H5_SIZEOF_HADDR_T < H5_SIZEOF_PTRDIFF_T
2334  #define ASSIGN_haddr_t_TO_ptrdiff_t(dst, dsttype, src, srctype) \
2335  ASSIGN_TO_LARGER_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
2336 #elif H5_SIZEOF_HADDR_T > H5_SIZEOF_PTRDIFF_T
2337  #define ASSIGN_haddr_t_TO_ptrdiff_t(dst, dsttype, src, srctype) \
2338  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
2339 #else /* H5_SIZEOF_HADDR_T == H5_SIZEOF_PTRDIFF_T */
2340  #define ASSIGN_haddr_t_TO_ptrdiff_t(dst, dsttype, src, srctype) \
2341  ASSIGN_TO_SAME_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
2342 #endif /* src: haddr_t dst: ptrdiff_t */
2343 
2344 /* src: haddr_t, dst: size_t */
2345 #if H5_SIZEOF_HADDR_T < H5_SIZEOF_SIZE_T
2346  #define ASSIGN_haddr_t_TO_size_t(dst, dsttype, src, srctype) \
2347  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
2348 #elif H5_SIZEOF_HADDR_T > H5_SIZEOF_SIZE_T
2349  #define ASSIGN_haddr_t_TO_size_t(dst, dsttype, src, srctype) \
2350  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
2351 #else /* H5_SIZEOF_HADDR_T == H5_SIZEOF_SIZE_T */
2352  #define ASSIGN_haddr_t_TO_size_t(dst, dsttype, src, srctype) \
2353  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
2354 #endif /* src: haddr_t dst: size_t */
2355 
2356 /* src: haddr_t, dst: ssize_t */
2357 #if H5_SIZEOF_HADDR_T < H5_SIZEOF_SSIZE_T
2358  #define ASSIGN_haddr_t_TO_ssize_t(dst, dsttype, src, srctype) \
2359  ASSIGN_TO_LARGER_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
2360 #elif H5_SIZEOF_HADDR_T > H5_SIZEOF_SSIZE_T
2361  #define ASSIGN_haddr_t_TO_ssize_t(dst, dsttype, src, srctype) \
2362  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
2363 #else /* H5_SIZEOF_HADDR_T == H5_SIZEOF_SSIZE_T */
2364  #define ASSIGN_haddr_t_TO_ssize_t(dst, dsttype, src, srctype) \
2365  ASSIGN_TO_SAME_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
2366 #endif /* src: haddr_t dst: ssize_t */
2367 
2368 /* src: haddr_t, dst: hsize_t */
2369 #if H5_SIZEOF_HADDR_T < H5_SIZEOF_HSIZE_T
2370  #define ASSIGN_haddr_t_TO_hsize_t(dst, dsttype, src, srctype) \
2371  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
2372 #elif H5_SIZEOF_HADDR_T > H5_SIZEOF_HSIZE_T
2373  #define ASSIGN_haddr_t_TO_hsize_t(dst, dsttype, src, srctype) \
2374  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
2375 #else /* H5_SIZEOF_HADDR_T == H5_SIZEOF_HSIZE_T */
2376  #define ASSIGN_haddr_t_TO_hsize_t(dst, dsttype, src, srctype) \
2377  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
2378 #endif /* src: haddr_t dst: hsize_t */
2379 
2380 /* src: haddr_t, dst: hssize_t */
2381 #if H5_SIZEOF_HADDR_T < H5_SIZEOF_HSSIZE_T
2382  #define ASSIGN_haddr_t_TO_hssize_t(dst, dsttype, src, srctype) \
2383  ASSIGN_TO_LARGER_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
2384 #elif H5_SIZEOF_HADDR_T > H5_SIZEOF_HSSIZE_T
2385  #define ASSIGN_haddr_t_TO_hssize_t(dst, dsttype, src, srctype) \
2386  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
2387 #else /* H5_SIZEOF_HADDR_T == H5_SIZEOF_HSSIZE_T */
2388  #define ASSIGN_haddr_t_TO_hssize_t(dst, dsttype, src, srctype) \
2389  ASSIGN_TO_SAME_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
2390 #endif /* src: haddr_t dst: hssize_t */
2391 
2392 /* src: haddr_t, dst: h5_stat_size_t */
2393 #if H5_SIZEOF_HADDR_T < H5_SIZEOF_H5_STAT_SIZE_T
2394  #define ASSIGN_haddr_t_TO_h5_stat_size_t(dst, dsttype, src, srctype) \
2395  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
2396 #elif H5_SIZEOF_HADDR_T > H5_SIZEOF_H5_STAT_SIZE_T
2397  #define ASSIGN_haddr_t_TO_h5_stat_size_t(dst, dsttype, src, srctype) \
2398  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
2399 #else /* H5_SIZEOF_HADDR_T == H5_SIZEOF_H5_STAT_SIZE_T */
2400  #define ASSIGN_haddr_t_TO_h5_stat_size_t(dst, dsttype, src, srctype) \
2401  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
2402 #endif /* src: haddr_t dst: h5_stat_size_t */
2403 
2404 
2405 /* Assignment checks for hsize_t */
2406 
2407 /* src: hsize_t, dst: unsigned */
2408 #if H5_SIZEOF_HSIZE_T < H5_SIZEOF_UNSIGNED
2409  #define ASSIGN_hsize_t_TO_unsigned(dst, dsttype, src, srctype) \
2410  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
2411 #elif H5_SIZEOF_HSIZE_T > H5_SIZEOF_UNSIGNED
2412  #define ASSIGN_hsize_t_TO_unsigned(dst, dsttype, src, srctype) \
2413  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
2414 #else /* H5_SIZEOF_HSIZE_T == H5_SIZEOF_UNSIGNED */
2415  #define ASSIGN_hsize_t_TO_unsigned(dst, dsttype, src, srctype) \
2416  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
2417 #endif /* src: hsize_t dst: unsigned */
2418 
2419 /* src: hsize_t, dst: int8_t */
2420 #if H5_SIZEOF_HSIZE_T < H5_SIZEOF_INT8_T
2421  #define ASSIGN_hsize_t_TO_int8_t(dst, dsttype, src, srctype) \
2422  ASSIGN_TO_LARGER_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
2423 #elif H5_SIZEOF_HSIZE_T > H5_SIZEOF_INT8_T
2424  #define ASSIGN_hsize_t_TO_int8_t(dst, dsttype, src, srctype) \
2425  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
2426 #else /* H5_SIZEOF_HSIZE_T == H5_SIZEOF_INT8_T */
2427  #define ASSIGN_hsize_t_TO_int8_t(dst, dsttype, src, srctype) \
2428  ASSIGN_TO_SAME_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
2429 #endif /* src: hsize_t dst: int8_t */
2430 
2431 /* src: hsize_t, dst: int */
2432 #if H5_SIZEOF_HSIZE_T < H5_SIZEOF_INT
2433  #define ASSIGN_hsize_t_TO_int(dst, dsttype, src, srctype) \
2434  ASSIGN_TO_LARGER_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
2435 #elif H5_SIZEOF_HSIZE_T > H5_SIZEOF_INT
2436  #define ASSIGN_hsize_t_TO_int(dst, dsttype, src, srctype) \
2437  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
2438 #else /* H5_SIZEOF_HSIZE_T == H5_SIZEOF_INT */
2439  #define ASSIGN_hsize_t_TO_int(dst, dsttype, src, srctype) \
2440  ASSIGN_TO_SAME_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
2441 #endif /* src: hsize_t dst: int */
2442 
2443 /* src: hsize_t, dst: long */
2444 #if H5_SIZEOF_HSIZE_T < H5_SIZEOF_LONG
2445  #define ASSIGN_hsize_t_TO_long(dst, dsttype, src, srctype) \
2446  ASSIGN_TO_LARGER_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
2447 #elif H5_SIZEOF_HSIZE_T > H5_SIZEOF_LONG
2448  #define ASSIGN_hsize_t_TO_long(dst, dsttype, src, srctype) \
2449  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
2450 #else /* H5_SIZEOF_HSIZE_T == H5_SIZEOF_LONG */
2451  #define ASSIGN_hsize_t_TO_long(dst, dsttype, src, srctype) \
2452  ASSIGN_TO_SAME_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
2453 #endif /* src: hsize_t dst: long */
2454 
2455 /* src: hsize_t, dst: int64_t */
2456 #if H5_SIZEOF_HSIZE_T < H5_SIZEOF_INT64_T
2457  #define ASSIGN_hsize_t_TO_int64_t(dst, dsttype, src, srctype) \
2458  ASSIGN_TO_LARGER_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
2459 #elif H5_SIZEOF_HSIZE_T > H5_SIZEOF_INT64_T
2460  #define ASSIGN_hsize_t_TO_int64_t(dst, dsttype, src, srctype) \
2461  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
2462 #else /* H5_SIZEOF_HSIZE_T == H5_SIZEOF_INT64_T */
2463  #define ASSIGN_hsize_t_TO_int64_t(dst, dsttype, src, srctype) \
2464  ASSIGN_TO_SAME_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
2465 #endif /* src: hsize_t dst: int64_t */
2466 
2467 /* src: hsize_t, dst: uint8_t */
2468 #if H5_SIZEOF_HSIZE_T < H5_SIZEOF_UINT8_T
2469  #define ASSIGN_hsize_t_TO_uint8_t(dst, dsttype, src, srctype) \
2470  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
2471 #elif H5_SIZEOF_HSIZE_T > H5_SIZEOF_UINT8_T
2472  #define ASSIGN_hsize_t_TO_uint8_t(dst, dsttype, src, srctype) \
2473  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
2474 #else /* H5_SIZEOF_HSIZE_T == H5_SIZEOF_UINT8_T */
2475  #define ASSIGN_hsize_t_TO_uint8_t(dst, dsttype, src, srctype) \
2476  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
2477 #endif /* src: hsize_t dst: uint8_t */
2478 
2479 /* src: hsize_t, dst: uint16_t */
2480 #if H5_SIZEOF_HSIZE_T < H5_SIZEOF_UINT16_T
2481  #define ASSIGN_hsize_t_TO_uint16_t(dst, dsttype, src, srctype) \
2482  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
2483 #elif H5_SIZEOF_HSIZE_T > H5_SIZEOF_UINT16_T
2484  #define ASSIGN_hsize_t_TO_uint16_t(dst, dsttype, src, srctype) \
2485  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
2486 #else /* H5_SIZEOF_HSIZE_T == H5_SIZEOF_UINT16_T */
2487  #define ASSIGN_hsize_t_TO_uint16_t(dst, dsttype, src, srctype) \
2488  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
2489 #endif /* src: hsize_t dst: uint16_t */
2490 
2491 /* src: hsize_t, dst: uint32_t */
2492 #if H5_SIZEOF_HSIZE_T < H5_SIZEOF_UINT32_T
2493  #define ASSIGN_hsize_t_TO_uint32_t(dst, dsttype, src, srctype) \
2494  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
2495 #elif H5_SIZEOF_HSIZE_T > H5_SIZEOF_UINT32_T
2496  #define ASSIGN_hsize_t_TO_uint32_t(dst, dsttype, src, srctype) \
2497  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
2498 #else /* H5_SIZEOF_HSIZE_T == H5_SIZEOF_UINT32_T */
2499  #define ASSIGN_hsize_t_TO_uint32_t(dst, dsttype, src, srctype) \
2500  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
2501 #endif /* src: hsize_t dst: uint32_t */
2502 
2503 /* src: hsize_t, dst: uint64_t */
2504 #if H5_SIZEOF_HSIZE_T < H5_SIZEOF_UINT64_T
2505  #define ASSIGN_hsize_t_TO_uint64_t(dst, dsttype, src, srctype) \
2506  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
2507 #elif H5_SIZEOF_HSIZE_T > H5_SIZEOF_UINT64_T
2508  #define ASSIGN_hsize_t_TO_uint64_t(dst, dsttype, src, srctype) \
2509  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
2510 #else /* H5_SIZEOF_HSIZE_T == H5_SIZEOF_UINT64_T */
2511  #define ASSIGN_hsize_t_TO_uint64_t(dst, dsttype, src, srctype) \
2512  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
2513 #endif /* src: hsize_t dst: uint64_t */
2514 
2515 /* src: hsize_t, dst: ptrdiff_t */
2516 #if H5_SIZEOF_HSIZE_T < H5_SIZEOF_PTRDIFF_T
2517  #define ASSIGN_hsize_t_TO_ptrdiff_t(dst, dsttype, src, srctype) \
2518  ASSIGN_TO_LARGER_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
2519 #elif H5_SIZEOF_HSIZE_T > H5_SIZEOF_PTRDIFF_T
2520  #define ASSIGN_hsize_t_TO_ptrdiff_t(dst, dsttype, src, srctype) \
2521  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
2522 #else /* H5_SIZEOF_HSIZE_T == H5_SIZEOF_PTRDIFF_T */
2523  #define ASSIGN_hsize_t_TO_ptrdiff_t(dst, dsttype, src, srctype) \
2524  ASSIGN_TO_SAME_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
2525 #endif /* src: hsize_t dst: ptrdiff_t */
2526 
2527 /* src: hsize_t, dst: size_t */
2528 #if H5_SIZEOF_HSIZE_T < H5_SIZEOF_SIZE_T
2529  #define ASSIGN_hsize_t_TO_size_t(dst, dsttype, src, srctype) \
2530  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
2531 #elif H5_SIZEOF_HSIZE_T > H5_SIZEOF_SIZE_T
2532  #define ASSIGN_hsize_t_TO_size_t(dst, dsttype, src, srctype) \
2533  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
2534 #else /* H5_SIZEOF_HSIZE_T == H5_SIZEOF_SIZE_T */
2535  #define ASSIGN_hsize_t_TO_size_t(dst, dsttype, src, srctype) \
2536  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
2537 #endif /* src: hsize_t dst: size_t */
2538 
2539 /* src: hsize_t, dst: ssize_t */
2540 #if H5_SIZEOF_HSIZE_T < H5_SIZEOF_SSIZE_T
2541  #define ASSIGN_hsize_t_TO_ssize_t(dst, dsttype, src, srctype) \
2542  ASSIGN_TO_LARGER_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
2543 #elif H5_SIZEOF_HSIZE_T > H5_SIZEOF_SSIZE_T
2544  #define ASSIGN_hsize_t_TO_ssize_t(dst, dsttype, src, srctype) \
2545  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
2546 #else /* H5_SIZEOF_HSIZE_T == H5_SIZEOF_SSIZE_T */
2547  #define ASSIGN_hsize_t_TO_ssize_t(dst, dsttype, src, srctype) \
2548  ASSIGN_TO_SAME_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
2549 #endif /* src: hsize_t dst: ssize_t */
2550 
2551 /* src: hsize_t, dst: haddr_t */
2552 #if H5_SIZEOF_HSIZE_T < H5_SIZEOF_HADDR_T
2553  #define ASSIGN_hsize_t_TO_haddr_t(dst, dsttype, src, srctype) \
2554  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
2555 #elif H5_SIZEOF_HSIZE_T > H5_SIZEOF_HADDR_T
2556  #define ASSIGN_hsize_t_TO_haddr_t(dst, dsttype, src, srctype) \
2557  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
2558 #else /* H5_SIZEOF_HSIZE_T == H5_SIZEOF_HADDR_T */
2559  #define ASSIGN_hsize_t_TO_haddr_t(dst, dsttype, src, srctype) \
2560  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
2561 #endif /* src: hsize_t dst: haddr_t */
2562 
2563 /* src: hsize_t, dst: hssize_t */
2564 #if H5_SIZEOF_HSIZE_T < H5_SIZEOF_HSSIZE_T
2565  #define ASSIGN_hsize_t_TO_hssize_t(dst, dsttype, src, srctype) \
2566  ASSIGN_TO_LARGER_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
2567 #elif H5_SIZEOF_HSIZE_T > H5_SIZEOF_HSSIZE_T
2568  #define ASSIGN_hsize_t_TO_hssize_t(dst, dsttype, src, srctype) \
2569  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
2570 #else /* H5_SIZEOF_HSIZE_T == H5_SIZEOF_HSSIZE_T */
2571  #define ASSIGN_hsize_t_TO_hssize_t(dst, dsttype, src, srctype) \
2572  ASSIGN_TO_SAME_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
2573 #endif /* src: hsize_t dst: hssize_t */
2574 
2575 /* src: hsize_t, dst: h5_stat_size_t */
2576 #if H5_SIZEOF_HSIZE_T < H5_SIZEOF_H5_STAT_SIZE_T
2577  #define ASSIGN_hsize_t_TO_h5_stat_size_t(dst, dsttype, src, srctype) \
2578  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
2579 #elif H5_SIZEOF_HSIZE_T > H5_SIZEOF_H5_STAT_SIZE_T
2580  #define ASSIGN_hsize_t_TO_h5_stat_size_t(dst, dsttype, src, srctype) \
2581  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
2582 #else /* H5_SIZEOF_HSIZE_T == H5_SIZEOF_H5_STAT_SIZE_T */
2583  #define ASSIGN_hsize_t_TO_h5_stat_size_t(dst, dsttype, src, srctype) \
2584  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
2585 #endif /* src: hsize_t dst: h5_stat_size_t */
2586 
2587 
2588 /* Assignment checks for hssize_t */
2589 
2590 /* src: hssize_t, dst: unsigned */
2591 #if H5_SIZEOF_HSSIZE_T < H5_SIZEOF_UNSIGNED
2592  #define ASSIGN_hssize_t_TO_unsigned(dst, dsttype, src, srctype) \
2593  ASSIGN_TO_LARGER_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
2594 #elif H5_SIZEOF_HSSIZE_T > H5_SIZEOF_UNSIGNED
2595  #define ASSIGN_hssize_t_TO_unsigned(dst, dsttype, src, srctype) \
2596  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
2597 #else /* H5_SIZEOF_HSSIZE_T == H5_SIZEOF_UNSIGNED */
2598  #define ASSIGN_hssize_t_TO_unsigned(dst, dsttype, src, srctype) \
2599  ASSIGN_TO_SAME_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
2600 #endif /* src: hssize_t dst: unsigned */
2601 
2602 /* src: hssize_t, dst: int8_t */
2603 #if H5_SIZEOF_HSSIZE_T < H5_SIZEOF_INT8_T
2604  #define ASSIGN_hssize_t_TO_int8_t(dst, dsttype, src, srctype) \
2605  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
2606 #elif H5_SIZEOF_HSSIZE_T > H5_SIZEOF_INT8_T
2607  #define ASSIGN_hssize_t_TO_int8_t(dst, dsttype, src, srctype) \
2608  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
2609 #else /* H5_SIZEOF_HSSIZE_T == H5_SIZEOF_INT8_T */
2610  #define ASSIGN_hssize_t_TO_int8_t(dst, dsttype, src, srctype) \
2611  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
2612 #endif /* src: hssize_t dst: int8_t */
2613 
2614 /* src: hssize_t, dst: int */
2615 #if H5_SIZEOF_HSSIZE_T < H5_SIZEOF_INT
2616  #define ASSIGN_hssize_t_TO_int(dst, dsttype, src, srctype) \
2617  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
2618 #elif H5_SIZEOF_HSSIZE_T > H5_SIZEOF_INT
2619  #define ASSIGN_hssize_t_TO_int(dst, dsttype, src, srctype) \
2620  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
2621 #else /* H5_SIZEOF_HSSIZE_T == H5_SIZEOF_INT */
2622  #define ASSIGN_hssize_t_TO_int(dst, dsttype, src, srctype) \
2623  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
2624 #endif /* src: hssize_t dst: int */
2625 
2626 /* src: hssize_t, dst: long */
2627 #if H5_SIZEOF_HSSIZE_T < H5_SIZEOF_LONG
2628  #define ASSIGN_hssize_t_TO_long(dst, dsttype, src, srctype) \
2629  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
2630 #elif H5_SIZEOF_HSSIZE_T > H5_SIZEOF_LONG
2631  #define ASSIGN_hssize_t_TO_long(dst, dsttype, src, srctype) \
2632  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
2633 #else /* H5_SIZEOF_HSSIZE_T == H5_SIZEOF_LONG */
2634  #define ASSIGN_hssize_t_TO_long(dst, dsttype, src, srctype) \
2635  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
2636 #endif /* src: hssize_t dst: long */
2637 
2638 /* src: hssize_t, dst: int64_t */
2639 #if H5_SIZEOF_HSSIZE_T < H5_SIZEOF_INT64_T
2640  #define ASSIGN_hssize_t_TO_int64_t(dst, dsttype, src, srctype) \
2641  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
2642 #elif H5_SIZEOF_HSSIZE_T > H5_SIZEOF_INT64_T
2643  #define ASSIGN_hssize_t_TO_int64_t(dst, dsttype, src, srctype) \
2644  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
2645 #else /* H5_SIZEOF_HSSIZE_T == H5_SIZEOF_INT64_T */
2646  #define ASSIGN_hssize_t_TO_int64_t(dst, dsttype, src, srctype) \
2647  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
2648 #endif /* src: hssize_t dst: int64_t */
2649 
2650 /* src: hssize_t, dst: uint8_t */
2651 #if H5_SIZEOF_HSSIZE_T < H5_SIZEOF_UINT8_T
2652  #define ASSIGN_hssize_t_TO_uint8_t(dst, dsttype, src, srctype) \
2653  ASSIGN_TO_LARGER_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
2654 #elif H5_SIZEOF_HSSIZE_T > H5_SIZEOF_UINT8_T
2655  #define ASSIGN_hssize_t_TO_uint8_t(dst, dsttype, src, srctype) \
2656  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
2657 #else /* H5_SIZEOF_HSSIZE_T == H5_SIZEOF_UINT8_T */
2658  #define ASSIGN_hssize_t_TO_uint8_t(dst, dsttype, src, srctype) \
2659  ASSIGN_TO_SAME_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
2660 #endif /* src: hssize_t dst: uint8_t */
2661 
2662 /* src: hssize_t, dst: uint16_t */
2663 #if H5_SIZEOF_HSSIZE_T < H5_SIZEOF_UINT16_T
2664  #define ASSIGN_hssize_t_TO_uint16_t(dst, dsttype, src, srctype) \
2665  ASSIGN_TO_LARGER_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
2666 #elif H5_SIZEOF_HSSIZE_T > H5_SIZEOF_UINT16_T
2667  #define ASSIGN_hssize_t_TO_uint16_t(dst, dsttype, src, srctype) \
2668  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
2669 #else /* H5_SIZEOF_HSSIZE_T == H5_SIZEOF_UINT16_T */
2670  #define ASSIGN_hssize_t_TO_uint16_t(dst, dsttype, src, srctype) \
2671  ASSIGN_TO_SAME_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
2672 #endif /* src: hssize_t dst: uint16_t */
2673 
2674 /* src: hssize_t, dst: uint32_t */
2675 #if H5_SIZEOF_HSSIZE_T < H5_SIZEOF_UINT32_T
2676  #define ASSIGN_hssize_t_TO_uint32_t(dst, dsttype, src, srctype) \
2677  ASSIGN_TO_LARGER_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
2678 #elif H5_SIZEOF_HSSIZE_T > H5_SIZEOF_UINT32_T
2679  #define ASSIGN_hssize_t_TO_uint32_t(dst, dsttype, src, srctype) \
2680  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
2681 #else /* H5_SIZEOF_HSSIZE_T == H5_SIZEOF_UINT32_T */
2682  #define ASSIGN_hssize_t_TO_uint32_t(dst, dsttype, src, srctype) \
2683  ASSIGN_TO_SAME_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
2684 #endif /* src: hssize_t dst: uint32_t */
2685 
2686 /* src: hssize_t, dst: uint64_t */
2687 #if H5_SIZEOF_HSSIZE_T < H5_SIZEOF_UINT64_T
2688  #define ASSIGN_hssize_t_TO_uint64_t(dst, dsttype, src, srctype) \
2689  ASSIGN_TO_LARGER_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
2690 #elif H5_SIZEOF_HSSIZE_T > H5_SIZEOF_UINT64_T
2691  #define ASSIGN_hssize_t_TO_uint64_t(dst, dsttype, src, srctype) \
2692  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
2693 #else /* H5_SIZEOF_HSSIZE_T == H5_SIZEOF_UINT64_T */
2694  #define ASSIGN_hssize_t_TO_uint64_t(dst, dsttype, src, srctype) \
2695  ASSIGN_TO_SAME_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
2696 #endif /* src: hssize_t dst: uint64_t */
2697 
2698 /* src: hssize_t, dst: ptrdiff_t */
2699 #if H5_SIZEOF_HSSIZE_T < H5_SIZEOF_PTRDIFF_T
2700  #define ASSIGN_hssize_t_TO_ptrdiff_t(dst, dsttype, src, srctype) \
2701  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
2702 #elif H5_SIZEOF_HSSIZE_T > H5_SIZEOF_PTRDIFF_T
2703  #define ASSIGN_hssize_t_TO_ptrdiff_t(dst, dsttype, src, srctype) \
2704  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
2705 #else /* H5_SIZEOF_HSSIZE_T == H5_SIZEOF_PTRDIFF_T */
2706  #define ASSIGN_hssize_t_TO_ptrdiff_t(dst, dsttype, src, srctype) \
2707  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
2708 #endif /* src: hssize_t dst: ptrdiff_t */
2709 
2710 /* src: hssize_t, dst: size_t */
2711 #if H5_SIZEOF_HSSIZE_T < H5_SIZEOF_SIZE_T
2712  #define ASSIGN_hssize_t_TO_size_t(dst, dsttype, src, srctype) \
2713  ASSIGN_TO_LARGER_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
2714 #elif H5_SIZEOF_HSSIZE_T > H5_SIZEOF_SIZE_T
2715  #define ASSIGN_hssize_t_TO_size_t(dst, dsttype, src, srctype) \
2716  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
2717 #else /* H5_SIZEOF_HSSIZE_T == H5_SIZEOF_SIZE_T */
2718  #define ASSIGN_hssize_t_TO_size_t(dst, dsttype, src, srctype) \
2719  ASSIGN_TO_SAME_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
2720 #endif /* src: hssize_t dst: size_t */
2721 
2722 /* src: hssize_t, dst: ssize_t */
2723 #if H5_SIZEOF_HSSIZE_T < H5_SIZEOF_SSIZE_T
2724  #define ASSIGN_hssize_t_TO_ssize_t(dst, dsttype, src, srctype) \
2725  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
2726 #elif H5_SIZEOF_HSSIZE_T > H5_SIZEOF_SSIZE_T
2727  #define ASSIGN_hssize_t_TO_ssize_t(dst, dsttype, src, srctype) \
2728  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
2729 #else /* H5_SIZEOF_HSSIZE_T == H5_SIZEOF_SSIZE_T */
2730  #define ASSIGN_hssize_t_TO_ssize_t(dst, dsttype, src, srctype) \
2731  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
2732 #endif /* src: hssize_t dst: ssize_t */
2733 
2734 /* src: hssize_t, dst: haddr_t */
2735 #if H5_SIZEOF_HSSIZE_T < H5_SIZEOF_HADDR_T
2736  #define ASSIGN_hssize_t_TO_haddr_t(dst, dsttype, src, srctype) \
2737  ASSIGN_TO_LARGER_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
2738 #elif H5_SIZEOF_HSSIZE_T > H5_SIZEOF_HADDR_T
2739  #define ASSIGN_hssize_t_TO_haddr_t(dst, dsttype, src, srctype) \
2740  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
2741 #else /* H5_SIZEOF_HSSIZE_T == H5_SIZEOF_HADDR_T */
2742  #define ASSIGN_hssize_t_TO_haddr_t(dst, dsttype, src, srctype) \
2743  ASSIGN_TO_SAME_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
2744 #endif /* src: hssize_t dst: haddr_t */
2745 
2746 /* src: hssize_t, dst: hsize_t */
2747 #if H5_SIZEOF_HSSIZE_T < H5_SIZEOF_HSIZE_T
2748  #define ASSIGN_hssize_t_TO_hsize_t(dst, dsttype, src, srctype) \
2749  ASSIGN_TO_LARGER_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
2750 #elif H5_SIZEOF_HSSIZE_T > H5_SIZEOF_HSIZE_T
2751  #define ASSIGN_hssize_t_TO_hsize_t(dst, dsttype, src, srctype) \
2752  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
2753 #else /* H5_SIZEOF_HSSIZE_T == H5_SIZEOF_HSIZE_T */
2754  #define ASSIGN_hssize_t_TO_hsize_t(dst, dsttype, src, srctype) \
2755  ASSIGN_TO_SAME_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
2756 #endif /* src: hssize_t dst: hsize_t */
2757 
2758 /* src: hssize_t, dst: h5_stat_size_t */
2759 #if H5_SIZEOF_HSSIZE_T < H5_SIZEOF_H5_STAT_SIZE_T
2760  #define ASSIGN_hssize_t_TO_h5_stat_size_t(dst, dsttype, src, srctype) \
2761  ASSIGN_TO_LARGER_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
2762 #elif H5_SIZEOF_HSSIZE_T > H5_SIZEOF_H5_STAT_SIZE_T
2763  #define ASSIGN_hssize_t_TO_h5_stat_size_t(dst, dsttype, src, srctype) \
2764  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
2765 #else /* H5_SIZEOF_HSSIZE_T == H5_SIZEOF_H5_STAT_SIZE_T */
2766  #define ASSIGN_hssize_t_TO_h5_stat_size_t(dst, dsttype, src, srctype) \
2767  ASSIGN_TO_SAME_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
2768 #endif /* src: hssize_t dst: h5_stat_size_t */
2769 
2770 
2771 /* Assignment checks for h5_stat_size_t */
2772 
2773 /* src: h5_stat_size_t, dst: unsigned */
2774 #if H5_SIZEOF_H5_STAT_SIZE_T < H5_SIZEOF_UNSIGNED
2775  #define ASSIGN_h5_stat_size_t_TO_unsigned(dst, dsttype, src, srctype) \
2776  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
2777 #elif H5_SIZEOF_H5_STAT_SIZE_T > H5_SIZEOF_UNSIGNED
2778  #define ASSIGN_h5_stat_size_t_TO_unsigned(dst, dsttype, src, srctype) \
2779  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
2780 #else /* H5_SIZEOF_H5_STAT_SIZE_T == H5_SIZEOF_UNSIGNED */
2781  #define ASSIGN_h5_stat_size_t_TO_unsigned(dst, dsttype, src, srctype) \
2782  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
2783 #endif /* src: h5_stat_size_t dst: unsigned */
2784 
2785 /* src: h5_stat_size_t, dst: int8_t */
2786 #if H5_SIZEOF_H5_STAT_SIZE_T < H5_SIZEOF_INT8_T
2787  #define ASSIGN_h5_stat_size_t_TO_int8_t(dst, dsttype, src, srctype) \
2788  ASSIGN_TO_LARGER_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
2789 #elif H5_SIZEOF_H5_STAT_SIZE_T > H5_SIZEOF_INT8_T
2790  #define ASSIGN_h5_stat_size_t_TO_int8_t(dst, dsttype, src, srctype) \
2791  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
2792 #else /* H5_SIZEOF_H5_STAT_SIZE_T == H5_SIZEOF_INT8_T */
2793  #define ASSIGN_h5_stat_size_t_TO_int8_t(dst, dsttype, src, srctype) \
2794  ASSIGN_TO_SAME_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
2795 #endif /* src: h5_stat_size_t dst: int8_t */
2796 
2797 /* src: h5_stat_size_t, dst: int */
2798 #if H5_SIZEOF_H5_STAT_SIZE_T < H5_SIZEOF_INT
2799  #define ASSIGN_h5_stat_size_t_TO_int(dst, dsttype, src, srctype) \
2800  ASSIGN_TO_LARGER_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
2801 #elif H5_SIZEOF_H5_STAT_SIZE_T > H5_SIZEOF_INT
2802  #define ASSIGN_h5_stat_size_t_TO_int(dst, dsttype, src, srctype) \
2803  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
2804 #else /* H5_SIZEOF_H5_STAT_SIZE_T == H5_SIZEOF_INT */
2805  #define ASSIGN_h5_stat_size_t_TO_int(dst, dsttype, src, srctype) \
2806  ASSIGN_TO_SAME_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
2807 #endif /* src: h5_stat_size_t dst: int */
2808 
2809 /* src: h5_stat_size_t, dst: long */
2810 #if H5_SIZEOF_H5_STAT_SIZE_T < H5_SIZEOF_LONG
2811  #define ASSIGN_h5_stat_size_t_TO_long(dst, dsttype, src, srctype) \
2812  ASSIGN_TO_LARGER_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
2813 #elif H5_SIZEOF_H5_STAT_SIZE_T > H5_SIZEOF_LONG
2814  #define ASSIGN_h5_stat_size_t_TO_long(dst, dsttype, src, srctype) \
2815  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
2816 #else /* H5_SIZEOF_H5_STAT_SIZE_T == H5_SIZEOF_LONG */
2817  #define ASSIGN_h5_stat_size_t_TO_long(dst, dsttype, src, srctype) \
2818  ASSIGN_TO_SAME_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
2819 #endif /* src: h5_stat_size_t dst: long */
2820 
2821 /* src: h5_stat_size_t, dst: int64_t */
2822 #if H5_SIZEOF_H5_STAT_SIZE_T < H5_SIZEOF_INT64_T
2823  #define ASSIGN_h5_stat_size_t_TO_int64_t(dst, dsttype, src, srctype) \
2824  ASSIGN_TO_LARGER_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
2825 #elif H5_SIZEOF_H5_STAT_SIZE_T > H5_SIZEOF_INT64_T
2826  #define ASSIGN_h5_stat_size_t_TO_int64_t(dst, dsttype, src, srctype) \
2827  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
2828 #else /* H5_SIZEOF_H5_STAT_SIZE_T == H5_SIZEOF_INT64_T */
2829  #define ASSIGN_h5_stat_size_t_TO_int64_t(dst, dsttype, src, srctype) \
2830  ASSIGN_TO_SAME_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
2831 #endif /* src: h5_stat_size_t dst: int64_t */
2832 
2833 /* src: h5_stat_size_t, dst: uint8_t */
2834 #if H5_SIZEOF_H5_STAT_SIZE_T < H5_SIZEOF_UINT8_T
2835  #define ASSIGN_h5_stat_size_t_TO_uint8_t(dst, dsttype, src, srctype) \
2836  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
2837 #elif H5_SIZEOF_H5_STAT_SIZE_T > H5_SIZEOF_UINT8_T
2838  #define ASSIGN_h5_stat_size_t_TO_uint8_t(dst, dsttype, src, srctype) \
2839  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
2840 #else /* H5_SIZEOF_H5_STAT_SIZE_T == H5_SIZEOF_UINT8_T */
2841  #define ASSIGN_h5_stat_size_t_TO_uint8_t(dst, dsttype, src, srctype) \
2842  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
2843 #endif /* src: h5_stat_size_t dst: uint8_t */
2844 
2845 /* src: h5_stat_size_t, dst: uint16_t */
2846 #if H5_SIZEOF_H5_STAT_SIZE_T < H5_SIZEOF_UINT16_T
2847  #define ASSIGN_h5_stat_size_t_TO_uint16_t(dst, dsttype, src, srctype) \
2848  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
2849 #elif H5_SIZEOF_H5_STAT_SIZE_T > H5_SIZEOF_UINT16_T
2850  #define ASSIGN_h5_stat_size_t_TO_uint16_t(dst, dsttype, src, srctype) \
2851  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
2852 #else /* H5_SIZEOF_H5_STAT_SIZE_T == H5_SIZEOF_UINT16_T */
2853  #define ASSIGN_h5_stat_size_t_TO_uint16_t(dst, dsttype, src, srctype) \
2854  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
2855 #endif /* src: h5_stat_size_t dst: uint16_t */
2856 
2857 /* src: h5_stat_size_t, dst: uint32_t */
2858 #if H5_SIZEOF_H5_STAT_SIZE_T < H5_SIZEOF_UINT32_T
2859  #define ASSIGN_h5_stat_size_t_TO_uint32_t(dst, dsttype, src, srctype) \
2860  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
2861 #elif H5_SIZEOF_H5_STAT_SIZE_T > H5_SIZEOF_UINT32_T
2862  #define ASSIGN_h5_stat_size_t_TO_uint32_t(dst, dsttype, src, srctype) \
2863  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
2864 #else /* H5_SIZEOF_H5_STAT_SIZE_T == H5_SIZEOF_UINT32_T */
2865  #define ASSIGN_h5_stat_size_t_TO_uint32_t(dst, dsttype, src, srctype) \
2866  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
2867 #endif /* src: h5_stat_size_t dst: uint32_t */
2868 
2869 /* src: h5_stat_size_t, dst: uint64_t */
2870 #if H5_SIZEOF_H5_STAT_SIZE_T < H5_SIZEOF_UINT64_T
2871  #define ASSIGN_h5_stat_size_t_TO_uint64_t(dst, dsttype, src, srctype) \
2872  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
2873 #elif H5_SIZEOF_H5_STAT_SIZE_T > H5_SIZEOF_UINT64_T
2874  #define ASSIGN_h5_stat_size_t_TO_uint64_t(dst, dsttype, src, srctype) \
2875  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
2876 #else /* H5_SIZEOF_H5_STAT_SIZE_T == H5_SIZEOF_UINT64_T */
2877  #define ASSIGN_h5_stat_size_t_TO_uint64_t(dst, dsttype, src, srctype) \
2878  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
2879 #endif /* src: h5_stat_size_t dst: uint64_t */
2880 
2881 /* src: h5_stat_size_t, dst: ptrdiff_t */
2882 #if H5_SIZEOF_H5_STAT_SIZE_T < H5_SIZEOF_PTRDIFF_T
2883  #define ASSIGN_h5_stat_size_t_TO_ptrdiff_t(dst, dsttype, src, srctype) \
2884  ASSIGN_TO_LARGER_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
2885 #elif H5_SIZEOF_H5_STAT_SIZE_T > H5_SIZEOF_PTRDIFF_T
2886  #define ASSIGN_h5_stat_size_t_TO_ptrdiff_t(dst, dsttype, src, srctype) \
2887  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
2888 #else /* H5_SIZEOF_H5_STAT_SIZE_T == H5_SIZEOF_PTRDIFF_T */
2889  #define ASSIGN_h5_stat_size_t_TO_ptrdiff_t(dst, dsttype, src, srctype) \
2890  ASSIGN_TO_SAME_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
2891 #endif /* src: h5_stat_size_t dst: ptrdiff_t */
2892 
2893 /* src: h5_stat_size_t, dst: size_t */
2894 #if H5_SIZEOF_H5_STAT_SIZE_T < H5_SIZEOF_SIZE_T
2895  #define ASSIGN_h5_stat_size_t_TO_size_t(dst, dsttype, src, srctype) \
2896  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
2897 #elif H5_SIZEOF_H5_STAT_SIZE_T > H5_SIZEOF_SIZE_T
2898  #define ASSIGN_h5_stat_size_t_TO_size_t(dst, dsttype, src, srctype) \
2899  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
2900 #else /* H5_SIZEOF_H5_STAT_SIZE_T == H5_SIZEOF_SIZE_T */
2901  #define ASSIGN_h5_stat_size_t_TO_size_t(dst, dsttype, src, srctype) \
2902  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
2903 #endif /* src: h5_stat_size_t dst: size_t */
2904 
2905 /* src: h5_stat_size_t, dst: ssize_t */
2906 #if H5_SIZEOF_H5_STAT_SIZE_T < H5_SIZEOF_SSIZE_T
2907  #define ASSIGN_h5_stat_size_t_TO_ssize_t(dst, dsttype, src, srctype) \
2908  ASSIGN_TO_LARGER_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
2909 #elif H5_SIZEOF_H5_STAT_SIZE_T > H5_SIZEOF_SSIZE_T
2910  #define ASSIGN_h5_stat_size_t_TO_ssize_t(dst, dsttype, src, srctype) \
2911  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
2912 #else /* H5_SIZEOF_H5_STAT_SIZE_T == H5_SIZEOF_SSIZE_T */
2913  #define ASSIGN_h5_stat_size_t_TO_ssize_t(dst, dsttype, src, srctype) \
2914  ASSIGN_TO_SAME_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
2915 #endif /* src: h5_stat_size_t dst: ssize_t */
2916 
2917 /* src: h5_stat_size_t, dst: haddr_t */
2918 #if H5_SIZEOF_H5_STAT_SIZE_T < H5_SIZEOF_HADDR_T
2919  #define ASSIGN_h5_stat_size_t_TO_haddr_t(dst, dsttype, src, srctype) \
2920  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
2921 #elif H5_SIZEOF_H5_STAT_SIZE_T > H5_SIZEOF_HADDR_T
2922  #define ASSIGN_h5_stat_size_t_TO_haddr_t(dst, dsttype, src, srctype) \
2923  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
2924 #else /* H5_SIZEOF_H5_STAT_SIZE_T == H5_SIZEOF_HADDR_T */
2925  #define ASSIGN_h5_stat_size_t_TO_haddr_t(dst, dsttype, src, srctype) \
2926  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
2927 #endif /* src: h5_stat_size_t dst: haddr_t */
2928 
2929 /* src: h5_stat_size_t, dst: hsize_t */
2930 #if H5_SIZEOF_H5_STAT_SIZE_T < H5_SIZEOF_HSIZE_T
2931  #define ASSIGN_h5_stat_size_t_TO_hsize_t(dst, dsttype, src, srctype) \
2932  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
2933 #elif H5_SIZEOF_H5_STAT_SIZE_T > H5_SIZEOF_HSIZE_T
2934  #define ASSIGN_h5_stat_size_t_TO_hsize_t(dst, dsttype, src, srctype) \
2935  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
2936 #else /* H5_SIZEOF_H5_STAT_SIZE_T == H5_SIZEOF_HSIZE_T */
2937  #define ASSIGN_h5_stat_size_t_TO_hsize_t(dst, dsttype, src, srctype) \
2938  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
2939 #endif /* src: h5_stat_size_t dst: hsize_t */
2940 
2941 /* src: h5_stat_size_t, dst: hssize_t */
2942 #if H5_SIZEOF_H5_STAT_SIZE_T < H5_SIZEOF_HSSIZE_T
2943  #define ASSIGN_h5_stat_size_t_TO_hssize_t(dst, dsttype, src, srctype) \
2944  ASSIGN_TO_LARGER_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
2945 #elif H5_SIZEOF_H5_STAT_SIZE_T > H5_SIZEOF_HSSIZE_T
2946  #define ASSIGN_h5_stat_size_t_TO_hssize_t(dst, dsttype, src, srctype) \
2947  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
2948 #else /* H5_SIZEOF_H5_STAT_SIZE_T == H5_SIZEOF_HSSIZE_T */
2949  #define ASSIGN_h5_stat_size_t_TO_hssize_t(dst, dsttype, src, srctype) \
2950  ASSIGN_TO_SAME_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
2951 #endif /* src: h5_stat_size_t dst: hssize_t */
2952 
2953 #endif /* H5overflow_H */
2954