28 # define LV_C_LINKAGE extern "C"
34 # define LV_BEGIN_DECLS LV_C_LINKAGE {
35 # define LV_END_DECLS }
37 # define LV_BEGIN_DECLS
43 # define NULL ((void *) 0)
58 # define LV_ATTR_MALLOC __attribute__ ((malloc))
59 # define LV_ATTR_PACKED __attribute__ ((packed))
60 # define LV_LIKELY(x) __builtin_expect (!!(x), 1)
61 # define LV_UNLIKELY(x) __builtin_expect (!!(x), 0)
63 # define LV_ATTR_MALLOC
64 # define LV_ATTR_PACKED
65 # define LV_LIKELY(x) (x)
66 # define LV_UNLIKELY(x) (x)
72 # define LV_CHECK_PRINTF_FORMAT(a, b) __attribute__ ((__format__ (__printf__, a, b)))
74 # define LV_CHECK_PRINTF_FORMAT(a, b)
79 #if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
80 # define LV_RESTRICT restrict
81 #elif defined(__GNUC__) && __GNU__ >= 4
82 # define LV_RESTRICT __restrict__
83 #elif defined(_MSC_VER) && _MSC_VER >= 1600
84 # define LV_RESTRICT __restrict
91 #if defined _WIN32 || defined __CYGWIN__
92 #define LV_DLL_IMPORT __declspec(dllimport)
93 #define LV_DLL_EXPORT __declspec(dllexport)
97 #define LV_DLL_IMPORT __attribute__ ((visibility ("default")))
98 #define LV_DLL_EXPORT __attribute__ ((visibility ("default")))
99 #define LV_DLL_LOCAL __attribute__ ((visibility ("hidden")))
101 #define LV_DLL_IMPORT
102 #define LV_DLL_EXPORT
107 #ifdef libvisual_EXPORTS
108 #define LV_API LV_DLL_EXPORT
110 #define LV_API LV_DLL_IMPORT
113 #define LV_LOCAL LV_DLL_LOCAL
115 #define LV_PLUGIN_EXPORT LV_DLL_EXPORT
119 #define __PRETTY_FUNCTION__ __FUNCTION__