src/cx/common.h

changeset 1180
4c3a69b9723a
parent 1162
e3bb67b72d33
equal deleted inserted replaced
1179:ca4c6f590a08 1180:4c3a69b9723a
264 */ 264 */
265 #define cx_attr_nodiscard __attribute__((__warn_unused_result__)) 265 #define cx_attr_nodiscard __attribute__((__warn_unused_result__))
266 266
267 #endif // __STDC_VERSION__ 267 #endif // __STDC_VERSION__
268 268
269
270 // ---------------------------------------------------------------------------
271 // MSVC specifics
272 // ---------------------------------------------------------------------------
273
274 #ifdef _MSC_VER
275 // fix missing _Thread_local support
276 #define _Thread_local __declspec(thread)
277 #endif // _MSC_VER
278
279 #if defined(CX_WINDLL_EXPORT)
280 #define cx_attr_export __declspec(dllexport)
281 #elif defined(CX_WINDLL)
282 #define cx_attr_export __declspec(dllimport)
283 #else
284 #define cx_attr_export
285 #endif // CX_WINDLL / CX_WINDLL_EXPORT
286
269 // --------------------------------------------------------------------------- 287 // ---------------------------------------------------------------------------
270 // Useful function pointers 288 // Useful function pointers
271 // --------------------------------------------------------------------------- 289 // ---------------------------------------------------------------------------
272 290
273 /** 291 /**
338 * @retval non-zero the multiplication would overflow 356 * @retval non-zero the multiplication would overflow
339 */ 357 */
340 #if __cplusplus 358 #if __cplusplus
341 extern "C" 359 extern "C"
342 #endif 360 #endif
343 int cx_szmul_impl(size_t a, size_t b, size_t *result); 361 cx_attr_export int cx_szmul_impl(size_t a, size_t b, size_t *result);
344 #endif // cx_szmul 362 #endif // cx_szmul
345 363
346 364
347 // ---------------------------------------------------------------------------
348 // Fixes for MSVC incompatibilities
349 // ---------------------------------------------------------------------------
350
351 #ifdef _MSC_VER
352 // fix missing _Thread_local support
353 #define _Thread_local __declspec(thread)
354 #endif // _MSC_VER
355 365
356 #endif // UCX_COMMON_H 366 #endif // UCX_COMMON_H

mercurial