| /* |
| * libxml.h: internal header only used during the compilation of libxml |
| * |
| * See COPYRIGHT for the status of this software |
| * |
| * Author: breese@users.sourceforge.net |
| */ |
| |
| #ifndef __XML_LIBXML_H__ |
| #define __XML_LIBXML_H__ |
| |
| /* |
| * These macros must be defined before including system headers. |
| * Do not add any #include directives above this block. |
| */ |
| #ifndef NO_LARGEFILE_SOURCE |
| #ifndef _LARGEFILE_SOURCE |
| #define _LARGEFILE_SOURCE |
| #endif |
| #ifndef _FILE_OFFSET_BITS |
| #define _FILE_OFFSET_BITS 64 |
| #endif |
| #endif |
| |
| /* |
| * These files are generated by the build system and contain private |
| * and public build configuration. |
| */ |
| #include "config.h" |
| #include <libxml/xmlversion.h> |
| |
| #if defined(__has_attribute) |
| #define XML_HAS_ATTRIBUTE(x) __has_attribute(x) |
| #else |
| #define XML_HAS_ATTRIBUTE(x) 0 |
| #endif |
| #include <libxml/xmlstring.h> |
| |
| #if __STDC_VERSION__ >= 199901L |
| #define XML_INLINE inline |
| #elif defined(_MSC_VER) |
| #if _MSC_VER >= 1900 |
| #define XML_INLINE inline |
| #else |
| #define XML_INLINE _inline |
| #endif |
| #else |
| #define XML_INLINE |
| #endif |
| |
| #if __STDC_VERSION__ >= 199901L || (defined(_MSC_VER) && _MSC_VER >= 1900) |
| #include <stdint.h> |
| #define XML_INTPTR_T intptr_t |
| #else |
| #include <stddef.h> |
| #define XML_INTPTR_T ptrdiff_t |
| #endif |
| |
| #define XML_PTR_TO_INT(p) ((XML_INTPTR_T) (p)) |
| #define XML_INT_TO_PTR(i) ((void *) (XML_INTPTR_T) (i)) |
| |
| #if !defined(_WIN32) && \ |
| !defined(__CYGWIN__) && \ |
| (defined(__clang__) || \ |
| (defined(__GNUC__) && (__GNUC__ >= 4))) |
| #define XML_HIDDEN __attribute__((visibility("hidden"))) |
| #else |
| #define XML_HIDDEN |
| #endif |
| |
| #if __GNUC__ * 100 + __GNUC_MINOR__ >= 207 || defined(__clang__) |
| #define ATTRIBUTE_UNUSED __attribute__((unused)) |
| #else |
| #define ATTRIBUTE_UNUSED |
| #endif |
| |
| #ifdef HAVE_FUNC_ATTRIBUTE_DESTRUCTOR |
| #define ATTRIBUTE_DESTRUCTOR __attribute__((destructor)) |
| #endif |
| |
| #if XML_HAS_ATTRIBUTE(__counted_by__) |
| #define ATTRIBUTE_COUNTED_BY(c) __attribute__((__counted_by__(c))) |
| #else |
| #define ATTRIBUTE_COUNTED_BY(c) |
| #endif |
| |
| #if defined(__clang__) || \ |
| (defined(__GNUC__) && (__GNUC__ >= 8) && !defined(__EDG__)) |
| #define ATTRIBUTE_NO_SANITIZE(arg) __attribute__((no_sanitize(arg))) |
| #else |
| #define ATTRIBUTE_NO_SANITIZE(arg) |
| #endif |
| |
| #ifdef __clang__ |
| #if (!defined(__apple_build_version__) && __clang_major__ >= 12) || \ |
| (defined(__apple_build_version__) && __clang_major__ >= 13) |
| #define ATTRIBUTE_NO_SANITIZE_INTEGER \ |
| ATTRIBUTE_NO_SANITIZE("unsigned-integer-overflow") \ |
| ATTRIBUTE_NO_SANITIZE("unsigned-shift-base") |
| #else |
| #define ATTRIBUTE_NO_SANITIZE_INTEGER \ |
| ATTRIBUTE_NO_SANITIZE("unsigned-integer-overflow") |
| #endif |
| #else |
| #define ATTRIBUTE_NO_SANITIZE_INTEGER |
| #endif |
| |
| #endif /* ! __XML_LIBXML_H__ */ |