… | |
… | |
348 | #define ecb_deprecated __declspec (deprecated) |
348 | #define ecb_deprecated __declspec (deprecated) |
349 | #else |
349 | #else |
350 | #define ecb_deprecated ecb_attribute ((__deprecated__)) |
350 | #define ecb_deprecated ecb_attribute ((__deprecated__)) |
351 | #endif |
351 | #endif |
352 | |
352 | |
|
|
353 | #if __MSC_VER >= 1500 |
|
|
354 | #define ecb_deprecated_message(msg) __declspec (deprecated (msg)) |
|
|
355 | #elif ECB_GCC_VERSION(4,5) |
|
|
356 | #define ecb_deprecated_message(msg) ecb_attribute ((__deprecated__ (msg)) |
|
|
357 | #else |
|
|
358 | #define ecb_deprecated_message(msg) ecb_deprecated |
|
|
359 | #endif |
|
|
360 | |
|
|
361 | #if _MSC_VER >= 1400 |
|
|
362 | #define ecb_noinline __declspec (noinline) |
|
|
363 | #else |
353 | #define ecb_noinline ecb_attribute ((__noinline__)) |
364 | #define ecb_noinline ecb_attribute ((__noinline__)) |
|
|
365 | #endif |
|
|
366 | |
354 | #define ecb_unused ecb_attribute ((__unused__)) |
367 | #define ecb_unused ecb_attribute ((__unused__)) |
355 | #define ecb_const ecb_attribute ((__const__)) |
368 | #define ecb_const ecb_attribute ((__const__)) |
356 | #define ecb_pure ecb_attribute ((__pure__)) |
369 | #define ecb_pure ecb_attribute ((__pure__)) |
357 | |
370 | |
358 | /* TODO http://msdn.microsoft.com/en-us/library/k6ktzx3s.aspx __declspec(noreturn) */ |
371 | /* TODO http://msdn.microsoft.com/en-us/library/k6ktzx3s.aspx __declspec(noreturn) */ |