Edit

kc3-lang/libxml2/include/libxml/xmlexports.h

Branch :

  • Show log

    Commit

  • Author : Nick Wellnhofer
    Date : 2024-09-04 16:19:42
    Hash : de10d4cd
    Message : include: Check whether _MSC_VER is defined Should fix #795.

  • include/libxml/xmlexports.h
  • /*
     * 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
    
    /*
     * 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__ */