| /* |
| * Summary: macros for marking symbols as exportable/importable. |
| * Description: macros for marking symbols as exportable/importable. |
| * |
| * Copy: See Copyright for the status of this software. |
| */ |
| |
| #ifndef __XML_EXPORTS_H__ |
| #define __XML_EXPORTS_H__ |
| |
| /** DOC_DISABLE */ |
| |
| /* |
| * Symbol visibility |
| */ |
| |
| #if defined(_WIN32) || defined(__CYGWIN__) |
| #ifdef LIBXML_STATIC |
| #define XMLPUBLIC |
| #elif defined(IN_LIBXML) |
| #define XMLPUBLIC __declspec(dllexport) |
| #else |
| #define XMLPUBLIC __declspec(dllimport) |
| #endif |
| #else /* not Windows */ |
| #define XMLPUBLIC |
| #endif /* platform switch */ |
| |
| #define XMLPUBFUN XMLPUBLIC |
| |
| #define XMLPUBVAR XMLPUBLIC extern |
| |
| /* Compatibility */ |
| #define XMLCALL |
| #define XMLCDECL |
| #ifndef LIBXML_DLL_IMPORT |
| #define LIBXML_DLL_IMPORT XMLPUBVAR |
| #endif |
| |
| /* |
| * Attributes |
| */ |
| |
| #if !defined(__clang__) && (__GNUC__ * 100 + __GNUC_MINOR__ >= 403) |
| #define LIBXML_ATTR_ALLOC_SIZE(x) __attribute__((alloc_size(x))) |
| #else |
| #define LIBXML_ATTR_ALLOC_SIZE(x) |
| #endif |
| |
| #if __GNUC__ * 100 + __GNUC_MINOR__ >= 303 |
| #define LIBXML_ATTR_FORMAT(fmt,args) \ |
| __attribute__((__format__(__printf__,fmt,args))) |
| #else |
| #define LIBXML_ATTR_FORMAT(fmt,args) |
| #endif |
| |
| #ifndef XML_DEPRECATED |
| #if defined(IN_LIBXML) |
| #define XML_DEPRECATED |
| #elif __GNUC__ * 100 + __GNUC_MINOR__ >= 301 |
| #define XML_DEPRECATED __attribute__((deprecated)) |
| #elif defined(_MSC_VER) && _MSC_VER >= 1400 |
| /* Available since Visual Studio 2005 */ |
| #define XML_DEPRECATED __declspec(deprecated) |
| #else |
| #define XML_DEPRECATED |
| #endif |
| #endif |
| |
| #ifndef XML_DEPRECATED_MEMBER |
| #if defined(IN_LIBXML) |
| #define XML_DEPRECATED_MEMBER |
| #elif __GNUC__ * 100 + __GNUC_MINOR__ >= 301 |
| #define XML_DEPRECATED_MEMBER __attribute__((deprecated)) |
| #else |
| #define XML_DEPRECATED_MEMBER |
| #endif |
| #endif |
| |
| /* |
| * Warnings pragmas, should be moved from public headers |
| */ |
| |
| #if defined(__LCC__) |
| |
| #define XML_IGNORE_FPTR_CAST_WARNINGS |
| #define XML_POP_WARNINGS \ |
| _Pragma("diag_default 1215") |
| |
| #elif defined(__clang__) || (__GNUC__ * 100 + __GNUC_MINOR__ >= 406) |
| |
| #if defined(__clang__) || (__GNUC__ * 100 + __GNUC_MINOR__ >= 800) |
| #define XML_IGNORE_FPTR_CAST_WARNINGS \ |
| _Pragma("GCC diagnostic push") \ |
| _Pragma("GCC diagnostic ignored \"-Wpedantic\"") \ |
| _Pragma("GCC diagnostic ignored \"-Wcast-function-type\"") |
| #else |
| #define XML_IGNORE_FPTR_CAST_WARNINGS \ |
| _Pragma("GCC diagnostic push") \ |
| _Pragma("GCC diagnostic ignored \"-Wpedantic\"") |
| #endif |
| #define XML_POP_WARNINGS \ |
| _Pragma("GCC diagnostic pop") |
| |
| #elif defined(_MSC_VER) && _MSC_VER >= 1400 |
| |
| #define XML_IGNORE_FPTR_CAST_WARNINGS __pragma(warning(push)) |
| #define XML_POP_WARNINGS __pragma(warning(pop)) |
| |
| #else |
| |
| #define XML_IGNORE_FPTR_CAST_WARNINGS |
| #define XML_POP_WARNINGS |
| |
| #endif |
| |
| /* |
| * Originally declared in xmlversion.h which is generated |
| */ |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif |
| |
| XMLPUBFUN void xmlCheckVersion(int version); |
| |
| #ifdef __cplusplus |
| } |
| #endif |
| |
| #endif /* __XML_EXPORTS_H__ */ |
| |
| |