* Remove the use of HAVE___ATTRIBUTE__ (which is defined at

configure time) in an exported header. Use only macros
   defined by the compilers, which is sufficient and simpler.
 * Add missing EINA_DEPRECATED in some cases.


SVN revision: 41199
This commit is contained in:
Vincent Torri 2009-06-25 19:58:05 +00:00
parent 4d5e99df01
commit c94a92a174
1 changed files with 38 additions and 45 deletions

View File

@ -65,6 +65,9 @@
#ifdef EINA_ARG_NONNULL
# undef EINA_ARG_NONNULL
#endif
#ifdef EINA_DEPRECATED
# undef EINA_DEPRECATED
#endif
#ifdef EINA_MALLOC
# undef EINA_MALLOC
#endif
@ -90,54 +93,42 @@
# undef EINA_LIKELY
#endif
#ifdef HAVE___ATTRIBUTE__
# ifdef __GNUC__
# if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)
# define EINA_WARN_UNUSED_RESULT __attribute__ ((warn_unused_result))
# else
# define EINA_WARN_UNUSED_RESULT
# endif
# if (!defined(EINA_SAFETY_CHECKS)) && (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 3))
# define EINA_ARG_NONNULL(idx, ...) __attribute__ ((nonnull(idx, ## __VA_ARGS__)))
# else
# define EINA_ARG_NONNULL(idx, ...)
# endif
# if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1)
# define EINA_DEPRECATED __attribute__ ((__deprecated__))
# else
# define EINA_DEPRECATED
# endif
# if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96)
# define EINA_MALLOC __attribute__ ((malloc))
# define EINA_PURE __attribute__ ((pure))
# else
# define EINA_MALLOC
# define EINA_PURE
# endif
# if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ > 4)
# define EINA_PRINTF(fmt, arg) __attribute__((format (printf, fmt, arg)))
# define EINA_SCANF(fmt, arg) __attribute__((format (scanf, fmt, arg)))
# define EINA_FORMAT(fmt) __attribute__((format_arg(fmt)))
# define EINA_CONST __attribute__((const))
# define EINA_UNLIKELY(exp) __builtin_expect((exp), 0)
# define EINA_LIKELY(exp) __builtin_expect((exp), 1)
# else
# define EINA_PRINTF(fmt, arg)
# define EINA_SCANF(fmt, arg)
# define EINA_FORMAT(fmt)
# define EINA_CONST
# define EINA_UNLIKELY(exp) exp
# define EINA_LIKELY(exp) exp
# endif
# else /* no __GNUC__ */
#ifdef __GNUC__
# if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)
# define EINA_WARN_UNUSED_RESULT __attribute__ ((warn_unused_result))
# else
# define EINA_WARN_UNUSED_RESULT
# endif
# if (!defined(EINA_SAFETY_CHECKS)) && (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 3))
# define EINA_ARG_NONNULL(idx, ...) __attribute__ ((nonnull(idx, ## __VA_ARGS__)))
# else
# define EINA_ARG_NONNULL(idx, ...)
# endif
# if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1)
# define EINA_DEPRECATED __attribute__ ((__deprecated__))
# else
# define EINA_DEPRECATED
# endif
# if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96)
# define EINA_MALLOC __attribute__ ((malloc))
# define EINA_PURE __attribute__ ((pure))
# else
# define EINA_MALLOC
# define EINA_PURE
# endif
# if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ > 4)
# define EINA_PRINTF(fmt, arg) __attribute__((format (printf, fmt, arg)))
# define EINA_SCANF(fmt, arg) __attribute__((format (scanf, fmt, arg)))
# define EINA_FORMAT(fmt) __attribute__((format_arg(fmt)))
# define EINA_CONST __attribute__((const))
# define EINA_UNLIKELY(exp) __builtin_expect((exp), 0)
# define EINA_LIKELY(exp) __builtin_expect((exp), 1)
# else
# define EINA_PRINTF(fmt, arg)
# define EINA_SCANF(fmt, arg)
# define EINA_FORMAT(fmt)
@ -145,6 +136,7 @@
# define EINA_UNLIKELY(exp) exp
# define EINA_LIKELY(exp) exp
# endif
#elif defined(_WIN32)
# define EINA_WARN_UNUSED_RESULT
# define EINA_ARG_NONNULL(idx, ...)
@ -161,7 +153,8 @@
# define EINA_CONST
# define EINA_UNLIKELY(exp) exp
# define EINA_LIKELY(exp) exp
#else /* no HAVE___ATTRIBUTE__ */
#else /* ! __GNUC__ && ! _WIN32 */
# define EINA_WARN_UNUSED_RESULT
# define EINA_ARG_NONNULL(idx, ...)
# define EINA_DEPRECATED
@ -173,7 +166,7 @@
# define EINA_CONST
# define EINA_UNLIKELY(exp) exp
# define EINA_LIKELY(exp) exp
#endif
#endif /* ! __GNUC__ && ! _WIN32 */
/* remove this TRUE/FALSE redifinitions */