Viewing file: xmlexports.h (3.2 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
/* * 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 */
#ifndef ATTRIBUTE_UNUSED #if __GNUC__ * 100 + __GNUC_MINOR__ >= 207 || defined(__clang__) #define ATTRIBUTE_UNUSED __attribute__((unused)) #else #define ATTRIBUTE_UNUSED #endif #endif
#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
/* * 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
/* * Accessors for globals */
#define XML_NO_ATTR
#ifdef LIBXML_THREAD_ENABLED #define XML_DECLARE_GLOBAL(name, type, attrs) \ attrs XMLPUBFUN type *__##name(void); #define XML_GLOBAL_MACRO(name) (*__##name()) #else #define XML_DECLARE_GLOBAL(name, type, attrs) \ attrs XMLPUBVAR type name; #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__ */
|