X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dbus%2Fdbus-macros.h;h=cae4100e469f7dea3bb4b7830db3f37575ac365f;hb=0b2b6cba926a739ac56666f86ad4f88cbf5a8d48;hp=379c4e241773a012cad51318c4c185a85e532c7d;hpb=6db588b8544e117241a3be2c595dfc8fdcdc8f59;p=platform%2Fupstream%2Fdbus.git diff --git a/dbus/dbus-macros.h b/dbus/dbus-macros.h index 379c4e2..cae4100 100644 --- a/dbus/dbus-macros.h +++ b/dbus/dbus-macros.h @@ -74,13 +74,35 @@ #define _DBUS_GNUC_NORETURN #endif /* !__GNUC__ */ +#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96) +#define DBUS_MALLOC __attribute__((__malloc__)) +#else +#define DBUS_MALLOC +#endif + +#if (__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3) +#define DBUS_ALLOC_SIZE(x) __attribute__((__alloc_size__(x))) +#define DBUS_ALLOC_SIZE2(x,y) __attribute__((__alloc_size__(x,y))) +#else +#define DBUS_ALLOC_SIZE(x) +#define DBUS_ALLOC_SIZE2(x,y) +#endif + +#if (__GNUC__ > 3) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4) +#define _DBUS_GNUC_WARN_UNUSED_RESULT __attribute__((warn_unused_result)) +#else +#define _DBUS_GNUC_WARN_UNUSED_RESULT +#endif + /** @def _DBUS_GNUC_PRINTF * used to tell gcc about printf format strings */ /** @def _DBUS_GNUC_NORETURN * used to tell gcc about functions that never return, such as _dbus_abort() */ - +/** @def _DBUS_GNUC_WARN_UNUSED_RESULT + * used to tell gcc about functions whose result must be used + */ /* Normally docs are in .c files, but there isn't a .c file for this. */ /** @@ -150,6 +172,25 @@ * this macro in your own code; please consider it to be internal to libdbus. */ +/* + * @def DBUS_EXPORT + * + * Declare the following symbol as public. This is currently a noop on + * platforms other than Windows. + */ + +#if defined(_WIN32) +# if defined(DBUS_STATIC_BUILD) +# define DBUS_EXPORT +# elif defined(dbus_1_EXPORTS) +# define DBUS_EXPORT __declspec(dllexport) +# else +# define DBUS_EXPORT __declspec(dllimport) +# endif +#else +#define DBUS_EXPORT +#endif + /** @} */ #endif /* DBUS_MACROS_H */