HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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 files COPYING and Copyright.html. COPYING can be found at the root *
9  * of the source code distribution tree; Copyright.html can be found at the *
10  * root level of an installed copy of the electronic HDF5 document set and *
11  * is linked from the top-level documents page. It can also be found at *
12  * http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have *
13  * access to either file, you may request a copy from help@hdfgroup.org. *
14  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
15 
16 /* Generated automatically by bin/make_overflow -- do not edit */
17 /* Add new types to H5overflow.txt file */
18 
19 
20 #ifndef _H5overflow_H
21 #define _H5overflow_H
22 
23 
24 /* Each type in this file is tested for assignment to the other types,
25  * and range checks are defined for bad assignments at run-time.
26  */
27 
28 /* Assignment checks for unsigned */
29 
30 /* src: unsigned, dst: int */
31 #if H5_SIZEOF_UNSIGNED < H5_SIZEOF_INT
32  #define ASSIGN_unsigned_TO_int(dst, dsttype, src, srctype) \
33  ASSIGN_TO_LARGER_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
34 #elif H5_SIZEOF_UNSIGNED > H5_SIZEOF_INT
35  #define ASSIGN_unsigned_TO_int(dst, dsttype, src, srctype) \
36  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
37 #else /* H5_SIZEOF_UNSIGNED == H5_SIZEOF_INT */
38  #define ASSIGN_unsigned_TO_int(dst, dsttype, src, srctype) \
39  ASSIGN_TO_SAME_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
40 #endif /* src: unsigned dst: int */
41 
42 /* src: unsigned, dst: uint8_t */
43 #if H5_SIZEOF_UNSIGNED < H5_SIZEOF_UINT8_T
44  #define ASSIGN_unsigned_TO_uint8_t(dst, dsttype, src, srctype) \
45  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
46 #elif H5_SIZEOF_UNSIGNED > H5_SIZEOF_UINT8_T
47  #define ASSIGN_unsigned_TO_uint8_t(dst, dsttype, src, srctype) \
48  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
49 #else /* H5_SIZEOF_UNSIGNED == H5_SIZEOF_UINT8_T */
50  #define ASSIGN_unsigned_TO_uint8_t(dst, dsttype, src, srctype) \
51  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
52 #endif /* src: unsigned dst: uint8_t */
53 
54 /* src: unsigned, dst: uint16_t */
55 #if H5_SIZEOF_UNSIGNED < H5_SIZEOF_UINT16_T
56  #define ASSIGN_unsigned_TO_uint16_t(dst, dsttype, src, srctype) \
57  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
58 #elif H5_SIZEOF_UNSIGNED > H5_SIZEOF_UINT16_T
59  #define ASSIGN_unsigned_TO_uint16_t(dst, dsttype, src, srctype) \
60  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
61 #else /* H5_SIZEOF_UNSIGNED == H5_SIZEOF_UINT16_T */
62  #define ASSIGN_unsigned_TO_uint16_t(dst, dsttype, src, srctype) \
63  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
64 #endif /* src: unsigned dst: uint16_t */
65 
66 /* src: unsigned, dst: uint32_t */
67 #if H5_SIZEOF_UNSIGNED < H5_SIZEOF_UINT32_T
68  #define ASSIGN_unsigned_TO_uint32_t(dst, dsttype, src, srctype) \
69  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
70 #elif H5_SIZEOF_UNSIGNED > H5_SIZEOF_UINT32_T
71  #define ASSIGN_unsigned_TO_uint32_t(dst, dsttype, src, srctype) \
72  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
73 #else /* H5_SIZEOF_UNSIGNED == H5_SIZEOF_UINT32_T */
74  #define ASSIGN_unsigned_TO_uint32_t(dst, dsttype, src, srctype) \
75  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
76 #endif /* src: unsigned dst: uint32_t */
77 
78 /* src: unsigned, dst: uint64_t */
79 #if H5_SIZEOF_UNSIGNED < H5_SIZEOF_UINT64_T
80  #define ASSIGN_unsigned_TO_uint64_t(dst, dsttype, src, srctype) \
81  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
82 #elif H5_SIZEOF_UNSIGNED > H5_SIZEOF_UINT64_T
83  #define ASSIGN_unsigned_TO_uint64_t(dst, dsttype, src, srctype) \
84  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
85 #else /* H5_SIZEOF_UNSIGNED == H5_SIZEOF_UINT64_T */
86  #define ASSIGN_unsigned_TO_uint64_t(dst, dsttype, src, srctype) \
87  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
88 #endif /* src: unsigned dst: uint64_t */
89 
90 /* src: unsigned, dst: ptrdiff_t */
91 #if H5_SIZEOF_UNSIGNED < H5_SIZEOF_PTRDIFF_T
92  #define ASSIGN_unsigned_TO_ptrdiff_t(dst, dsttype, src, srctype) \
93  ASSIGN_TO_LARGER_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
94 #elif H5_SIZEOF_UNSIGNED > H5_SIZEOF_PTRDIFF_T
95  #define ASSIGN_unsigned_TO_ptrdiff_t(dst, dsttype, src, srctype) \
96  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
97 #else /* H5_SIZEOF_UNSIGNED == H5_SIZEOF_PTRDIFF_T */
98  #define ASSIGN_unsigned_TO_ptrdiff_t(dst, dsttype, src, srctype) \
99  ASSIGN_TO_SAME_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
100 #endif /* src: unsigned dst: ptrdiff_t */
101 
102 /* src: unsigned, dst: size_t */
103 #if H5_SIZEOF_UNSIGNED < H5_SIZEOF_SIZE_T
104  #define ASSIGN_unsigned_TO_size_t(dst, dsttype, src, srctype) \
105  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
106 #elif H5_SIZEOF_UNSIGNED > H5_SIZEOF_SIZE_T
107  #define ASSIGN_unsigned_TO_size_t(dst, dsttype, src, srctype) \
108  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
109 #else /* H5_SIZEOF_UNSIGNED == H5_SIZEOF_SIZE_T */
110  #define ASSIGN_unsigned_TO_size_t(dst, dsttype, src, srctype) \
111  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
112 #endif /* src: unsigned dst: size_t */
113 
114 /* src: unsigned, dst: ssize_t */
115 #if H5_SIZEOF_UNSIGNED < H5_SIZEOF_SSIZE_T
116  #define ASSIGN_unsigned_TO_ssize_t(dst, dsttype, src, srctype) \
117  ASSIGN_TO_LARGER_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
118 #elif H5_SIZEOF_UNSIGNED > H5_SIZEOF_SSIZE_T
119  #define ASSIGN_unsigned_TO_ssize_t(dst, dsttype, src, srctype) \
120  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
121 #else /* H5_SIZEOF_UNSIGNED == H5_SIZEOF_SSIZE_T */
122  #define ASSIGN_unsigned_TO_ssize_t(dst, dsttype, src, srctype) \
123  ASSIGN_TO_SAME_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
124 #endif /* src: unsigned dst: ssize_t */
125 
126 /* src: unsigned, dst: haddr_t */
127 #if H5_SIZEOF_UNSIGNED < H5_SIZEOF_HADDR_T
128  #define ASSIGN_unsigned_TO_haddr_t(dst, dsttype, src, srctype) \
129  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
130 #elif H5_SIZEOF_UNSIGNED > H5_SIZEOF_HADDR_T
131  #define ASSIGN_unsigned_TO_haddr_t(dst, dsttype, src, srctype) \
132  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
133 #else /* H5_SIZEOF_UNSIGNED == H5_SIZEOF_HADDR_T */
134  #define ASSIGN_unsigned_TO_haddr_t(dst, dsttype, src, srctype) \
135  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
136 #endif /* src: unsigned dst: haddr_t */
137 
138 /* src: unsigned, dst: hsize_t */
139 #if H5_SIZEOF_UNSIGNED < H5_SIZEOF_HSIZE_T
140  #define ASSIGN_unsigned_TO_hsize_t(dst, dsttype, src, srctype) \
141  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
142 #elif H5_SIZEOF_UNSIGNED > H5_SIZEOF_HSIZE_T
143  #define ASSIGN_unsigned_TO_hsize_t(dst, dsttype, src, srctype) \
144  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
145 #else /* H5_SIZEOF_UNSIGNED == H5_SIZEOF_HSIZE_T */
146  #define ASSIGN_unsigned_TO_hsize_t(dst, dsttype, src, srctype) \
147  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
148 #endif /* src: unsigned dst: hsize_t */
149 
150 /* src: unsigned, dst: hssize_t */
151 #if H5_SIZEOF_UNSIGNED < H5_SIZEOF_HSSIZE_T
152  #define ASSIGN_unsigned_TO_hssize_t(dst, dsttype, src, srctype) \
153  ASSIGN_TO_LARGER_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
154 #elif H5_SIZEOF_UNSIGNED > H5_SIZEOF_HSSIZE_T
155  #define ASSIGN_unsigned_TO_hssize_t(dst, dsttype, src, srctype) \
156  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
157 #else /* H5_SIZEOF_UNSIGNED == H5_SIZEOF_HSSIZE_T */
158  #define ASSIGN_unsigned_TO_hssize_t(dst, dsttype, src, srctype) \
159  ASSIGN_TO_SAME_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
160 #endif /* src: unsigned dst: hssize_t */
161 
162 /* src: unsigned, dst: h5_stat_size_t */
163 #if H5_SIZEOF_UNSIGNED < H5_SIZEOF_H5_STAT_SIZE_T
164  #define ASSIGN_unsigned_TO_h5_stat_size_t(dst, dsttype, src, srctype) \
165  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
166 #elif H5_SIZEOF_UNSIGNED > H5_SIZEOF_H5_STAT_SIZE_T
167  #define ASSIGN_unsigned_TO_h5_stat_size_t(dst, dsttype, src, srctype) \
168  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
169 #else /* H5_SIZEOF_UNSIGNED == H5_SIZEOF_H5_STAT_SIZE_T */
170  #define ASSIGN_unsigned_TO_h5_stat_size_t(dst, dsttype, src, srctype) \
171  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
172 #endif /* src: unsigned dst: h5_stat_size_t */
173 
174 
175 /* Assignment checks for int */
176 
177 /* src: int, dst: unsigned */
178 #if H5_SIZEOF_INT < H5_SIZEOF_UNSIGNED
179  #define ASSIGN_int_TO_unsigned(dst, dsttype, src, srctype) \
180  ASSIGN_TO_LARGER_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
181 #elif H5_SIZEOF_INT > H5_SIZEOF_UNSIGNED
182  #define ASSIGN_int_TO_unsigned(dst, dsttype, src, srctype) \
183  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
184 #else /* H5_SIZEOF_INT == H5_SIZEOF_UNSIGNED */
185  #define ASSIGN_int_TO_unsigned(dst, dsttype, src, srctype) \
186  ASSIGN_TO_SAME_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
187 #endif /* src: int dst: unsigned */
188 
189 /* src: int, dst: uint8_t */
190 #if H5_SIZEOF_INT < H5_SIZEOF_UINT8_T
191  #define ASSIGN_int_TO_uint8_t(dst, dsttype, src, srctype) \
192  ASSIGN_TO_LARGER_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
193 #elif H5_SIZEOF_INT > H5_SIZEOF_UINT8_T
194  #define ASSIGN_int_TO_uint8_t(dst, dsttype, src, srctype) \
195  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
196 #else /* H5_SIZEOF_INT == H5_SIZEOF_UINT8_T */
197  #define ASSIGN_int_TO_uint8_t(dst, dsttype, src, srctype) \
198  ASSIGN_TO_SAME_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
199 #endif /* src: int dst: uint8_t */
200 
201 /* src: int, dst: uint16_t */
202 #if H5_SIZEOF_INT < H5_SIZEOF_UINT16_T
203  #define ASSIGN_int_TO_uint16_t(dst, dsttype, src, srctype) \
204  ASSIGN_TO_LARGER_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
205 #elif H5_SIZEOF_INT > H5_SIZEOF_UINT16_T
206  #define ASSIGN_int_TO_uint16_t(dst, dsttype, src, srctype) \
207  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
208 #else /* H5_SIZEOF_INT == H5_SIZEOF_UINT16_T */
209  #define ASSIGN_int_TO_uint16_t(dst, dsttype, src, srctype) \
210  ASSIGN_TO_SAME_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
211 #endif /* src: int dst: uint16_t */
212 
213 /* src: int, dst: uint32_t */
214 #if H5_SIZEOF_INT < H5_SIZEOF_UINT32_T
215  #define ASSIGN_int_TO_uint32_t(dst, dsttype, src, srctype) \
216  ASSIGN_TO_LARGER_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
217 #elif H5_SIZEOF_INT > H5_SIZEOF_UINT32_T
218  #define ASSIGN_int_TO_uint32_t(dst, dsttype, src, srctype) \
219  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
220 #else /* H5_SIZEOF_INT == H5_SIZEOF_UINT32_T */
221  #define ASSIGN_int_TO_uint32_t(dst, dsttype, src, srctype) \
222  ASSIGN_TO_SAME_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
223 #endif /* src: int dst: uint32_t */
224 
225 /* src: int, dst: uint64_t */
226 #if H5_SIZEOF_INT < H5_SIZEOF_UINT64_T
227  #define ASSIGN_int_TO_uint64_t(dst, dsttype, src, srctype) \
228  ASSIGN_TO_LARGER_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
229 #elif H5_SIZEOF_INT > H5_SIZEOF_UINT64_T
230  #define ASSIGN_int_TO_uint64_t(dst, dsttype, src, srctype) \
231  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
232 #else /* H5_SIZEOF_INT == H5_SIZEOF_UINT64_T */
233  #define ASSIGN_int_TO_uint64_t(dst, dsttype, src, srctype) \
234  ASSIGN_TO_SAME_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
235 #endif /* src: int dst: uint64_t */
236 
237 /* src: int, dst: ptrdiff_t */
238 #if H5_SIZEOF_INT < H5_SIZEOF_PTRDIFF_T
239  #define ASSIGN_int_TO_ptrdiff_t(dst, dsttype, src, srctype) \
240  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
241 #elif H5_SIZEOF_INT > H5_SIZEOF_PTRDIFF_T
242  #define ASSIGN_int_TO_ptrdiff_t(dst, dsttype, src, srctype) \
243  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
244 #else /* H5_SIZEOF_INT == H5_SIZEOF_PTRDIFF_T */
245  #define ASSIGN_int_TO_ptrdiff_t(dst, dsttype, src, srctype) \
246  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
247 #endif /* src: int dst: ptrdiff_t */
248 
249 /* src: int, dst: size_t */
250 #if H5_SIZEOF_INT < H5_SIZEOF_SIZE_T
251  #define ASSIGN_int_TO_size_t(dst, dsttype, src, srctype) \
252  ASSIGN_TO_LARGER_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
253 #elif H5_SIZEOF_INT > H5_SIZEOF_SIZE_T
254  #define ASSIGN_int_TO_size_t(dst, dsttype, src, srctype) \
255  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
256 #else /* H5_SIZEOF_INT == H5_SIZEOF_SIZE_T */
257  #define ASSIGN_int_TO_size_t(dst, dsttype, src, srctype) \
258  ASSIGN_TO_SAME_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
259 #endif /* src: int dst: size_t */
260 
261 /* src: int, dst: ssize_t */
262 #if H5_SIZEOF_INT < H5_SIZEOF_SSIZE_T
263  #define ASSIGN_int_TO_ssize_t(dst, dsttype, src, srctype) \
264  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
265 #elif H5_SIZEOF_INT > H5_SIZEOF_SSIZE_T
266  #define ASSIGN_int_TO_ssize_t(dst, dsttype, src, srctype) \
267  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
268 #else /* H5_SIZEOF_INT == H5_SIZEOF_SSIZE_T */
269  #define ASSIGN_int_TO_ssize_t(dst, dsttype, src, srctype) \
270  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
271 #endif /* src: int dst: ssize_t */
272 
273 /* src: int, dst: haddr_t */
274 #if H5_SIZEOF_INT < H5_SIZEOF_HADDR_T
275  #define ASSIGN_int_TO_haddr_t(dst, dsttype, src, srctype) \
276  ASSIGN_TO_LARGER_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
277 #elif H5_SIZEOF_INT > H5_SIZEOF_HADDR_T
278  #define ASSIGN_int_TO_haddr_t(dst, dsttype, src, srctype) \
279  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
280 #else /* H5_SIZEOF_INT == H5_SIZEOF_HADDR_T */
281  #define ASSIGN_int_TO_haddr_t(dst, dsttype, src, srctype) \
282  ASSIGN_TO_SAME_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
283 #endif /* src: int dst: haddr_t */
284 
285 /* src: int, dst: hsize_t */
286 #if H5_SIZEOF_INT < H5_SIZEOF_HSIZE_T
287  #define ASSIGN_int_TO_hsize_t(dst, dsttype, src, srctype) \
288  ASSIGN_TO_LARGER_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
289 #elif H5_SIZEOF_INT > H5_SIZEOF_HSIZE_T
290  #define ASSIGN_int_TO_hsize_t(dst, dsttype, src, srctype) \
291  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
292 #else /* H5_SIZEOF_INT == H5_SIZEOF_HSIZE_T */
293  #define ASSIGN_int_TO_hsize_t(dst, dsttype, src, srctype) \
294  ASSIGN_TO_SAME_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
295 #endif /* src: int dst: hsize_t */
296 
297 /* src: int, dst: hssize_t */
298 #if H5_SIZEOF_INT < H5_SIZEOF_HSSIZE_T
299  #define ASSIGN_int_TO_hssize_t(dst, dsttype, src, srctype) \
300  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
301 #elif H5_SIZEOF_INT > H5_SIZEOF_HSSIZE_T
302  #define ASSIGN_int_TO_hssize_t(dst, dsttype, src, srctype) \
303  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
304 #else /* H5_SIZEOF_INT == H5_SIZEOF_HSSIZE_T */
305  #define ASSIGN_int_TO_hssize_t(dst, dsttype, src, srctype) \
306  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
307 #endif /* src: int dst: hssize_t */
308 
309 /* src: int, dst: h5_stat_size_t */
310 #if H5_SIZEOF_INT < H5_SIZEOF_H5_STAT_SIZE_T
311  #define ASSIGN_int_TO_h5_stat_size_t(dst, dsttype, src, srctype) \
312  ASSIGN_TO_LARGER_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
313 #elif H5_SIZEOF_INT > H5_SIZEOF_H5_STAT_SIZE_T
314  #define ASSIGN_int_TO_h5_stat_size_t(dst, dsttype, src, srctype) \
315  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
316 #else /* H5_SIZEOF_INT == H5_SIZEOF_H5_STAT_SIZE_T */
317  #define ASSIGN_int_TO_h5_stat_size_t(dst, dsttype, src, srctype) \
318  ASSIGN_TO_SAME_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
319 #endif /* src: int dst: h5_stat_size_t */
320 
321 
322 /* Assignment checks for uint8_t */
323 
324 /* src: uint8_t, dst: unsigned */
325 #if H5_SIZEOF_UINT8_T < H5_SIZEOF_UNSIGNED
326  #define ASSIGN_uint8_t_TO_unsigned(dst, dsttype, src, srctype) \
327  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
328 #elif H5_SIZEOF_UINT8_T > H5_SIZEOF_UNSIGNED
329  #define ASSIGN_uint8_t_TO_unsigned(dst, dsttype, src, srctype) \
330  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
331 #else /* H5_SIZEOF_UINT8_T == H5_SIZEOF_UNSIGNED */
332  #define ASSIGN_uint8_t_TO_unsigned(dst, dsttype, src, srctype) \
333  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
334 #endif /* src: uint8_t dst: unsigned */
335 
336 /* src: uint8_t, dst: int */
337 #if H5_SIZEOF_UINT8_T < H5_SIZEOF_INT
338  #define ASSIGN_uint8_t_TO_int(dst, dsttype, src, srctype) \
339  ASSIGN_TO_LARGER_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
340 #elif H5_SIZEOF_UINT8_T > H5_SIZEOF_INT
341  #define ASSIGN_uint8_t_TO_int(dst, dsttype, src, srctype) \
342  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
343 #else /* H5_SIZEOF_UINT8_T == H5_SIZEOF_INT */
344  #define ASSIGN_uint8_t_TO_int(dst, dsttype, src, srctype) \
345  ASSIGN_TO_SAME_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
346 #endif /* src: uint8_t dst: int */
347 
348 /* src: uint8_t, dst: uint16_t */
349 #if H5_SIZEOF_UINT8_T < H5_SIZEOF_UINT16_T
350  #define ASSIGN_uint8_t_TO_uint16_t(dst, dsttype, src, srctype) \
351  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
352 #elif H5_SIZEOF_UINT8_T > H5_SIZEOF_UINT16_T
353  #define ASSIGN_uint8_t_TO_uint16_t(dst, dsttype, src, srctype) \
354  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
355 #else /* H5_SIZEOF_UINT8_T == H5_SIZEOF_UINT16_T */
356  #define ASSIGN_uint8_t_TO_uint16_t(dst, dsttype, src, srctype) \
357  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
358 #endif /* src: uint8_t dst: uint16_t */
359 
360 /* src: uint8_t, dst: uint32_t */
361 #if H5_SIZEOF_UINT8_T < H5_SIZEOF_UINT32_T
362  #define ASSIGN_uint8_t_TO_uint32_t(dst, dsttype, src, srctype) \
363  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
364 #elif H5_SIZEOF_UINT8_T > H5_SIZEOF_UINT32_T
365  #define ASSIGN_uint8_t_TO_uint32_t(dst, dsttype, src, srctype) \
366  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
367 #else /* H5_SIZEOF_UINT8_T == H5_SIZEOF_UINT32_T */
368  #define ASSIGN_uint8_t_TO_uint32_t(dst, dsttype, src, srctype) \
369  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
370 #endif /* src: uint8_t dst: uint32_t */
371 
372 /* src: uint8_t, dst: uint64_t */
373 #if H5_SIZEOF_UINT8_T < H5_SIZEOF_UINT64_T
374  #define ASSIGN_uint8_t_TO_uint64_t(dst, dsttype, src, srctype) \
375  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
376 #elif H5_SIZEOF_UINT8_T > H5_SIZEOF_UINT64_T
377  #define ASSIGN_uint8_t_TO_uint64_t(dst, dsttype, src, srctype) \
378  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
379 #else /* H5_SIZEOF_UINT8_T == H5_SIZEOF_UINT64_T */
380  #define ASSIGN_uint8_t_TO_uint64_t(dst, dsttype, src, srctype) \
381  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
382 #endif /* src: uint8_t dst: uint64_t */
383 
384 /* src: uint8_t, dst: ptrdiff_t */
385 #if H5_SIZEOF_UINT8_T < H5_SIZEOF_PTRDIFF_T
386  #define ASSIGN_uint8_t_TO_ptrdiff_t(dst, dsttype, src, srctype) \
387  ASSIGN_TO_LARGER_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
388 #elif H5_SIZEOF_UINT8_T > H5_SIZEOF_PTRDIFF_T
389  #define ASSIGN_uint8_t_TO_ptrdiff_t(dst, dsttype, src, srctype) \
390  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
391 #else /* H5_SIZEOF_UINT8_T == H5_SIZEOF_PTRDIFF_T */
392  #define ASSIGN_uint8_t_TO_ptrdiff_t(dst, dsttype, src, srctype) \
393  ASSIGN_TO_SAME_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
394 #endif /* src: uint8_t dst: ptrdiff_t */
395 
396 /* src: uint8_t, dst: size_t */
397 #if H5_SIZEOF_UINT8_T < H5_SIZEOF_SIZE_T
398  #define ASSIGN_uint8_t_TO_size_t(dst, dsttype, src, srctype) \
399  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
400 #elif H5_SIZEOF_UINT8_T > H5_SIZEOF_SIZE_T
401  #define ASSIGN_uint8_t_TO_size_t(dst, dsttype, src, srctype) \
402  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
403 #else /* H5_SIZEOF_UINT8_T == H5_SIZEOF_SIZE_T */
404  #define ASSIGN_uint8_t_TO_size_t(dst, dsttype, src, srctype) \
405  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
406 #endif /* src: uint8_t dst: size_t */
407 
408 /* src: uint8_t, dst: ssize_t */
409 #if H5_SIZEOF_UINT8_T < H5_SIZEOF_SSIZE_T
410  #define ASSIGN_uint8_t_TO_ssize_t(dst, dsttype, src, srctype) \
411  ASSIGN_TO_LARGER_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
412 #elif H5_SIZEOF_UINT8_T > H5_SIZEOF_SSIZE_T
413  #define ASSIGN_uint8_t_TO_ssize_t(dst, dsttype, src, srctype) \
414  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
415 #else /* H5_SIZEOF_UINT8_T == H5_SIZEOF_SSIZE_T */
416  #define ASSIGN_uint8_t_TO_ssize_t(dst, dsttype, src, srctype) \
417  ASSIGN_TO_SAME_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
418 #endif /* src: uint8_t dst: ssize_t */
419 
420 /* src: uint8_t, dst: haddr_t */
421 #if H5_SIZEOF_UINT8_T < H5_SIZEOF_HADDR_T
422  #define ASSIGN_uint8_t_TO_haddr_t(dst, dsttype, src, srctype) \
423  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
424 #elif H5_SIZEOF_UINT8_T > H5_SIZEOF_HADDR_T
425  #define ASSIGN_uint8_t_TO_haddr_t(dst, dsttype, src, srctype) \
426  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
427 #else /* H5_SIZEOF_UINT8_T == H5_SIZEOF_HADDR_T */
428  #define ASSIGN_uint8_t_TO_haddr_t(dst, dsttype, src, srctype) \
429  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
430 #endif /* src: uint8_t dst: haddr_t */
431 
432 /* src: uint8_t, dst: hsize_t */
433 #if H5_SIZEOF_UINT8_T < H5_SIZEOF_HSIZE_T
434  #define ASSIGN_uint8_t_TO_hsize_t(dst, dsttype, src, srctype) \
435  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
436 #elif H5_SIZEOF_UINT8_T > H5_SIZEOF_HSIZE_T
437  #define ASSIGN_uint8_t_TO_hsize_t(dst, dsttype, src, srctype) \
438  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
439 #else /* H5_SIZEOF_UINT8_T == H5_SIZEOF_HSIZE_T */
440  #define ASSIGN_uint8_t_TO_hsize_t(dst, dsttype, src, srctype) \
441  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
442 #endif /* src: uint8_t dst: hsize_t */
443 
444 /* src: uint8_t, dst: hssize_t */
445 #if H5_SIZEOF_UINT8_T < H5_SIZEOF_HSSIZE_T
446  #define ASSIGN_uint8_t_TO_hssize_t(dst, dsttype, src, srctype) \
447  ASSIGN_TO_LARGER_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
448 #elif H5_SIZEOF_UINT8_T > H5_SIZEOF_HSSIZE_T
449  #define ASSIGN_uint8_t_TO_hssize_t(dst, dsttype, src, srctype) \
450  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
451 #else /* H5_SIZEOF_UINT8_T == H5_SIZEOF_HSSIZE_T */
452  #define ASSIGN_uint8_t_TO_hssize_t(dst, dsttype, src, srctype) \
453  ASSIGN_TO_SAME_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
454 #endif /* src: uint8_t dst: hssize_t */
455 
456 /* src: uint8_t, dst: h5_stat_size_t */
457 #if H5_SIZEOF_UINT8_T < H5_SIZEOF_H5_STAT_SIZE_T
458  #define ASSIGN_uint8_t_TO_h5_stat_size_t(dst, dsttype, src, srctype) \
459  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
460 #elif H5_SIZEOF_UINT8_T > H5_SIZEOF_H5_STAT_SIZE_T
461  #define ASSIGN_uint8_t_TO_h5_stat_size_t(dst, dsttype, src, srctype) \
462  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
463 #else /* H5_SIZEOF_UINT8_T == H5_SIZEOF_H5_STAT_SIZE_T */
464  #define ASSIGN_uint8_t_TO_h5_stat_size_t(dst, dsttype, src, srctype) \
465  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
466 #endif /* src: uint8_t dst: h5_stat_size_t */
467 
468 
469 /* Assignment checks for uint16_t */
470 
471 /* src: uint16_t, dst: unsigned */
472 #if H5_SIZEOF_UINT16_T < H5_SIZEOF_UNSIGNED
473  #define ASSIGN_uint16_t_TO_unsigned(dst, dsttype, src, srctype) \
474  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
475 #elif H5_SIZEOF_UINT16_T > H5_SIZEOF_UNSIGNED
476  #define ASSIGN_uint16_t_TO_unsigned(dst, dsttype, src, srctype) \
477  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
478 #else /* H5_SIZEOF_UINT16_T == H5_SIZEOF_UNSIGNED */
479  #define ASSIGN_uint16_t_TO_unsigned(dst, dsttype, src, srctype) \
480  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
481 #endif /* src: uint16_t dst: unsigned */
482 
483 /* src: uint16_t, dst: int */
484 #if H5_SIZEOF_UINT16_T < H5_SIZEOF_INT
485  #define ASSIGN_uint16_t_TO_int(dst, dsttype, src, srctype) \
486  ASSIGN_TO_LARGER_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
487 #elif H5_SIZEOF_UINT16_T > H5_SIZEOF_INT
488  #define ASSIGN_uint16_t_TO_int(dst, dsttype, src, srctype) \
489  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
490 #else /* H5_SIZEOF_UINT16_T == H5_SIZEOF_INT */
491  #define ASSIGN_uint16_t_TO_int(dst, dsttype, src, srctype) \
492  ASSIGN_TO_SAME_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
493 #endif /* src: uint16_t dst: int */
494 
495 /* src: uint16_t, dst: uint8_t */
496 #if H5_SIZEOF_UINT16_T < H5_SIZEOF_UINT8_T
497  #define ASSIGN_uint16_t_TO_uint8_t(dst, dsttype, src, srctype) \
498  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
499 #elif H5_SIZEOF_UINT16_T > H5_SIZEOF_UINT8_T
500  #define ASSIGN_uint16_t_TO_uint8_t(dst, dsttype, src, srctype) \
501  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
502 #else /* H5_SIZEOF_UINT16_T == H5_SIZEOF_UINT8_T */
503  #define ASSIGN_uint16_t_TO_uint8_t(dst, dsttype, src, srctype) \
504  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
505 #endif /* src: uint16_t dst: uint8_t */
506 
507 /* src: uint16_t, dst: uint32_t */
508 #if H5_SIZEOF_UINT16_T < H5_SIZEOF_UINT32_T
509  #define ASSIGN_uint16_t_TO_uint32_t(dst, dsttype, src, srctype) \
510  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
511 #elif H5_SIZEOF_UINT16_T > H5_SIZEOF_UINT32_T
512  #define ASSIGN_uint16_t_TO_uint32_t(dst, dsttype, src, srctype) \
513  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
514 #else /* H5_SIZEOF_UINT16_T == H5_SIZEOF_UINT32_T */
515  #define ASSIGN_uint16_t_TO_uint32_t(dst, dsttype, src, srctype) \
516  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
517 #endif /* src: uint16_t dst: uint32_t */
518 
519 /* src: uint16_t, dst: uint64_t */
520 #if H5_SIZEOF_UINT16_T < H5_SIZEOF_UINT64_T
521  #define ASSIGN_uint16_t_TO_uint64_t(dst, dsttype, src, srctype) \
522  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
523 #elif H5_SIZEOF_UINT16_T > H5_SIZEOF_UINT64_T
524  #define ASSIGN_uint16_t_TO_uint64_t(dst, dsttype, src, srctype) \
525  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
526 #else /* H5_SIZEOF_UINT16_T == H5_SIZEOF_UINT64_T */
527  #define ASSIGN_uint16_t_TO_uint64_t(dst, dsttype, src, srctype) \
528  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
529 #endif /* src: uint16_t dst: uint64_t */
530 
531 /* src: uint16_t, dst: ptrdiff_t */
532 #if H5_SIZEOF_UINT16_T < H5_SIZEOF_PTRDIFF_T
533  #define ASSIGN_uint16_t_TO_ptrdiff_t(dst, dsttype, src, srctype) \
534  ASSIGN_TO_LARGER_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
535 #elif H5_SIZEOF_UINT16_T > H5_SIZEOF_PTRDIFF_T
536  #define ASSIGN_uint16_t_TO_ptrdiff_t(dst, dsttype, src, srctype) \
537  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
538 #else /* H5_SIZEOF_UINT16_T == H5_SIZEOF_PTRDIFF_T */
539  #define ASSIGN_uint16_t_TO_ptrdiff_t(dst, dsttype, src, srctype) \
540  ASSIGN_TO_SAME_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
541 #endif /* src: uint16_t dst: ptrdiff_t */
542 
543 /* src: uint16_t, dst: size_t */
544 #if H5_SIZEOF_UINT16_T < H5_SIZEOF_SIZE_T
545  #define ASSIGN_uint16_t_TO_size_t(dst, dsttype, src, srctype) \
546  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
547 #elif H5_SIZEOF_UINT16_T > H5_SIZEOF_SIZE_T
548  #define ASSIGN_uint16_t_TO_size_t(dst, dsttype, src, srctype) \
549  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
550 #else /* H5_SIZEOF_UINT16_T == H5_SIZEOF_SIZE_T */
551  #define ASSIGN_uint16_t_TO_size_t(dst, dsttype, src, srctype) \
552  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
553 #endif /* src: uint16_t dst: size_t */
554 
555 /* src: uint16_t, dst: ssize_t */
556 #if H5_SIZEOF_UINT16_T < H5_SIZEOF_SSIZE_T
557  #define ASSIGN_uint16_t_TO_ssize_t(dst, dsttype, src, srctype) \
558  ASSIGN_TO_LARGER_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
559 #elif H5_SIZEOF_UINT16_T > H5_SIZEOF_SSIZE_T
560  #define ASSIGN_uint16_t_TO_ssize_t(dst, dsttype, src, srctype) \
561  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
562 #else /* H5_SIZEOF_UINT16_T == H5_SIZEOF_SSIZE_T */
563  #define ASSIGN_uint16_t_TO_ssize_t(dst, dsttype, src, srctype) \
564  ASSIGN_TO_SAME_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
565 #endif /* src: uint16_t dst: ssize_t */
566 
567 /* src: uint16_t, dst: haddr_t */
568 #if H5_SIZEOF_UINT16_T < H5_SIZEOF_HADDR_T
569  #define ASSIGN_uint16_t_TO_haddr_t(dst, dsttype, src, srctype) \
570  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
571 #elif H5_SIZEOF_UINT16_T > H5_SIZEOF_HADDR_T
572  #define ASSIGN_uint16_t_TO_haddr_t(dst, dsttype, src, srctype) \
573  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
574 #else /* H5_SIZEOF_UINT16_T == H5_SIZEOF_HADDR_T */
575  #define ASSIGN_uint16_t_TO_haddr_t(dst, dsttype, src, srctype) \
576  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
577 #endif /* src: uint16_t dst: haddr_t */
578 
579 /* src: uint16_t, dst: hsize_t */
580 #if H5_SIZEOF_UINT16_T < H5_SIZEOF_HSIZE_T
581  #define ASSIGN_uint16_t_TO_hsize_t(dst, dsttype, src, srctype) \
582  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
583 #elif H5_SIZEOF_UINT16_T > H5_SIZEOF_HSIZE_T
584  #define ASSIGN_uint16_t_TO_hsize_t(dst, dsttype, src, srctype) \
585  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
586 #else /* H5_SIZEOF_UINT16_T == H5_SIZEOF_HSIZE_T */
587  #define ASSIGN_uint16_t_TO_hsize_t(dst, dsttype, src, srctype) \
588  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
589 #endif /* src: uint16_t dst: hsize_t */
590 
591 /* src: uint16_t, dst: hssize_t */
592 #if H5_SIZEOF_UINT16_T < H5_SIZEOF_HSSIZE_T
593  #define ASSIGN_uint16_t_TO_hssize_t(dst, dsttype, src, srctype) \
594  ASSIGN_TO_LARGER_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
595 #elif H5_SIZEOF_UINT16_T > H5_SIZEOF_HSSIZE_T
596  #define ASSIGN_uint16_t_TO_hssize_t(dst, dsttype, src, srctype) \
597  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
598 #else /* H5_SIZEOF_UINT16_T == H5_SIZEOF_HSSIZE_T */
599  #define ASSIGN_uint16_t_TO_hssize_t(dst, dsttype, src, srctype) \
600  ASSIGN_TO_SAME_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
601 #endif /* src: uint16_t dst: hssize_t */
602 
603 /* src: uint16_t, dst: h5_stat_size_t */
604 #if H5_SIZEOF_UINT16_T < H5_SIZEOF_H5_STAT_SIZE_T
605  #define ASSIGN_uint16_t_TO_h5_stat_size_t(dst, dsttype, src, srctype) \
606  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
607 #elif H5_SIZEOF_UINT16_T > H5_SIZEOF_H5_STAT_SIZE_T
608  #define ASSIGN_uint16_t_TO_h5_stat_size_t(dst, dsttype, src, srctype) \
609  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
610 #else /* H5_SIZEOF_UINT16_T == H5_SIZEOF_H5_STAT_SIZE_T */
611  #define ASSIGN_uint16_t_TO_h5_stat_size_t(dst, dsttype, src, srctype) \
612  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
613 #endif /* src: uint16_t dst: h5_stat_size_t */
614 
615 
616 /* Assignment checks for uint32_t */
617 
618 /* src: uint32_t, dst: unsigned */
619 #if H5_SIZEOF_UINT32_T < H5_SIZEOF_UNSIGNED
620  #define ASSIGN_uint32_t_TO_unsigned(dst, dsttype, src, srctype) \
621  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
622 #elif H5_SIZEOF_UINT32_T > H5_SIZEOF_UNSIGNED
623  #define ASSIGN_uint32_t_TO_unsigned(dst, dsttype, src, srctype) \
624  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
625 #else /* H5_SIZEOF_UINT32_T == H5_SIZEOF_UNSIGNED */
626  #define ASSIGN_uint32_t_TO_unsigned(dst, dsttype, src, srctype) \
627  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
628 #endif /* src: uint32_t dst: unsigned */
629 
630 /* src: uint32_t, dst: int */
631 #if H5_SIZEOF_UINT32_T < H5_SIZEOF_INT
632  #define ASSIGN_uint32_t_TO_int(dst, dsttype, src, srctype) \
633  ASSIGN_TO_LARGER_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
634 #elif H5_SIZEOF_UINT32_T > H5_SIZEOF_INT
635  #define ASSIGN_uint32_t_TO_int(dst, dsttype, src, srctype) \
636  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
637 #else /* H5_SIZEOF_UINT32_T == H5_SIZEOF_INT */
638  #define ASSIGN_uint32_t_TO_int(dst, dsttype, src, srctype) \
639  ASSIGN_TO_SAME_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
640 #endif /* src: uint32_t dst: int */
641 
642 /* src: uint32_t, dst: uint8_t */
643 #if H5_SIZEOF_UINT32_T < H5_SIZEOF_UINT8_T
644  #define ASSIGN_uint32_t_TO_uint8_t(dst, dsttype, src, srctype) \
645  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
646 #elif H5_SIZEOF_UINT32_T > H5_SIZEOF_UINT8_T
647  #define ASSIGN_uint32_t_TO_uint8_t(dst, dsttype, src, srctype) \
648  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
649 #else /* H5_SIZEOF_UINT32_T == H5_SIZEOF_UINT8_T */
650  #define ASSIGN_uint32_t_TO_uint8_t(dst, dsttype, src, srctype) \
651  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
652 #endif /* src: uint32_t dst: uint8_t */
653 
654 /* src: uint32_t, dst: uint16_t */
655 #if H5_SIZEOF_UINT32_T < H5_SIZEOF_UINT16_T
656  #define ASSIGN_uint32_t_TO_uint16_t(dst, dsttype, src, srctype) \
657  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
658 #elif H5_SIZEOF_UINT32_T > H5_SIZEOF_UINT16_T
659  #define ASSIGN_uint32_t_TO_uint16_t(dst, dsttype, src, srctype) \
660  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
661 #else /* H5_SIZEOF_UINT32_T == H5_SIZEOF_UINT16_T */
662  #define ASSIGN_uint32_t_TO_uint16_t(dst, dsttype, src, srctype) \
663  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
664 #endif /* src: uint32_t dst: uint16_t */
665 
666 /* src: uint32_t, dst: uint64_t */
667 #if H5_SIZEOF_UINT32_T < H5_SIZEOF_UINT64_T
668  #define ASSIGN_uint32_t_TO_uint64_t(dst, dsttype, src, srctype) \
669  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
670 #elif H5_SIZEOF_UINT32_T > H5_SIZEOF_UINT64_T
671  #define ASSIGN_uint32_t_TO_uint64_t(dst, dsttype, src, srctype) \
672  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
673 #else /* H5_SIZEOF_UINT32_T == H5_SIZEOF_UINT64_T */
674  #define ASSIGN_uint32_t_TO_uint64_t(dst, dsttype, src, srctype) \
675  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
676 #endif /* src: uint32_t dst: uint64_t */
677 
678 /* src: uint32_t, dst: ptrdiff_t */
679 #if H5_SIZEOF_UINT32_T < H5_SIZEOF_PTRDIFF_T
680  #define ASSIGN_uint32_t_TO_ptrdiff_t(dst, dsttype, src, srctype) \
681  ASSIGN_TO_LARGER_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
682 #elif H5_SIZEOF_UINT32_T > H5_SIZEOF_PTRDIFF_T
683  #define ASSIGN_uint32_t_TO_ptrdiff_t(dst, dsttype, src, srctype) \
684  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
685 #else /* H5_SIZEOF_UINT32_T == H5_SIZEOF_PTRDIFF_T */
686  #define ASSIGN_uint32_t_TO_ptrdiff_t(dst, dsttype, src, srctype) \
687  ASSIGN_TO_SAME_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
688 #endif /* src: uint32_t dst: ptrdiff_t */
689 
690 /* src: uint32_t, dst: size_t */
691 #if H5_SIZEOF_UINT32_T < H5_SIZEOF_SIZE_T
692  #define ASSIGN_uint32_t_TO_size_t(dst, dsttype, src, srctype) \
693  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
694 #elif H5_SIZEOF_UINT32_T > H5_SIZEOF_SIZE_T
695  #define ASSIGN_uint32_t_TO_size_t(dst, dsttype, src, srctype) \
696  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
697 #else /* H5_SIZEOF_UINT32_T == H5_SIZEOF_SIZE_T */
698  #define ASSIGN_uint32_t_TO_size_t(dst, dsttype, src, srctype) \
699  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
700 #endif /* src: uint32_t dst: size_t */
701 
702 /* src: uint32_t, dst: ssize_t */
703 #if H5_SIZEOF_UINT32_T < H5_SIZEOF_SSIZE_T
704  #define ASSIGN_uint32_t_TO_ssize_t(dst, dsttype, src, srctype) \
705  ASSIGN_TO_LARGER_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
706 #elif H5_SIZEOF_UINT32_T > H5_SIZEOF_SSIZE_T
707  #define ASSIGN_uint32_t_TO_ssize_t(dst, dsttype, src, srctype) \
708  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
709 #else /* H5_SIZEOF_UINT32_T == H5_SIZEOF_SSIZE_T */
710  #define ASSIGN_uint32_t_TO_ssize_t(dst, dsttype, src, srctype) \
711  ASSIGN_TO_SAME_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
712 #endif /* src: uint32_t dst: ssize_t */
713 
714 /* src: uint32_t, dst: haddr_t */
715 #if H5_SIZEOF_UINT32_T < H5_SIZEOF_HADDR_T
716  #define ASSIGN_uint32_t_TO_haddr_t(dst, dsttype, src, srctype) \
717  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
718 #elif H5_SIZEOF_UINT32_T > H5_SIZEOF_HADDR_T
719  #define ASSIGN_uint32_t_TO_haddr_t(dst, dsttype, src, srctype) \
720  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
721 #else /* H5_SIZEOF_UINT32_T == H5_SIZEOF_HADDR_T */
722  #define ASSIGN_uint32_t_TO_haddr_t(dst, dsttype, src, srctype) \
723  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
724 #endif /* src: uint32_t dst: haddr_t */
725 
726 /* src: uint32_t, dst: hsize_t */
727 #if H5_SIZEOF_UINT32_T < H5_SIZEOF_HSIZE_T
728  #define ASSIGN_uint32_t_TO_hsize_t(dst, dsttype, src, srctype) \
729  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
730 #elif H5_SIZEOF_UINT32_T > H5_SIZEOF_HSIZE_T
731  #define ASSIGN_uint32_t_TO_hsize_t(dst, dsttype, src, srctype) \
732  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
733 #else /* H5_SIZEOF_UINT32_T == H5_SIZEOF_HSIZE_T */
734  #define ASSIGN_uint32_t_TO_hsize_t(dst, dsttype, src, srctype) \
735  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
736 #endif /* src: uint32_t dst: hsize_t */
737 
738 /* src: uint32_t, dst: hssize_t */
739 #if H5_SIZEOF_UINT32_T < H5_SIZEOF_HSSIZE_T
740  #define ASSIGN_uint32_t_TO_hssize_t(dst, dsttype, src, srctype) \
741  ASSIGN_TO_LARGER_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
742 #elif H5_SIZEOF_UINT32_T > H5_SIZEOF_HSSIZE_T
743  #define ASSIGN_uint32_t_TO_hssize_t(dst, dsttype, src, srctype) \
744  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
745 #else /* H5_SIZEOF_UINT32_T == H5_SIZEOF_HSSIZE_T */
746  #define ASSIGN_uint32_t_TO_hssize_t(dst, dsttype, src, srctype) \
747  ASSIGN_TO_SAME_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
748 #endif /* src: uint32_t dst: hssize_t */
749 
750 /* src: uint32_t, dst: h5_stat_size_t */
751 #if H5_SIZEOF_UINT32_T < H5_SIZEOF_H5_STAT_SIZE_T
752  #define ASSIGN_uint32_t_TO_h5_stat_size_t(dst, dsttype, src, srctype) \
753  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
754 #elif H5_SIZEOF_UINT32_T > H5_SIZEOF_H5_STAT_SIZE_T
755  #define ASSIGN_uint32_t_TO_h5_stat_size_t(dst, dsttype, src, srctype) \
756  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
757 #else /* H5_SIZEOF_UINT32_T == H5_SIZEOF_H5_STAT_SIZE_T */
758  #define ASSIGN_uint32_t_TO_h5_stat_size_t(dst, dsttype, src, srctype) \
759  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
760 #endif /* src: uint32_t dst: h5_stat_size_t */
761 
762 
763 /* Assignment checks for uint64_t */
764 
765 /* src: uint64_t, dst: unsigned */
766 #if H5_SIZEOF_UINT64_T < H5_SIZEOF_UNSIGNED
767  #define ASSIGN_uint64_t_TO_unsigned(dst, dsttype, src, srctype) \
768  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
769 #elif H5_SIZEOF_UINT64_T > H5_SIZEOF_UNSIGNED
770  #define ASSIGN_uint64_t_TO_unsigned(dst, dsttype, src, srctype) \
771  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
772 #else /* H5_SIZEOF_UINT64_T == H5_SIZEOF_UNSIGNED */
773  #define ASSIGN_uint64_t_TO_unsigned(dst, dsttype, src, srctype) \
774  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
775 #endif /* src: uint64_t dst: unsigned */
776 
777 /* src: uint64_t, dst: int */
778 #if H5_SIZEOF_UINT64_T < H5_SIZEOF_INT
779  #define ASSIGN_uint64_t_TO_int(dst, dsttype, src, srctype) \
780  ASSIGN_TO_LARGER_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
781 #elif H5_SIZEOF_UINT64_T > H5_SIZEOF_INT
782  #define ASSIGN_uint64_t_TO_int(dst, dsttype, src, srctype) \
783  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
784 #else /* H5_SIZEOF_UINT64_T == H5_SIZEOF_INT */
785  #define ASSIGN_uint64_t_TO_int(dst, dsttype, src, srctype) \
786  ASSIGN_TO_SAME_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
787 #endif /* src: uint64_t dst: int */
788 
789 /* src: uint64_t, dst: uint8_t */
790 #if H5_SIZEOF_UINT64_T < H5_SIZEOF_UINT8_T
791  #define ASSIGN_uint64_t_TO_uint8_t(dst, dsttype, src, srctype) \
792  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
793 #elif H5_SIZEOF_UINT64_T > H5_SIZEOF_UINT8_T
794  #define ASSIGN_uint64_t_TO_uint8_t(dst, dsttype, src, srctype) \
795  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
796 #else /* H5_SIZEOF_UINT64_T == H5_SIZEOF_UINT8_T */
797  #define ASSIGN_uint64_t_TO_uint8_t(dst, dsttype, src, srctype) \
798  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
799 #endif /* src: uint64_t dst: uint8_t */
800 
801 /* src: uint64_t, dst: uint16_t */
802 #if H5_SIZEOF_UINT64_T < H5_SIZEOF_UINT16_T
803  #define ASSIGN_uint64_t_TO_uint16_t(dst, dsttype, src, srctype) \
804  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
805 #elif H5_SIZEOF_UINT64_T > H5_SIZEOF_UINT16_T
806  #define ASSIGN_uint64_t_TO_uint16_t(dst, dsttype, src, srctype) \
807  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
808 #else /* H5_SIZEOF_UINT64_T == H5_SIZEOF_UINT16_T */
809  #define ASSIGN_uint64_t_TO_uint16_t(dst, dsttype, src, srctype) \
810  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
811 #endif /* src: uint64_t dst: uint16_t */
812 
813 /* src: uint64_t, dst: uint32_t */
814 #if H5_SIZEOF_UINT64_T < H5_SIZEOF_UINT32_T
815  #define ASSIGN_uint64_t_TO_uint32_t(dst, dsttype, src, srctype) \
816  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
817 #elif H5_SIZEOF_UINT64_T > H5_SIZEOF_UINT32_T
818  #define ASSIGN_uint64_t_TO_uint32_t(dst, dsttype, src, srctype) \
819  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
820 #else /* H5_SIZEOF_UINT64_T == H5_SIZEOF_UINT32_T */
821  #define ASSIGN_uint64_t_TO_uint32_t(dst, dsttype, src, srctype) \
822  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
823 #endif /* src: uint64_t dst: uint32_t */
824 
825 /* src: uint64_t, dst: ptrdiff_t */
826 #if H5_SIZEOF_UINT64_T < H5_SIZEOF_PTRDIFF_T
827  #define ASSIGN_uint64_t_TO_ptrdiff_t(dst, dsttype, src, srctype) \
828  ASSIGN_TO_LARGER_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
829 #elif H5_SIZEOF_UINT64_T > H5_SIZEOF_PTRDIFF_T
830  #define ASSIGN_uint64_t_TO_ptrdiff_t(dst, dsttype, src, srctype) \
831  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
832 #else /* H5_SIZEOF_UINT64_T == H5_SIZEOF_PTRDIFF_T */
833  #define ASSIGN_uint64_t_TO_ptrdiff_t(dst, dsttype, src, srctype) \
834  ASSIGN_TO_SAME_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
835 #endif /* src: uint64_t dst: ptrdiff_t */
836 
837 /* src: uint64_t, dst: size_t */
838 #if H5_SIZEOF_UINT64_T < H5_SIZEOF_SIZE_T
839  #define ASSIGN_uint64_t_TO_size_t(dst, dsttype, src, srctype) \
840  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
841 #elif H5_SIZEOF_UINT64_T > H5_SIZEOF_SIZE_T
842  #define ASSIGN_uint64_t_TO_size_t(dst, dsttype, src, srctype) \
843  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
844 #else /* H5_SIZEOF_UINT64_T == H5_SIZEOF_SIZE_T */
845  #define ASSIGN_uint64_t_TO_size_t(dst, dsttype, src, srctype) \
846  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
847 #endif /* src: uint64_t dst: size_t */
848 
849 /* src: uint64_t, dst: ssize_t */
850 #if H5_SIZEOF_UINT64_T < H5_SIZEOF_SSIZE_T
851  #define ASSIGN_uint64_t_TO_ssize_t(dst, dsttype, src, srctype) \
852  ASSIGN_TO_LARGER_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
853 #elif H5_SIZEOF_UINT64_T > H5_SIZEOF_SSIZE_T
854  #define ASSIGN_uint64_t_TO_ssize_t(dst, dsttype, src, srctype) \
855  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
856 #else /* H5_SIZEOF_UINT64_T == H5_SIZEOF_SSIZE_T */
857  #define ASSIGN_uint64_t_TO_ssize_t(dst, dsttype, src, srctype) \
858  ASSIGN_TO_SAME_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
859 #endif /* src: uint64_t dst: ssize_t */
860 
861 /* src: uint64_t, dst: haddr_t */
862 #if H5_SIZEOF_UINT64_T < H5_SIZEOF_HADDR_T
863  #define ASSIGN_uint64_t_TO_haddr_t(dst, dsttype, src, srctype) \
864  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
865 #elif H5_SIZEOF_UINT64_T > H5_SIZEOF_HADDR_T
866  #define ASSIGN_uint64_t_TO_haddr_t(dst, dsttype, src, srctype) \
867  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
868 #else /* H5_SIZEOF_UINT64_T == H5_SIZEOF_HADDR_T */
869  #define ASSIGN_uint64_t_TO_haddr_t(dst, dsttype, src, srctype) \
870  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
871 #endif /* src: uint64_t dst: haddr_t */
872 
873 /* src: uint64_t, dst: hsize_t */
874 #if H5_SIZEOF_UINT64_T < H5_SIZEOF_HSIZE_T
875  #define ASSIGN_uint64_t_TO_hsize_t(dst, dsttype, src, srctype) \
876  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
877 #elif H5_SIZEOF_UINT64_T > H5_SIZEOF_HSIZE_T
878  #define ASSIGN_uint64_t_TO_hsize_t(dst, dsttype, src, srctype) \
879  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
880 #else /* H5_SIZEOF_UINT64_T == H5_SIZEOF_HSIZE_T */
881  #define ASSIGN_uint64_t_TO_hsize_t(dst, dsttype, src, srctype) \
882  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
883 #endif /* src: uint64_t dst: hsize_t */
884 
885 /* src: uint64_t, dst: hssize_t */
886 #if H5_SIZEOF_UINT64_T < H5_SIZEOF_HSSIZE_T
887  #define ASSIGN_uint64_t_TO_hssize_t(dst, dsttype, src, srctype) \
888  ASSIGN_TO_LARGER_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
889 #elif H5_SIZEOF_UINT64_T > H5_SIZEOF_HSSIZE_T
890  #define ASSIGN_uint64_t_TO_hssize_t(dst, dsttype, src, srctype) \
891  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
892 #else /* H5_SIZEOF_UINT64_T == H5_SIZEOF_HSSIZE_T */
893  #define ASSIGN_uint64_t_TO_hssize_t(dst, dsttype, src, srctype) \
894  ASSIGN_TO_SAME_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
895 #endif /* src: uint64_t dst: hssize_t */
896 
897 /* src: uint64_t, dst: h5_stat_size_t */
898 #if H5_SIZEOF_UINT64_T < H5_SIZEOF_H5_STAT_SIZE_T
899  #define ASSIGN_uint64_t_TO_h5_stat_size_t(dst, dsttype, src, srctype) \
900  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
901 #elif H5_SIZEOF_UINT64_T > H5_SIZEOF_H5_STAT_SIZE_T
902  #define ASSIGN_uint64_t_TO_h5_stat_size_t(dst, dsttype, src, srctype) \
903  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
904 #else /* H5_SIZEOF_UINT64_T == H5_SIZEOF_H5_STAT_SIZE_T */
905  #define ASSIGN_uint64_t_TO_h5_stat_size_t(dst, dsttype, src, srctype) \
906  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
907 #endif /* src: uint64_t dst: h5_stat_size_t */
908 
909 
910 /* Assignment checks for ptrdiff_t */
911 
912 /* src: ptrdiff_t, dst: unsigned */
913 #if H5_SIZEOF_PTRDIFF_T < H5_SIZEOF_UNSIGNED
914  #define ASSIGN_ptrdiff_t_TO_unsigned(dst, dsttype, src, srctype) \
915  ASSIGN_TO_LARGER_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
916 #elif H5_SIZEOF_PTRDIFF_T > H5_SIZEOF_UNSIGNED
917  #define ASSIGN_ptrdiff_t_TO_unsigned(dst, dsttype, src, srctype) \
918  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
919 #else /* H5_SIZEOF_PTRDIFF_T == H5_SIZEOF_UNSIGNED */
920  #define ASSIGN_ptrdiff_t_TO_unsigned(dst, dsttype, src, srctype) \
921  ASSIGN_TO_SAME_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
922 #endif /* src: ptrdiff_t dst: unsigned */
923 
924 /* src: ptrdiff_t, dst: int */
925 #if H5_SIZEOF_PTRDIFF_T < H5_SIZEOF_INT
926  #define ASSIGN_ptrdiff_t_TO_int(dst, dsttype, src, srctype) \
927  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
928 #elif H5_SIZEOF_PTRDIFF_T > H5_SIZEOF_INT
929  #define ASSIGN_ptrdiff_t_TO_int(dst, dsttype, src, srctype) \
930  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
931 #else /* H5_SIZEOF_PTRDIFF_T == H5_SIZEOF_INT */
932  #define ASSIGN_ptrdiff_t_TO_int(dst, dsttype, src, srctype) \
933  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
934 #endif /* src: ptrdiff_t dst: int */
935 
936 /* src: ptrdiff_t, dst: uint8_t */
937 #if H5_SIZEOF_PTRDIFF_T < H5_SIZEOF_UINT8_T
938  #define ASSIGN_ptrdiff_t_TO_uint8_t(dst, dsttype, src, srctype) \
939  ASSIGN_TO_LARGER_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
940 #elif H5_SIZEOF_PTRDIFF_T > H5_SIZEOF_UINT8_T
941  #define ASSIGN_ptrdiff_t_TO_uint8_t(dst, dsttype, src, srctype) \
942  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
943 #else /* H5_SIZEOF_PTRDIFF_T == H5_SIZEOF_UINT8_T */
944  #define ASSIGN_ptrdiff_t_TO_uint8_t(dst, dsttype, src, srctype) \
945  ASSIGN_TO_SAME_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
946 #endif /* src: ptrdiff_t dst: uint8_t */
947 
948 /* src: ptrdiff_t, dst: uint16_t */
949 #if H5_SIZEOF_PTRDIFF_T < H5_SIZEOF_UINT16_T
950  #define ASSIGN_ptrdiff_t_TO_uint16_t(dst, dsttype, src, srctype) \
951  ASSIGN_TO_LARGER_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
952 #elif H5_SIZEOF_PTRDIFF_T > H5_SIZEOF_UINT16_T
953  #define ASSIGN_ptrdiff_t_TO_uint16_t(dst, dsttype, src, srctype) \
954  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
955 #else /* H5_SIZEOF_PTRDIFF_T == H5_SIZEOF_UINT16_T */
956  #define ASSIGN_ptrdiff_t_TO_uint16_t(dst, dsttype, src, srctype) \
957  ASSIGN_TO_SAME_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
958 #endif /* src: ptrdiff_t dst: uint16_t */
959 
960 /* src: ptrdiff_t, dst: uint32_t */
961 #if H5_SIZEOF_PTRDIFF_T < H5_SIZEOF_UINT32_T
962  #define ASSIGN_ptrdiff_t_TO_uint32_t(dst, dsttype, src, srctype) \
963  ASSIGN_TO_LARGER_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
964 #elif H5_SIZEOF_PTRDIFF_T > H5_SIZEOF_UINT32_T
965  #define ASSIGN_ptrdiff_t_TO_uint32_t(dst, dsttype, src, srctype) \
966  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
967 #else /* H5_SIZEOF_PTRDIFF_T == H5_SIZEOF_UINT32_T */
968  #define ASSIGN_ptrdiff_t_TO_uint32_t(dst, dsttype, src, srctype) \
969  ASSIGN_TO_SAME_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
970 #endif /* src: ptrdiff_t dst: uint32_t */
971 
972 /* src: ptrdiff_t, dst: uint64_t */
973 #if H5_SIZEOF_PTRDIFF_T < H5_SIZEOF_UINT64_T
974  #define ASSIGN_ptrdiff_t_TO_uint64_t(dst, dsttype, src, srctype) \
975  ASSIGN_TO_LARGER_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
976 #elif H5_SIZEOF_PTRDIFF_T > H5_SIZEOF_UINT64_T
977  #define ASSIGN_ptrdiff_t_TO_uint64_t(dst, dsttype, src, srctype) \
978  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
979 #else /* H5_SIZEOF_PTRDIFF_T == H5_SIZEOF_UINT64_T */
980  #define ASSIGN_ptrdiff_t_TO_uint64_t(dst, dsttype, src, srctype) \
981  ASSIGN_TO_SAME_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
982 #endif /* src: ptrdiff_t dst: uint64_t */
983 
984 /* src: ptrdiff_t, dst: size_t */
985 #if H5_SIZEOF_PTRDIFF_T < H5_SIZEOF_SIZE_T
986  #define ASSIGN_ptrdiff_t_TO_size_t(dst, dsttype, src, srctype) \
987  ASSIGN_TO_LARGER_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
988 #elif H5_SIZEOF_PTRDIFF_T > H5_SIZEOF_SIZE_T
989  #define ASSIGN_ptrdiff_t_TO_size_t(dst, dsttype, src, srctype) \
990  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
991 #else /* H5_SIZEOF_PTRDIFF_T == H5_SIZEOF_SIZE_T */
992  #define ASSIGN_ptrdiff_t_TO_size_t(dst, dsttype, src, srctype) \
993  ASSIGN_TO_SAME_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
994 #endif /* src: ptrdiff_t dst: size_t */
995 
996 /* src: ptrdiff_t, dst: ssize_t */
997 #if H5_SIZEOF_PTRDIFF_T < H5_SIZEOF_SSIZE_T
998  #define ASSIGN_ptrdiff_t_TO_ssize_t(dst, dsttype, src, srctype) \
999  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1000 #elif H5_SIZEOF_PTRDIFF_T > H5_SIZEOF_SSIZE_T
1001  #define ASSIGN_ptrdiff_t_TO_ssize_t(dst, dsttype, src, srctype) \
1002  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1003 #else /* H5_SIZEOF_PTRDIFF_T == H5_SIZEOF_SSIZE_T */
1004  #define ASSIGN_ptrdiff_t_TO_ssize_t(dst, dsttype, src, srctype) \
1005  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1006 #endif /* src: ptrdiff_t dst: ssize_t */
1007 
1008 /* src: ptrdiff_t, dst: haddr_t */
1009 #if H5_SIZEOF_PTRDIFF_T < H5_SIZEOF_HADDR_T
1010  #define ASSIGN_ptrdiff_t_TO_haddr_t(dst, dsttype, src, srctype) \
1011  ASSIGN_TO_LARGER_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
1012 #elif H5_SIZEOF_PTRDIFF_T > H5_SIZEOF_HADDR_T
1013  #define ASSIGN_ptrdiff_t_TO_haddr_t(dst, dsttype, src, srctype) \
1014  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1015 #else /* H5_SIZEOF_PTRDIFF_T == H5_SIZEOF_HADDR_T */
1016  #define ASSIGN_ptrdiff_t_TO_haddr_t(dst, dsttype, src, srctype) \
1017  ASSIGN_TO_SAME_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
1018 #endif /* src: ptrdiff_t dst: haddr_t */
1019 
1020 /* src: ptrdiff_t, dst: hsize_t */
1021 #if H5_SIZEOF_PTRDIFF_T < H5_SIZEOF_HSIZE_T
1022  #define ASSIGN_ptrdiff_t_TO_hsize_t(dst, dsttype, src, srctype) \
1023  ASSIGN_TO_LARGER_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
1024 #elif H5_SIZEOF_PTRDIFF_T > H5_SIZEOF_HSIZE_T
1025  #define ASSIGN_ptrdiff_t_TO_hsize_t(dst, dsttype, src, srctype) \
1026  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1027 #else /* H5_SIZEOF_PTRDIFF_T == H5_SIZEOF_HSIZE_T */
1028  #define ASSIGN_ptrdiff_t_TO_hsize_t(dst, dsttype, src, srctype) \
1029  ASSIGN_TO_SAME_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
1030 #endif /* src: ptrdiff_t dst: hsize_t */
1031 
1032 /* src: ptrdiff_t, dst: hssize_t */
1033 #if H5_SIZEOF_PTRDIFF_T < H5_SIZEOF_HSSIZE_T
1034  #define ASSIGN_ptrdiff_t_TO_hssize_t(dst, dsttype, src, srctype) \
1035  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1036 #elif H5_SIZEOF_PTRDIFF_T > H5_SIZEOF_HSSIZE_T
1037  #define ASSIGN_ptrdiff_t_TO_hssize_t(dst, dsttype, src, srctype) \
1038  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1039 #else /* H5_SIZEOF_PTRDIFF_T == H5_SIZEOF_HSSIZE_T */
1040  #define ASSIGN_ptrdiff_t_TO_hssize_t(dst, dsttype, src, srctype) \
1041  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1042 #endif /* src: ptrdiff_t dst: hssize_t */
1043 
1044 /* src: ptrdiff_t, dst: h5_stat_size_t */
1045 #if H5_SIZEOF_PTRDIFF_T < H5_SIZEOF_H5_STAT_SIZE_T
1046  #define ASSIGN_ptrdiff_t_TO_h5_stat_size_t(dst, dsttype, src, srctype) \
1047  ASSIGN_TO_LARGER_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
1048 #elif H5_SIZEOF_PTRDIFF_T > H5_SIZEOF_H5_STAT_SIZE_T
1049  #define ASSIGN_ptrdiff_t_TO_h5_stat_size_t(dst, dsttype, src, srctype) \
1050  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1051 #else /* H5_SIZEOF_PTRDIFF_T == H5_SIZEOF_H5_STAT_SIZE_T */
1052  #define ASSIGN_ptrdiff_t_TO_h5_stat_size_t(dst, dsttype, src, srctype) \
1053  ASSIGN_TO_SAME_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
1054 #endif /* src: ptrdiff_t dst: h5_stat_size_t */
1055 
1056 
1057 /* Assignment checks for size_t */
1058 
1059 /* src: size_t, dst: unsigned */
1060 #if H5_SIZEOF_SIZE_T < H5_SIZEOF_UNSIGNED
1061  #define ASSIGN_size_t_TO_unsigned(dst, dsttype, src, srctype) \
1062  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1063 #elif H5_SIZEOF_SIZE_T > H5_SIZEOF_UNSIGNED
1064  #define ASSIGN_size_t_TO_unsigned(dst, dsttype, src, srctype) \
1065  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1066 #else /* H5_SIZEOF_SIZE_T == H5_SIZEOF_UNSIGNED */
1067  #define ASSIGN_size_t_TO_unsigned(dst, dsttype, src, srctype) \
1068  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1069 #endif /* src: size_t dst: unsigned */
1070 
1071 /* src: size_t, dst: int */
1072 #if H5_SIZEOF_SIZE_T < H5_SIZEOF_INT
1073  #define ASSIGN_size_t_TO_int(dst, dsttype, src, srctype) \
1074  ASSIGN_TO_LARGER_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
1075 #elif H5_SIZEOF_SIZE_T > H5_SIZEOF_INT
1076  #define ASSIGN_size_t_TO_int(dst, dsttype, src, srctype) \
1077  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1078 #else /* H5_SIZEOF_SIZE_T == H5_SIZEOF_INT */
1079  #define ASSIGN_size_t_TO_int(dst, dsttype, src, srctype) \
1080  ASSIGN_TO_SAME_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
1081 #endif /* src: size_t dst: int */
1082 
1083 /* src: size_t, dst: uint8_t */
1084 #if H5_SIZEOF_SIZE_T < H5_SIZEOF_UINT8_T
1085  #define ASSIGN_size_t_TO_uint8_t(dst, dsttype, src, srctype) \
1086  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1087 #elif H5_SIZEOF_SIZE_T > H5_SIZEOF_UINT8_T
1088  #define ASSIGN_size_t_TO_uint8_t(dst, dsttype, src, srctype) \
1089  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1090 #else /* H5_SIZEOF_SIZE_T == H5_SIZEOF_UINT8_T */
1091  #define ASSIGN_size_t_TO_uint8_t(dst, dsttype, src, srctype) \
1092  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1093 #endif /* src: size_t dst: uint8_t */
1094 
1095 /* src: size_t, dst: uint16_t */
1096 #if H5_SIZEOF_SIZE_T < H5_SIZEOF_UINT16_T
1097  #define ASSIGN_size_t_TO_uint16_t(dst, dsttype, src, srctype) \
1098  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1099 #elif H5_SIZEOF_SIZE_T > H5_SIZEOF_UINT16_T
1100  #define ASSIGN_size_t_TO_uint16_t(dst, dsttype, src, srctype) \
1101  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1102 #else /* H5_SIZEOF_SIZE_T == H5_SIZEOF_UINT16_T */
1103  #define ASSIGN_size_t_TO_uint16_t(dst, dsttype, src, srctype) \
1104  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1105 #endif /* src: size_t dst: uint16_t */
1106 
1107 /* src: size_t, dst: uint32_t */
1108 #if H5_SIZEOF_SIZE_T < H5_SIZEOF_UINT32_T
1109  #define ASSIGN_size_t_TO_uint32_t(dst, dsttype, src, srctype) \
1110  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1111 #elif H5_SIZEOF_SIZE_T > H5_SIZEOF_UINT32_T
1112  #define ASSIGN_size_t_TO_uint32_t(dst, dsttype, src, srctype) \
1113  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1114 #else /* H5_SIZEOF_SIZE_T == H5_SIZEOF_UINT32_T */
1115  #define ASSIGN_size_t_TO_uint32_t(dst, dsttype, src, srctype) \
1116  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1117 #endif /* src: size_t dst: uint32_t */
1118 
1119 /* src: size_t, dst: uint64_t */
1120 #if H5_SIZEOF_SIZE_T < H5_SIZEOF_UINT64_T
1121  #define ASSIGN_size_t_TO_uint64_t(dst, dsttype, src, srctype) \
1122  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1123 #elif H5_SIZEOF_SIZE_T > H5_SIZEOF_UINT64_T
1124  #define ASSIGN_size_t_TO_uint64_t(dst, dsttype, src, srctype) \
1125  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1126 #else /* H5_SIZEOF_SIZE_T == H5_SIZEOF_UINT64_T */
1127  #define ASSIGN_size_t_TO_uint64_t(dst, dsttype, src, srctype) \
1128  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1129 #endif /* src: size_t dst: uint64_t */
1130 
1131 /* src: size_t, dst: ptrdiff_t */
1132 #if H5_SIZEOF_SIZE_T < H5_SIZEOF_PTRDIFF_T
1133  #define ASSIGN_size_t_TO_ptrdiff_t(dst, dsttype, src, srctype) \
1134  ASSIGN_TO_LARGER_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
1135 #elif H5_SIZEOF_SIZE_T > H5_SIZEOF_PTRDIFF_T
1136  #define ASSIGN_size_t_TO_ptrdiff_t(dst, dsttype, src, srctype) \
1137  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1138 #else /* H5_SIZEOF_SIZE_T == H5_SIZEOF_PTRDIFF_T */
1139  #define ASSIGN_size_t_TO_ptrdiff_t(dst, dsttype, src, srctype) \
1140  ASSIGN_TO_SAME_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
1141 #endif /* src: size_t dst: ptrdiff_t */
1142 
1143 /* src: size_t, dst: ssize_t */
1144 #if H5_SIZEOF_SIZE_T < H5_SIZEOF_SSIZE_T
1145  #define ASSIGN_size_t_TO_ssize_t(dst, dsttype, src, srctype) \
1146  ASSIGN_TO_LARGER_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
1147 #elif H5_SIZEOF_SIZE_T > H5_SIZEOF_SSIZE_T
1148  #define ASSIGN_size_t_TO_ssize_t(dst, dsttype, src, srctype) \
1149  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1150 #else /* H5_SIZEOF_SIZE_T == H5_SIZEOF_SSIZE_T */
1151  #define ASSIGN_size_t_TO_ssize_t(dst, dsttype, src, srctype) \
1152  ASSIGN_TO_SAME_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
1153 #endif /* src: size_t dst: ssize_t */
1154 
1155 /* src: size_t, dst: haddr_t */
1156 #if H5_SIZEOF_SIZE_T < H5_SIZEOF_HADDR_T
1157  #define ASSIGN_size_t_TO_haddr_t(dst, dsttype, src, srctype) \
1158  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1159 #elif H5_SIZEOF_SIZE_T > H5_SIZEOF_HADDR_T
1160  #define ASSIGN_size_t_TO_haddr_t(dst, dsttype, src, srctype) \
1161  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1162 #else /* H5_SIZEOF_SIZE_T == H5_SIZEOF_HADDR_T */
1163  #define ASSIGN_size_t_TO_haddr_t(dst, dsttype, src, srctype) \
1164  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1165 #endif /* src: size_t dst: haddr_t */
1166 
1167 /* src: size_t, dst: hsize_t */
1168 #if H5_SIZEOF_SIZE_T < H5_SIZEOF_HSIZE_T
1169  #define ASSIGN_size_t_TO_hsize_t(dst, dsttype, src, srctype) \
1170  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1171 #elif H5_SIZEOF_SIZE_T > H5_SIZEOF_HSIZE_T
1172  #define ASSIGN_size_t_TO_hsize_t(dst, dsttype, src, srctype) \
1173  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1174 #else /* H5_SIZEOF_SIZE_T == H5_SIZEOF_HSIZE_T */
1175  #define ASSIGN_size_t_TO_hsize_t(dst, dsttype, src, srctype) \
1176  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1177 #endif /* src: size_t dst: hsize_t */
1178 
1179 /* src: size_t, dst: hssize_t */
1180 #if H5_SIZEOF_SIZE_T < H5_SIZEOF_HSSIZE_T
1181  #define ASSIGN_size_t_TO_hssize_t(dst, dsttype, src, srctype) \
1182  ASSIGN_TO_LARGER_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
1183 #elif H5_SIZEOF_SIZE_T > H5_SIZEOF_HSSIZE_T
1184  #define ASSIGN_size_t_TO_hssize_t(dst, dsttype, src, srctype) \
1185  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1186 #else /* H5_SIZEOF_SIZE_T == H5_SIZEOF_HSSIZE_T */
1187  #define ASSIGN_size_t_TO_hssize_t(dst, dsttype, src, srctype) \
1188  ASSIGN_TO_SAME_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
1189 #endif /* src: size_t dst: hssize_t */
1190 
1191 /* src: size_t, dst: h5_stat_size_t */
1192 #if H5_SIZEOF_SIZE_T < H5_SIZEOF_H5_STAT_SIZE_T
1193  #define ASSIGN_size_t_TO_h5_stat_size_t(dst, dsttype, src, srctype) \
1194  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1195 #elif H5_SIZEOF_SIZE_T > H5_SIZEOF_H5_STAT_SIZE_T
1196  #define ASSIGN_size_t_TO_h5_stat_size_t(dst, dsttype, src, srctype) \
1197  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1198 #else /* H5_SIZEOF_SIZE_T == H5_SIZEOF_H5_STAT_SIZE_T */
1199  #define ASSIGN_size_t_TO_h5_stat_size_t(dst, dsttype, src, srctype) \
1200  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1201 #endif /* src: size_t dst: h5_stat_size_t */
1202 
1203 
1204 /* Assignment checks for ssize_t */
1205 
1206 /* src: ssize_t, dst: unsigned */
1207 #if H5_SIZEOF_SSIZE_T < H5_SIZEOF_UNSIGNED
1208  #define ASSIGN_ssize_t_TO_unsigned(dst, dsttype, src, srctype) \
1209  ASSIGN_TO_LARGER_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
1210 #elif H5_SIZEOF_SSIZE_T > H5_SIZEOF_UNSIGNED
1211  #define ASSIGN_ssize_t_TO_unsigned(dst, dsttype, src, srctype) \
1212  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1213 #else /* H5_SIZEOF_SSIZE_T == H5_SIZEOF_UNSIGNED */
1214  #define ASSIGN_ssize_t_TO_unsigned(dst, dsttype, src, srctype) \
1215  ASSIGN_TO_SAME_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
1216 #endif /* src: ssize_t dst: unsigned */
1217 
1218 /* src: ssize_t, dst: int */
1219 #if H5_SIZEOF_SSIZE_T < H5_SIZEOF_INT
1220  #define ASSIGN_ssize_t_TO_int(dst, dsttype, src, srctype) \
1221  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1222 #elif H5_SIZEOF_SSIZE_T > H5_SIZEOF_INT
1223  #define ASSIGN_ssize_t_TO_int(dst, dsttype, src, srctype) \
1224  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1225 #else /* H5_SIZEOF_SSIZE_T == H5_SIZEOF_INT */
1226  #define ASSIGN_ssize_t_TO_int(dst, dsttype, src, srctype) \
1227  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1228 #endif /* src: ssize_t dst: int */
1229 
1230 /* src: ssize_t, dst: uint8_t */
1231 #if H5_SIZEOF_SSIZE_T < H5_SIZEOF_UINT8_T
1232  #define ASSIGN_ssize_t_TO_uint8_t(dst, dsttype, src, srctype) \
1233  ASSIGN_TO_LARGER_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
1234 #elif H5_SIZEOF_SSIZE_T > H5_SIZEOF_UINT8_T
1235  #define ASSIGN_ssize_t_TO_uint8_t(dst, dsttype, src, srctype) \
1236  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1237 #else /* H5_SIZEOF_SSIZE_T == H5_SIZEOF_UINT8_T */
1238  #define ASSIGN_ssize_t_TO_uint8_t(dst, dsttype, src, srctype) \
1239  ASSIGN_TO_SAME_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
1240 #endif /* src: ssize_t dst: uint8_t */
1241 
1242 /* src: ssize_t, dst: uint16_t */
1243 #if H5_SIZEOF_SSIZE_T < H5_SIZEOF_UINT16_T
1244  #define ASSIGN_ssize_t_TO_uint16_t(dst, dsttype, src, srctype) \
1245  ASSIGN_TO_LARGER_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
1246 #elif H5_SIZEOF_SSIZE_T > H5_SIZEOF_UINT16_T
1247  #define ASSIGN_ssize_t_TO_uint16_t(dst, dsttype, src, srctype) \
1248  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1249 #else /* H5_SIZEOF_SSIZE_T == H5_SIZEOF_UINT16_T */
1250  #define ASSIGN_ssize_t_TO_uint16_t(dst, dsttype, src, srctype) \
1251  ASSIGN_TO_SAME_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
1252 #endif /* src: ssize_t dst: uint16_t */
1253 
1254 /* src: ssize_t, dst: uint32_t */
1255 #if H5_SIZEOF_SSIZE_T < H5_SIZEOF_UINT32_T
1256  #define ASSIGN_ssize_t_TO_uint32_t(dst, dsttype, src, srctype) \
1257  ASSIGN_TO_LARGER_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
1258 #elif H5_SIZEOF_SSIZE_T > H5_SIZEOF_UINT32_T
1259  #define ASSIGN_ssize_t_TO_uint32_t(dst, dsttype, src, srctype) \
1260  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1261 #else /* H5_SIZEOF_SSIZE_T == H5_SIZEOF_UINT32_T */
1262  #define ASSIGN_ssize_t_TO_uint32_t(dst, dsttype, src, srctype) \
1263  ASSIGN_TO_SAME_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
1264 #endif /* src: ssize_t dst: uint32_t */
1265 
1266 /* src: ssize_t, dst: uint64_t */
1267 #if H5_SIZEOF_SSIZE_T < H5_SIZEOF_UINT64_T
1268  #define ASSIGN_ssize_t_TO_uint64_t(dst, dsttype, src, srctype) \
1269  ASSIGN_TO_LARGER_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
1270 #elif H5_SIZEOF_SSIZE_T > H5_SIZEOF_UINT64_T
1271  #define ASSIGN_ssize_t_TO_uint64_t(dst, dsttype, src, srctype) \
1272  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1273 #else /* H5_SIZEOF_SSIZE_T == H5_SIZEOF_UINT64_T */
1274  #define ASSIGN_ssize_t_TO_uint64_t(dst, dsttype, src, srctype) \
1275  ASSIGN_TO_SAME_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
1276 #endif /* src: ssize_t dst: uint64_t */
1277 
1278 /* src: ssize_t, dst: ptrdiff_t */
1279 #if H5_SIZEOF_SSIZE_T < H5_SIZEOF_PTRDIFF_T
1280  #define ASSIGN_ssize_t_TO_ptrdiff_t(dst, dsttype, src, srctype) \
1281  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1282 #elif H5_SIZEOF_SSIZE_T > H5_SIZEOF_PTRDIFF_T
1283  #define ASSIGN_ssize_t_TO_ptrdiff_t(dst, dsttype, src, srctype) \
1284  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1285 #else /* H5_SIZEOF_SSIZE_T == H5_SIZEOF_PTRDIFF_T */
1286  #define ASSIGN_ssize_t_TO_ptrdiff_t(dst, dsttype, src, srctype) \
1287  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1288 #endif /* src: ssize_t dst: ptrdiff_t */
1289 
1290 /* src: ssize_t, dst: size_t */
1291 #if H5_SIZEOF_SSIZE_T < H5_SIZEOF_SIZE_T
1292  #define ASSIGN_ssize_t_TO_size_t(dst, dsttype, src, srctype) \
1293  ASSIGN_TO_LARGER_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
1294 #elif H5_SIZEOF_SSIZE_T > H5_SIZEOF_SIZE_T
1295  #define ASSIGN_ssize_t_TO_size_t(dst, dsttype, src, srctype) \
1296  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1297 #else /* H5_SIZEOF_SSIZE_T == H5_SIZEOF_SIZE_T */
1298  #define ASSIGN_ssize_t_TO_size_t(dst, dsttype, src, srctype) \
1299  ASSIGN_TO_SAME_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
1300 #endif /* src: ssize_t dst: size_t */
1301 
1302 /* src: ssize_t, dst: haddr_t */
1303 #if H5_SIZEOF_SSIZE_T < H5_SIZEOF_HADDR_T
1304  #define ASSIGN_ssize_t_TO_haddr_t(dst, dsttype, src, srctype) \
1305  ASSIGN_TO_LARGER_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
1306 #elif H5_SIZEOF_SSIZE_T > H5_SIZEOF_HADDR_T
1307  #define ASSIGN_ssize_t_TO_haddr_t(dst, dsttype, src, srctype) \
1308  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1309 #else /* H5_SIZEOF_SSIZE_T == H5_SIZEOF_HADDR_T */
1310  #define ASSIGN_ssize_t_TO_haddr_t(dst, dsttype, src, srctype) \
1311  ASSIGN_TO_SAME_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
1312 #endif /* src: ssize_t dst: haddr_t */
1313 
1314 /* src: ssize_t, dst: hsize_t */
1315 #if H5_SIZEOF_SSIZE_T < H5_SIZEOF_HSIZE_T
1316  #define ASSIGN_ssize_t_TO_hsize_t(dst, dsttype, src, srctype) \
1317  ASSIGN_TO_LARGER_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
1318 #elif H5_SIZEOF_SSIZE_T > H5_SIZEOF_HSIZE_T
1319  #define ASSIGN_ssize_t_TO_hsize_t(dst, dsttype, src, srctype) \
1320  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1321 #else /* H5_SIZEOF_SSIZE_T == H5_SIZEOF_HSIZE_T */
1322  #define ASSIGN_ssize_t_TO_hsize_t(dst, dsttype, src, srctype) \
1323  ASSIGN_TO_SAME_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
1324 #endif /* src: ssize_t dst: hsize_t */
1325 
1326 /* src: ssize_t, dst: hssize_t */
1327 #if H5_SIZEOF_SSIZE_T < H5_SIZEOF_HSSIZE_T
1328  #define ASSIGN_ssize_t_TO_hssize_t(dst, dsttype, src, srctype) \
1329  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1330 #elif H5_SIZEOF_SSIZE_T > H5_SIZEOF_HSSIZE_T
1331  #define ASSIGN_ssize_t_TO_hssize_t(dst, dsttype, src, srctype) \
1332  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1333 #else /* H5_SIZEOF_SSIZE_T == H5_SIZEOF_HSSIZE_T */
1334  #define ASSIGN_ssize_t_TO_hssize_t(dst, dsttype, src, srctype) \
1335  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1336 #endif /* src: ssize_t dst: hssize_t */
1337 
1338 /* src: ssize_t, dst: h5_stat_size_t */
1339 #if H5_SIZEOF_SSIZE_T < H5_SIZEOF_H5_STAT_SIZE_T
1340  #define ASSIGN_ssize_t_TO_h5_stat_size_t(dst, dsttype, src, srctype) \
1341  ASSIGN_TO_LARGER_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
1342 #elif H5_SIZEOF_SSIZE_T > H5_SIZEOF_H5_STAT_SIZE_T
1343  #define ASSIGN_ssize_t_TO_h5_stat_size_t(dst, dsttype, src, srctype) \
1344  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1345 #else /* H5_SIZEOF_SSIZE_T == H5_SIZEOF_H5_STAT_SIZE_T */
1346  #define ASSIGN_ssize_t_TO_h5_stat_size_t(dst, dsttype, src, srctype) \
1347  ASSIGN_TO_SAME_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
1348 #endif /* src: ssize_t dst: h5_stat_size_t */
1349 
1350 
1351 /* Assignment checks for haddr_t */
1352 
1353 /* src: haddr_t, dst: unsigned */
1354 #if H5_SIZEOF_HADDR_T < H5_SIZEOF_UNSIGNED
1355  #define ASSIGN_haddr_t_TO_unsigned(dst, dsttype, src, srctype) \
1356  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1357 #elif H5_SIZEOF_HADDR_T > H5_SIZEOF_UNSIGNED
1358  #define ASSIGN_haddr_t_TO_unsigned(dst, dsttype, src, srctype) \
1359  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1360 #else /* H5_SIZEOF_HADDR_T == H5_SIZEOF_UNSIGNED */
1361  #define ASSIGN_haddr_t_TO_unsigned(dst, dsttype, src, srctype) \
1362  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1363 #endif /* src: haddr_t dst: unsigned */
1364 
1365 /* src: haddr_t, dst: int */
1366 #if H5_SIZEOF_HADDR_T < H5_SIZEOF_INT
1367  #define ASSIGN_haddr_t_TO_int(dst, dsttype, src, srctype) \
1368  ASSIGN_TO_LARGER_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
1369 #elif H5_SIZEOF_HADDR_T > H5_SIZEOF_INT
1370  #define ASSIGN_haddr_t_TO_int(dst, dsttype, src, srctype) \
1371  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1372 #else /* H5_SIZEOF_HADDR_T == H5_SIZEOF_INT */
1373  #define ASSIGN_haddr_t_TO_int(dst, dsttype, src, srctype) \
1374  ASSIGN_TO_SAME_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
1375 #endif /* src: haddr_t dst: int */
1376 
1377 /* src: haddr_t, dst: uint8_t */
1378 #if H5_SIZEOF_HADDR_T < H5_SIZEOF_UINT8_T
1379  #define ASSIGN_haddr_t_TO_uint8_t(dst, dsttype, src, srctype) \
1380  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1381 #elif H5_SIZEOF_HADDR_T > H5_SIZEOF_UINT8_T
1382  #define ASSIGN_haddr_t_TO_uint8_t(dst, dsttype, src, srctype) \
1383  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1384 #else /* H5_SIZEOF_HADDR_T == H5_SIZEOF_UINT8_T */
1385  #define ASSIGN_haddr_t_TO_uint8_t(dst, dsttype, src, srctype) \
1386  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1387 #endif /* src: haddr_t dst: uint8_t */
1388 
1389 /* src: haddr_t, dst: uint16_t */
1390 #if H5_SIZEOF_HADDR_T < H5_SIZEOF_UINT16_T
1391  #define ASSIGN_haddr_t_TO_uint16_t(dst, dsttype, src, srctype) \
1392  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1393 #elif H5_SIZEOF_HADDR_T > H5_SIZEOF_UINT16_T
1394  #define ASSIGN_haddr_t_TO_uint16_t(dst, dsttype, src, srctype) \
1395  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1396 #else /* H5_SIZEOF_HADDR_T == H5_SIZEOF_UINT16_T */
1397  #define ASSIGN_haddr_t_TO_uint16_t(dst, dsttype, src, srctype) \
1398  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1399 #endif /* src: haddr_t dst: uint16_t */
1400 
1401 /* src: haddr_t, dst: uint32_t */
1402 #if H5_SIZEOF_HADDR_T < H5_SIZEOF_UINT32_T
1403  #define ASSIGN_haddr_t_TO_uint32_t(dst, dsttype, src, srctype) \
1404  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1405 #elif H5_SIZEOF_HADDR_T > H5_SIZEOF_UINT32_T
1406  #define ASSIGN_haddr_t_TO_uint32_t(dst, dsttype, src, srctype) \
1407  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1408 #else /* H5_SIZEOF_HADDR_T == H5_SIZEOF_UINT32_T */
1409  #define ASSIGN_haddr_t_TO_uint32_t(dst, dsttype, src, srctype) \
1410  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1411 #endif /* src: haddr_t dst: uint32_t */
1412 
1413 /* src: haddr_t, dst: uint64_t */
1414 #if H5_SIZEOF_HADDR_T < H5_SIZEOF_UINT64_T
1415  #define ASSIGN_haddr_t_TO_uint64_t(dst, dsttype, src, srctype) \
1416  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1417 #elif H5_SIZEOF_HADDR_T > H5_SIZEOF_UINT64_T
1418  #define ASSIGN_haddr_t_TO_uint64_t(dst, dsttype, src, srctype) \
1419  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1420 #else /* H5_SIZEOF_HADDR_T == H5_SIZEOF_UINT64_T */
1421  #define ASSIGN_haddr_t_TO_uint64_t(dst, dsttype, src, srctype) \
1422  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1423 #endif /* src: haddr_t dst: uint64_t */
1424 
1425 /* src: haddr_t, dst: ptrdiff_t */
1426 #if H5_SIZEOF_HADDR_T < H5_SIZEOF_PTRDIFF_T
1427  #define ASSIGN_haddr_t_TO_ptrdiff_t(dst, dsttype, src, srctype) \
1428  ASSIGN_TO_LARGER_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
1429 #elif H5_SIZEOF_HADDR_T > H5_SIZEOF_PTRDIFF_T
1430  #define ASSIGN_haddr_t_TO_ptrdiff_t(dst, dsttype, src, srctype) \
1431  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1432 #else /* H5_SIZEOF_HADDR_T == H5_SIZEOF_PTRDIFF_T */
1433  #define ASSIGN_haddr_t_TO_ptrdiff_t(dst, dsttype, src, srctype) \
1434  ASSIGN_TO_SAME_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
1435 #endif /* src: haddr_t dst: ptrdiff_t */
1436 
1437 /* src: haddr_t, dst: size_t */
1438 #if H5_SIZEOF_HADDR_T < H5_SIZEOF_SIZE_T
1439  #define ASSIGN_haddr_t_TO_size_t(dst, dsttype, src, srctype) \
1440  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1441 #elif H5_SIZEOF_HADDR_T > H5_SIZEOF_SIZE_T
1442  #define ASSIGN_haddr_t_TO_size_t(dst, dsttype, src, srctype) \
1443  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1444 #else /* H5_SIZEOF_HADDR_T == H5_SIZEOF_SIZE_T */
1445  #define ASSIGN_haddr_t_TO_size_t(dst, dsttype, src, srctype) \
1446  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1447 #endif /* src: haddr_t dst: size_t */
1448 
1449 /* src: haddr_t, dst: ssize_t */
1450 #if H5_SIZEOF_HADDR_T < H5_SIZEOF_SSIZE_T
1451  #define ASSIGN_haddr_t_TO_ssize_t(dst, dsttype, src, srctype) \
1452  ASSIGN_TO_LARGER_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
1453 #elif H5_SIZEOF_HADDR_T > H5_SIZEOF_SSIZE_T
1454  #define ASSIGN_haddr_t_TO_ssize_t(dst, dsttype, src, srctype) \
1455  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1456 #else /* H5_SIZEOF_HADDR_T == H5_SIZEOF_SSIZE_T */
1457  #define ASSIGN_haddr_t_TO_ssize_t(dst, dsttype, src, srctype) \
1458  ASSIGN_TO_SAME_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
1459 #endif /* src: haddr_t dst: ssize_t */
1460 
1461 /* src: haddr_t, dst: hsize_t */
1462 #if H5_SIZEOF_HADDR_T < H5_SIZEOF_HSIZE_T
1463  #define ASSIGN_haddr_t_TO_hsize_t(dst, dsttype, src, srctype) \
1464  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1465 #elif H5_SIZEOF_HADDR_T > H5_SIZEOF_HSIZE_T
1466  #define ASSIGN_haddr_t_TO_hsize_t(dst, dsttype, src, srctype) \
1467  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1468 #else /* H5_SIZEOF_HADDR_T == H5_SIZEOF_HSIZE_T */
1469  #define ASSIGN_haddr_t_TO_hsize_t(dst, dsttype, src, srctype) \
1470  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1471 #endif /* src: haddr_t dst: hsize_t */
1472 
1473 /* src: haddr_t, dst: hssize_t */
1474 #if H5_SIZEOF_HADDR_T < H5_SIZEOF_HSSIZE_T
1475  #define ASSIGN_haddr_t_TO_hssize_t(dst, dsttype, src, srctype) \
1476  ASSIGN_TO_LARGER_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
1477 #elif H5_SIZEOF_HADDR_T > H5_SIZEOF_HSSIZE_T
1478  #define ASSIGN_haddr_t_TO_hssize_t(dst, dsttype, src, srctype) \
1479  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1480 #else /* H5_SIZEOF_HADDR_T == H5_SIZEOF_HSSIZE_T */
1481  #define ASSIGN_haddr_t_TO_hssize_t(dst, dsttype, src, srctype) \
1482  ASSIGN_TO_SAME_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
1483 #endif /* src: haddr_t dst: hssize_t */
1484 
1485 /* src: haddr_t, dst: h5_stat_size_t */
1486 #if H5_SIZEOF_HADDR_T < H5_SIZEOF_H5_STAT_SIZE_T
1487  #define ASSIGN_haddr_t_TO_h5_stat_size_t(dst, dsttype, src, srctype) \
1488  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1489 #elif H5_SIZEOF_HADDR_T > H5_SIZEOF_H5_STAT_SIZE_T
1490  #define ASSIGN_haddr_t_TO_h5_stat_size_t(dst, dsttype, src, srctype) \
1491  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1492 #else /* H5_SIZEOF_HADDR_T == H5_SIZEOF_H5_STAT_SIZE_T */
1493  #define ASSIGN_haddr_t_TO_h5_stat_size_t(dst, dsttype, src, srctype) \
1494  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1495 #endif /* src: haddr_t dst: h5_stat_size_t */
1496 
1497 
1498 /* Assignment checks for hsize_t */
1499 
1500 /* src: hsize_t, dst: unsigned */
1501 #if H5_SIZEOF_HSIZE_T < H5_SIZEOF_UNSIGNED
1502  #define ASSIGN_hsize_t_TO_unsigned(dst, dsttype, src, srctype) \
1503  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1504 #elif H5_SIZEOF_HSIZE_T > H5_SIZEOF_UNSIGNED
1505  #define ASSIGN_hsize_t_TO_unsigned(dst, dsttype, src, srctype) \
1506  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1507 #else /* H5_SIZEOF_HSIZE_T == H5_SIZEOF_UNSIGNED */
1508  #define ASSIGN_hsize_t_TO_unsigned(dst, dsttype, src, srctype) \
1509  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1510 #endif /* src: hsize_t dst: unsigned */
1511 
1512 /* src: hsize_t, dst: int */
1513 #if H5_SIZEOF_HSIZE_T < H5_SIZEOF_INT
1514  #define ASSIGN_hsize_t_TO_int(dst, dsttype, src, srctype) \
1515  ASSIGN_TO_LARGER_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
1516 #elif H5_SIZEOF_HSIZE_T > H5_SIZEOF_INT
1517  #define ASSIGN_hsize_t_TO_int(dst, dsttype, src, srctype) \
1518  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1519 #else /* H5_SIZEOF_HSIZE_T == H5_SIZEOF_INT */
1520  #define ASSIGN_hsize_t_TO_int(dst, dsttype, src, srctype) \
1521  ASSIGN_TO_SAME_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
1522 #endif /* src: hsize_t dst: int */
1523 
1524 /* src: hsize_t, dst: uint8_t */
1525 #if H5_SIZEOF_HSIZE_T < H5_SIZEOF_UINT8_T
1526  #define ASSIGN_hsize_t_TO_uint8_t(dst, dsttype, src, srctype) \
1527  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1528 #elif H5_SIZEOF_HSIZE_T > H5_SIZEOF_UINT8_T
1529  #define ASSIGN_hsize_t_TO_uint8_t(dst, dsttype, src, srctype) \
1530  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1531 #else /* H5_SIZEOF_HSIZE_T == H5_SIZEOF_UINT8_T */
1532  #define ASSIGN_hsize_t_TO_uint8_t(dst, dsttype, src, srctype) \
1533  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1534 #endif /* src: hsize_t dst: uint8_t */
1535 
1536 /* src: hsize_t, dst: uint16_t */
1537 #if H5_SIZEOF_HSIZE_T < H5_SIZEOF_UINT16_T
1538  #define ASSIGN_hsize_t_TO_uint16_t(dst, dsttype, src, srctype) \
1539  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1540 #elif H5_SIZEOF_HSIZE_T > H5_SIZEOF_UINT16_T
1541  #define ASSIGN_hsize_t_TO_uint16_t(dst, dsttype, src, srctype) \
1542  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1543 #else /* H5_SIZEOF_HSIZE_T == H5_SIZEOF_UINT16_T */
1544  #define ASSIGN_hsize_t_TO_uint16_t(dst, dsttype, src, srctype) \
1545  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1546 #endif /* src: hsize_t dst: uint16_t */
1547 
1548 /* src: hsize_t, dst: uint32_t */
1549 #if H5_SIZEOF_HSIZE_T < H5_SIZEOF_UINT32_T
1550  #define ASSIGN_hsize_t_TO_uint32_t(dst, dsttype, src, srctype) \
1551  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1552 #elif H5_SIZEOF_HSIZE_T > H5_SIZEOF_UINT32_T
1553  #define ASSIGN_hsize_t_TO_uint32_t(dst, dsttype, src, srctype) \
1554  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1555 #else /* H5_SIZEOF_HSIZE_T == H5_SIZEOF_UINT32_T */
1556  #define ASSIGN_hsize_t_TO_uint32_t(dst, dsttype, src, srctype) \
1557  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1558 #endif /* src: hsize_t dst: uint32_t */
1559 
1560 /* src: hsize_t, dst: uint64_t */
1561 #if H5_SIZEOF_HSIZE_T < H5_SIZEOF_UINT64_T
1562  #define ASSIGN_hsize_t_TO_uint64_t(dst, dsttype, src, srctype) \
1563  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1564 #elif H5_SIZEOF_HSIZE_T > H5_SIZEOF_UINT64_T
1565  #define ASSIGN_hsize_t_TO_uint64_t(dst, dsttype, src, srctype) \
1566  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1567 #else /* H5_SIZEOF_HSIZE_T == H5_SIZEOF_UINT64_T */
1568  #define ASSIGN_hsize_t_TO_uint64_t(dst, dsttype, src, srctype) \
1569  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1570 #endif /* src: hsize_t dst: uint64_t */
1571 
1572 /* src: hsize_t, dst: ptrdiff_t */
1573 #if H5_SIZEOF_HSIZE_T < H5_SIZEOF_PTRDIFF_T
1574  #define ASSIGN_hsize_t_TO_ptrdiff_t(dst, dsttype, src, srctype) \
1575  ASSIGN_TO_LARGER_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
1576 #elif H5_SIZEOF_HSIZE_T > H5_SIZEOF_PTRDIFF_T
1577  #define ASSIGN_hsize_t_TO_ptrdiff_t(dst, dsttype, src, srctype) \
1578  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1579 #else /* H5_SIZEOF_HSIZE_T == H5_SIZEOF_PTRDIFF_T */
1580  #define ASSIGN_hsize_t_TO_ptrdiff_t(dst, dsttype, src, srctype) \
1581  ASSIGN_TO_SAME_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
1582 #endif /* src: hsize_t dst: ptrdiff_t */
1583 
1584 /* src: hsize_t, dst: size_t */
1585 #if H5_SIZEOF_HSIZE_T < H5_SIZEOF_SIZE_T
1586  #define ASSIGN_hsize_t_TO_size_t(dst, dsttype, src, srctype) \
1587  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1588 #elif H5_SIZEOF_HSIZE_T > H5_SIZEOF_SIZE_T
1589  #define ASSIGN_hsize_t_TO_size_t(dst, dsttype, src, srctype) \
1590  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1591 #else /* H5_SIZEOF_HSIZE_T == H5_SIZEOF_SIZE_T */
1592  #define ASSIGN_hsize_t_TO_size_t(dst, dsttype, src, srctype) \
1593  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1594 #endif /* src: hsize_t dst: size_t */
1595 
1596 /* src: hsize_t, dst: ssize_t */
1597 #if H5_SIZEOF_HSIZE_T < H5_SIZEOF_SSIZE_T
1598  #define ASSIGN_hsize_t_TO_ssize_t(dst, dsttype, src, srctype) \
1599  ASSIGN_TO_LARGER_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
1600 #elif H5_SIZEOF_HSIZE_T > H5_SIZEOF_SSIZE_T
1601  #define ASSIGN_hsize_t_TO_ssize_t(dst, dsttype, src, srctype) \
1602  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1603 #else /* H5_SIZEOF_HSIZE_T == H5_SIZEOF_SSIZE_T */
1604  #define ASSIGN_hsize_t_TO_ssize_t(dst, dsttype, src, srctype) \
1605  ASSIGN_TO_SAME_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
1606 #endif /* src: hsize_t dst: ssize_t */
1607 
1608 /* src: hsize_t, dst: haddr_t */
1609 #if H5_SIZEOF_HSIZE_T < H5_SIZEOF_HADDR_T
1610  #define ASSIGN_hsize_t_TO_haddr_t(dst, dsttype, src, srctype) \
1611  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1612 #elif H5_SIZEOF_HSIZE_T > H5_SIZEOF_HADDR_T
1613  #define ASSIGN_hsize_t_TO_haddr_t(dst, dsttype, src, srctype) \
1614  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1615 #else /* H5_SIZEOF_HSIZE_T == H5_SIZEOF_HADDR_T */
1616  #define ASSIGN_hsize_t_TO_haddr_t(dst, dsttype, src, srctype) \
1617  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1618 #endif /* src: hsize_t dst: haddr_t */
1619 
1620 /* src: hsize_t, dst: hssize_t */
1621 #if H5_SIZEOF_HSIZE_T < H5_SIZEOF_HSSIZE_T
1622  #define ASSIGN_hsize_t_TO_hssize_t(dst, dsttype, src, srctype) \
1623  ASSIGN_TO_LARGER_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
1624 #elif H5_SIZEOF_HSIZE_T > H5_SIZEOF_HSSIZE_T
1625  #define ASSIGN_hsize_t_TO_hssize_t(dst, dsttype, src, srctype) \
1626  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1627 #else /* H5_SIZEOF_HSIZE_T == H5_SIZEOF_HSSIZE_T */
1628  #define ASSIGN_hsize_t_TO_hssize_t(dst, dsttype, src, srctype) \
1629  ASSIGN_TO_SAME_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
1630 #endif /* src: hsize_t dst: hssize_t */
1631 
1632 /* src: hsize_t, dst: h5_stat_size_t */
1633 #if H5_SIZEOF_HSIZE_T < H5_SIZEOF_H5_STAT_SIZE_T
1634  #define ASSIGN_hsize_t_TO_h5_stat_size_t(dst, dsttype, src, srctype) \
1635  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1636 #elif H5_SIZEOF_HSIZE_T > H5_SIZEOF_H5_STAT_SIZE_T
1637  #define ASSIGN_hsize_t_TO_h5_stat_size_t(dst, dsttype, src, srctype) \
1638  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1639 #else /* H5_SIZEOF_HSIZE_T == H5_SIZEOF_H5_STAT_SIZE_T */
1640  #define ASSIGN_hsize_t_TO_h5_stat_size_t(dst, dsttype, src, srctype) \
1641  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1642 #endif /* src: hsize_t dst: h5_stat_size_t */
1643 
1644 
1645 /* Assignment checks for hssize_t */
1646 
1647 /* src: hssize_t, dst: unsigned */
1648 #if H5_SIZEOF_HSSIZE_T < H5_SIZEOF_UNSIGNED
1649  #define ASSIGN_hssize_t_TO_unsigned(dst, dsttype, src, srctype) \
1650  ASSIGN_TO_LARGER_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
1651 #elif H5_SIZEOF_HSSIZE_T > H5_SIZEOF_UNSIGNED
1652  #define ASSIGN_hssize_t_TO_unsigned(dst, dsttype, src, srctype) \
1653  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1654 #else /* H5_SIZEOF_HSSIZE_T == H5_SIZEOF_UNSIGNED */
1655  #define ASSIGN_hssize_t_TO_unsigned(dst, dsttype, src, srctype) \
1656  ASSIGN_TO_SAME_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
1657 #endif /* src: hssize_t dst: unsigned */
1658 
1659 /* src: hssize_t, dst: int */
1660 #if H5_SIZEOF_HSSIZE_T < H5_SIZEOF_INT
1661  #define ASSIGN_hssize_t_TO_int(dst, dsttype, src, srctype) \
1662  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1663 #elif H5_SIZEOF_HSSIZE_T > H5_SIZEOF_INT
1664  #define ASSIGN_hssize_t_TO_int(dst, dsttype, src, srctype) \
1665  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1666 #else /* H5_SIZEOF_HSSIZE_T == H5_SIZEOF_INT */
1667  #define ASSIGN_hssize_t_TO_int(dst, dsttype, src, srctype) \
1668  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1669 #endif /* src: hssize_t dst: int */
1670 
1671 /* src: hssize_t, dst: uint8_t */
1672 #if H5_SIZEOF_HSSIZE_T < H5_SIZEOF_UINT8_T
1673  #define ASSIGN_hssize_t_TO_uint8_t(dst, dsttype, src, srctype) \
1674  ASSIGN_TO_LARGER_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
1675 #elif H5_SIZEOF_HSSIZE_T > H5_SIZEOF_UINT8_T
1676  #define ASSIGN_hssize_t_TO_uint8_t(dst, dsttype, src, srctype) \
1677  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1678 #else /* H5_SIZEOF_HSSIZE_T == H5_SIZEOF_UINT8_T */
1679  #define ASSIGN_hssize_t_TO_uint8_t(dst, dsttype, src, srctype) \
1680  ASSIGN_TO_SAME_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
1681 #endif /* src: hssize_t dst: uint8_t */
1682 
1683 /* src: hssize_t, dst: uint16_t */
1684 #if H5_SIZEOF_HSSIZE_T < H5_SIZEOF_UINT16_T
1685  #define ASSIGN_hssize_t_TO_uint16_t(dst, dsttype, src, srctype) \
1686  ASSIGN_TO_LARGER_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
1687 #elif H5_SIZEOF_HSSIZE_T > H5_SIZEOF_UINT16_T
1688  #define ASSIGN_hssize_t_TO_uint16_t(dst, dsttype, src, srctype) \
1689  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1690 #else /* H5_SIZEOF_HSSIZE_T == H5_SIZEOF_UINT16_T */
1691  #define ASSIGN_hssize_t_TO_uint16_t(dst, dsttype, src, srctype) \
1692  ASSIGN_TO_SAME_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
1693 #endif /* src: hssize_t dst: uint16_t */
1694 
1695 /* src: hssize_t, dst: uint32_t */
1696 #if H5_SIZEOF_HSSIZE_T < H5_SIZEOF_UINT32_T
1697  #define ASSIGN_hssize_t_TO_uint32_t(dst, dsttype, src, srctype) \
1698  ASSIGN_TO_LARGER_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
1699 #elif H5_SIZEOF_HSSIZE_T > H5_SIZEOF_UINT32_T
1700  #define ASSIGN_hssize_t_TO_uint32_t(dst, dsttype, src, srctype) \
1701  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1702 #else /* H5_SIZEOF_HSSIZE_T == H5_SIZEOF_UINT32_T */
1703  #define ASSIGN_hssize_t_TO_uint32_t(dst, dsttype, src, srctype) \
1704  ASSIGN_TO_SAME_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
1705 #endif /* src: hssize_t dst: uint32_t */
1706 
1707 /* src: hssize_t, dst: uint64_t */
1708 #if H5_SIZEOF_HSSIZE_T < H5_SIZEOF_UINT64_T
1709  #define ASSIGN_hssize_t_TO_uint64_t(dst, dsttype, src, srctype) \
1710  ASSIGN_TO_LARGER_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
1711 #elif H5_SIZEOF_HSSIZE_T > H5_SIZEOF_UINT64_T
1712  #define ASSIGN_hssize_t_TO_uint64_t(dst, dsttype, src, srctype) \
1713  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1714 #else /* H5_SIZEOF_HSSIZE_T == H5_SIZEOF_UINT64_T */
1715  #define ASSIGN_hssize_t_TO_uint64_t(dst, dsttype, src, srctype) \
1716  ASSIGN_TO_SAME_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
1717 #endif /* src: hssize_t dst: uint64_t */
1718 
1719 /* src: hssize_t, dst: ptrdiff_t */
1720 #if H5_SIZEOF_HSSIZE_T < H5_SIZEOF_PTRDIFF_T
1721  #define ASSIGN_hssize_t_TO_ptrdiff_t(dst, dsttype, src, srctype) \
1722  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1723 #elif H5_SIZEOF_HSSIZE_T > H5_SIZEOF_PTRDIFF_T
1724  #define ASSIGN_hssize_t_TO_ptrdiff_t(dst, dsttype, src, srctype) \
1725  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1726 #else /* H5_SIZEOF_HSSIZE_T == H5_SIZEOF_PTRDIFF_T */
1727  #define ASSIGN_hssize_t_TO_ptrdiff_t(dst, dsttype, src, srctype) \
1728  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1729 #endif /* src: hssize_t dst: ptrdiff_t */
1730 
1731 /* src: hssize_t, dst: size_t */
1732 #if H5_SIZEOF_HSSIZE_T < H5_SIZEOF_SIZE_T
1733  #define ASSIGN_hssize_t_TO_size_t(dst, dsttype, src, srctype) \
1734  ASSIGN_TO_LARGER_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
1735 #elif H5_SIZEOF_HSSIZE_T > H5_SIZEOF_SIZE_T
1736  #define ASSIGN_hssize_t_TO_size_t(dst, dsttype, src, srctype) \
1737  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1738 #else /* H5_SIZEOF_HSSIZE_T == H5_SIZEOF_SIZE_T */
1739  #define ASSIGN_hssize_t_TO_size_t(dst, dsttype, src, srctype) \
1740  ASSIGN_TO_SAME_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
1741 #endif /* src: hssize_t dst: size_t */
1742 
1743 /* src: hssize_t, dst: ssize_t */
1744 #if H5_SIZEOF_HSSIZE_T < H5_SIZEOF_SSIZE_T
1745  #define ASSIGN_hssize_t_TO_ssize_t(dst, dsttype, src, srctype) \
1746  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1747 #elif H5_SIZEOF_HSSIZE_T > H5_SIZEOF_SSIZE_T
1748  #define ASSIGN_hssize_t_TO_ssize_t(dst, dsttype, src, srctype) \
1749  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1750 #else /* H5_SIZEOF_HSSIZE_T == H5_SIZEOF_SSIZE_T */
1751  #define ASSIGN_hssize_t_TO_ssize_t(dst, dsttype, src, srctype) \
1752  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1753 #endif /* src: hssize_t dst: ssize_t */
1754 
1755 /* src: hssize_t, dst: haddr_t */
1756 #if H5_SIZEOF_HSSIZE_T < H5_SIZEOF_HADDR_T
1757  #define ASSIGN_hssize_t_TO_haddr_t(dst, dsttype, src, srctype) \
1758  ASSIGN_TO_LARGER_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
1759 #elif H5_SIZEOF_HSSIZE_T > H5_SIZEOF_HADDR_T
1760  #define ASSIGN_hssize_t_TO_haddr_t(dst, dsttype, src, srctype) \
1761  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1762 #else /* H5_SIZEOF_HSSIZE_T == H5_SIZEOF_HADDR_T */
1763  #define ASSIGN_hssize_t_TO_haddr_t(dst, dsttype, src, srctype) \
1764  ASSIGN_TO_SAME_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
1765 #endif /* src: hssize_t dst: haddr_t */
1766 
1767 /* src: hssize_t, dst: hsize_t */
1768 #if H5_SIZEOF_HSSIZE_T < H5_SIZEOF_HSIZE_T
1769  #define ASSIGN_hssize_t_TO_hsize_t(dst, dsttype, src, srctype) \
1770  ASSIGN_TO_LARGER_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
1771 #elif H5_SIZEOF_HSSIZE_T > H5_SIZEOF_HSIZE_T
1772  #define ASSIGN_hssize_t_TO_hsize_t(dst, dsttype, src, srctype) \
1773  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1774 #else /* H5_SIZEOF_HSSIZE_T == H5_SIZEOF_HSIZE_T */
1775  #define ASSIGN_hssize_t_TO_hsize_t(dst, dsttype, src, srctype) \
1776  ASSIGN_TO_SAME_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
1777 #endif /* src: hssize_t dst: hsize_t */
1778 
1779 /* src: hssize_t, dst: h5_stat_size_t */
1780 #if H5_SIZEOF_HSSIZE_T < H5_SIZEOF_H5_STAT_SIZE_T
1781  #define ASSIGN_hssize_t_TO_h5_stat_size_t(dst, dsttype, src, srctype) \
1782  ASSIGN_TO_LARGER_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
1783 #elif H5_SIZEOF_HSSIZE_T > H5_SIZEOF_H5_STAT_SIZE_T
1784  #define ASSIGN_hssize_t_TO_h5_stat_size_t(dst, dsttype, src, srctype) \
1785  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1786 #else /* H5_SIZEOF_HSSIZE_T == H5_SIZEOF_H5_STAT_SIZE_T */
1787  #define ASSIGN_hssize_t_TO_h5_stat_size_t(dst, dsttype, src, srctype) \
1788  ASSIGN_TO_SAME_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)
1789 #endif /* src: hssize_t dst: h5_stat_size_t */
1790 
1791 
1792 /* Assignment checks for h5_stat_size_t */
1793 
1794 /* src: h5_stat_size_t, dst: unsigned */
1795 #if H5_SIZEOF_H5_STAT_SIZE_T < H5_SIZEOF_UNSIGNED
1796  #define ASSIGN_h5_stat_size_t_TO_unsigned(dst, dsttype, src, srctype) \
1797  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1798 #elif H5_SIZEOF_H5_STAT_SIZE_T > H5_SIZEOF_UNSIGNED
1799  #define ASSIGN_h5_stat_size_t_TO_unsigned(dst, dsttype, src, srctype) \
1800  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1801 #else /* H5_SIZEOF_H5_STAT_SIZE_T == H5_SIZEOF_UNSIGNED */
1802  #define ASSIGN_h5_stat_size_t_TO_unsigned(dst, dsttype, src, srctype) \
1803  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1804 #endif /* src: h5_stat_size_t dst: unsigned */
1805 
1806 /* src: h5_stat_size_t, dst: int */
1807 #if H5_SIZEOF_H5_STAT_SIZE_T < H5_SIZEOF_INT
1808  #define ASSIGN_h5_stat_size_t_TO_int(dst, dsttype, src, srctype) \
1809  ASSIGN_TO_LARGER_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
1810 #elif H5_SIZEOF_H5_STAT_SIZE_T > H5_SIZEOF_INT
1811  #define ASSIGN_h5_stat_size_t_TO_int(dst, dsttype, src, srctype) \
1812  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1813 #else /* H5_SIZEOF_H5_STAT_SIZE_T == H5_SIZEOF_INT */
1814  #define ASSIGN_h5_stat_size_t_TO_int(dst, dsttype, src, srctype) \
1815  ASSIGN_TO_SAME_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
1816 #endif /* src: h5_stat_size_t dst: int */
1817 
1818 /* src: h5_stat_size_t, dst: uint8_t */
1819 #if H5_SIZEOF_H5_STAT_SIZE_T < H5_SIZEOF_UINT8_T
1820  #define ASSIGN_h5_stat_size_t_TO_uint8_t(dst, dsttype, src, srctype) \
1821  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1822 #elif H5_SIZEOF_H5_STAT_SIZE_T > H5_SIZEOF_UINT8_T
1823  #define ASSIGN_h5_stat_size_t_TO_uint8_t(dst, dsttype, src, srctype) \
1824  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1825 #else /* H5_SIZEOF_H5_STAT_SIZE_T == H5_SIZEOF_UINT8_T */
1826  #define ASSIGN_h5_stat_size_t_TO_uint8_t(dst, dsttype, src, srctype) \
1827  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1828 #endif /* src: h5_stat_size_t dst: uint8_t */
1829 
1830 /* src: h5_stat_size_t, dst: uint16_t */
1831 #if H5_SIZEOF_H5_STAT_SIZE_T < H5_SIZEOF_UINT16_T
1832  #define ASSIGN_h5_stat_size_t_TO_uint16_t(dst, dsttype, src, srctype) \
1833  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1834 #elif H5_SIZEOF_H5_STAT_SIZE_T > H5_SIZEOF_UINT16_T
1835  #define ASSIGN_h5_stat_size_t_TO_uint16_t(dst, dsttype, src, srctype) \
1836  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1837 #else /* H5_SIZEOF_H5_STAT_SIZE_T == H5_SIZEOF_UINT16_T */
1838  #define ASSIGN_h5_stat_size_t_TO_uint16_t(dst, dsttype, src, srctype) \
1839  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1840 #endif /* src: h5_stat_size_t dst: uint16_t */
1841 
1842 /* src: h5_stat_size_t, dst: uint32_t */
1843 #if H5_SIZEOF_H5_STAT_SIZE_T < H5_SIZEOF_UINT32_T
1844  #define ASSIGN_h5_stat_size_t_TO_uint32_t(dst, dsttype, src, srctype) \
1845  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1846 #elif H5_SIZEOF_H5_STAT_SIZE_T > H5_SIZEOF_UINT32_T
1847  #define ASSIGN_h5_stat_size_t_TO_uint32_t(dst, dsttype, src, srctype) \
1848  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1849 #else /* H5_SIZEOF_H5_STAT_SIZE_T == H5_SIZEOF_UINT32_T */
1850  #define ASSIGN_h5_stat_size_t_TO_uint32_t(dst, dsttype, src, srctype) \
1851  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1852 #endif /* src: h5_stat_size_t dst: uint32_t */
1853 
1854 /* src: h5_stat_size_t, dst: uint64_t */
1855 #if H5_SIZEOF_H5_STAT_SIZE_T < H5_SIZEOF_UINT64_T
1856  #define ASSIGN_h5_stat_size_t_TO_uint64_t(dst, dsttype, src, srctype) \
1857  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1858 #elif H5_SIZEOF_H5_STAT_SIZE_T > H5_SIZEOF_UINT64_T
1859  #define ASSIGN_h5_stat_size_t_TO_uint64_t(dst, dsttype, src, srctype) \
1860  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1861 #else /* H5_SIZEOF_H5_STAT_SIZE_T == H5_SIZEOF_UINT64_T */
1862  #define ASSIGN_h5_stat_size_t_TO_uint64_t(dst, dsttype, src, srctype) \
1863  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1864 #endif /* src: h5_stat_size_t dst: uint64_t */
1865 
1866 /* src: h5_stat_size_t, dst: ptrdiff_t */
1867 #if H5_SIZEOF_H5_STAT_SIZE_T < H5_SIZEOF_PTRDIFF_T
1868  #define ASSIGN_h5_stat_size_t_TO_ptrdiff_t(dst, dsttype, src, srctype) \
1869  ASSIGN_TO_LARGER_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
1870 #elif H5_SIZEOF_H5_STAT_SIZE_T > H5_SIZEOF_PTRDIFF_T
1871  #define ASSIGN_h5_stat_size_t_TO_ptrdiff_t(dst, dsttype, src, srctype) \
1872  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1873 #else /* H5_SIZEOF_H5_STAT_SIZE_T == H5_SIZEOF_PTRDIFF_T */
1874  #define ASSIGN_h5_stat_size_t_TO_ptrdiff_t(dst, dsttype, src, srctype) \
1875  ASSIGN_TO_SAME_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
1876 #endif /* src: h5_stat_size_t dst: ptrdiff_t */
1877 
1878 /* src: h5_stat_size_t, dst: size_t */
1879 #if H5_SIZEOF_H5_STAT_SIZE_T < H5_SIZEOF_SIZE_T
1880  #define ASSIGN_h5_stat_size_t_TO_size_t(dst, dsttype, src, srctype) \
1881  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1882 #elif H5_SIZEOF_H5_STAT_SIZE_T > H5_SIZEOF_SIZE_T
1883  #define ASSIGN_h5_stat_size_t_TO_size_t(dst, dsttype, src, srctype) \
1884  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1885 #else /* H5_SIZEOF_H5_STAT_SIZE_T == H5_SIZEOF_SIZE_T */
1886  #define ASSIGN_h5_stat_size_t_TO_size_t(dst, dsttype, src, srctype) \
1887  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1888 #endif /* src: h5_stat_size_t dst: size_t */
1889 
1890 /* src: h5_stat_size_t, dst: ssize_t */
1891 #if H5_SIZEOF_H5_STAT_SIZE_T < H5_SIZEOF_SSIZE_T
1892  #define ASSIGN_h5_stat_size_t_TO_ssize_t(dst, dsttype, src, srctype) \
1893  ASSIGN_TO_LARGER_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
1894 #elif H5_SIZEOF_H5_STAT_SIZE_T > H5_SIZEOF_SSIZE_T
1895  #define ASSIGN_h5_stat_size_t_TO_ssize_t(dst, dsttype, src, srctype) \
1896  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1897 #else /* H5_SIZEOF_H5_STAT_SIZE_T == H5_SIZEOF_SSIZE_T */
1898  #define ASSIGN_h5_stat_size_t_TO_ssize_t(dst, dsttype, src, srctype) \
1899  ASSIGN_TO_SAME_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
1900 #endif /* src: h5_stat_size_t dst: ssize_t */
1901 
1902 /* src: h5_stat_size_t, dst: haddr_t */
1903 #if H5_SIZEOF_H5_STAT_SIZE_T < H5_SIZEOF_HADDR_T
1904  #define ASSIGN_h5_stat_size_t_TO_haddr_t(dst, dsttype, src, srctype) \
1905  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1906 #elif H5_SIZEOF_H5_STAT_SIZE_T > H5_SIZEOF_HADDR_T
1907  #define ASSIGN_h5_stat_size_t_TO_haddr_t(dst, dsttype, src, srctype) \
1908  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1909 #else /* H5_SIZEOF_H5_STAT_SIZE_T == H5_SIZEOF_HADDR_T */
1910  #define ASSIGN_h5_stat_size_t_TO_haddr_t(dst, dsttype, src, srctype) \
1911  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1912 #endif /* src: h5_stat_size_t dst: haddr_t */
1913 
1914 /* src: h5_stat_size_t, dst: hsize_t */
1915 #if H5_SIZEOF_H5_STAT_SIZE_T < H5_SIZEOF_HSIZE_T
1916  #define ASSIGN_h5_stat_size_t_TO_hsize_t(dst, dsttype, src, srctype) \
1917  ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1918 #elif H5_SIZEOF_H5_STAT_SIZE_T > H5_SIZEOF_HSIZE_T
1919  #define ASSIGN_h5_stat_size_t_TO_hsize_t(dst, dsttype, src, srctype) \
1920  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1921 #else /* H5_SIZEOF_H5_STAT_SIZE_T == H5_SIZEOF_HSIZE_T */
1922  #define ASSIGN_h5_stat_size_t_TO_hsize_t(dst, dsttype, src, srctype) \
1923  ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)
1924 #endif /* src: h5_stat_size_t dst: hsize_t */
1925 
1926 /* src: h5_stat_size_t, dst: hssize_t */
1927 #if H5_SIZEOF_H5_STAT_SIZE_T < H5_SIZEOF_HSSIZE_T
1928  #define ASSIGN_h5_stat_size_t_TO_hssize_t(dst, dsttype, src, srctype) \
1929  ASSIGN_TO_LARGER_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
1930 #elif H5_SIZEOF_H5_STAT_SIZE_T > H5_SIZEOF_HSSIZE_T
1931  #define ASSIGN_h5_stat_size_t_TO_hssize_t(dst, dsttype, src, srctype) \
1932  ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)
1933 #else /* H5_SIZEOF_H5_STAT_SIZE_T == H5_SIZEOF_HSSIZE_T */
1934  #define ASSIGN_h5_stat_size_t_TO_hssize_t(dst, dsttype, src, srctype) \
1935  ASSIGN_TO_SAME_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)
1936 #endif /* src: h5_stat_size_t dst: hssize_t */
1937 
1938 #endif /* H5overflow_H */
1939