2001-04-21 20:57:29 +04:00
/*
* 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__
2022-04-27 13:39:12 +03:00
/*
* These macros must be defined before including system headers .
* Do not add any # include directives above this block .
*/
2003-04-18 16:34:58 +04:00
# ifndef NO_LARGEFILE_SOURCE
2022-12-08 05:58:41 +03:00
# ifndef _LARGEFILE_SOURCE
# define _LARGEFILE_SOURCE
# endif
# ifndef _FILE_OFFSET_BITS
# define _FILE_OFFSET_BITS 64
# endif
2003-04-18 16:34:58 +04:00
# endif
2012-08-13 12:56:11 +04:00
/*
2022-12-08 05:58:41 +03:00
* These files are generated by the build system and contain private
* and public build configuration .
2012-08-13 12:56:11 +04:00
*/
2001-04-21 20:57:29 +04:00
# include "config.h"
# include <libxml/xmlversion.h>
2022-12-08 05:58:41 +03:00
/*
* Due to some Autotools limitations , this variable must be passed as
* compiler flag . Define a default value if the macro wasn ' t set by the
* build system .
*/
2022-03-30 01:32:35 +03:00
# ifndef SYSCONFDIR
# define SYSCONFDIR " / etc"
# endif
2022-11-27 04:09:27 +03:00
# if !defined(_WIN32) && \
! defined ( __CYGWIN__ ) & & \
( defined ( __clang__ ) | | \
( defined ( __GNUC__ ) & & ( __GNUC__ > = 4 ) ) )
2022-12-08 05:58:41 +03:00
# define XML_HIDDEN __attribute__((visibility("hidden")))
2022-11-27 04:09:27 +03:00
# else
2022-12-08 05:58:41 +03:00
# define XML_HIDDEN
2022-11-27 04:09:27 +03:00
# endif
2024-06-17 06:02:45 +03:00
# if __GNUC__ * 100 + __GNUC_MINOR__ >= 207 || defined(__clang__)
2024-06-15 20:13:08 +03:00
# define ATTRIBUTE_UNUSED __attribute__((unused))
# else
# define ATTRIBUTE_UNUSED
# endif
2019-05-16 22:17:28 +03:00
# if defined(__clang__) || \
2023-11-08 23:52:27 +03:00
( defined ( __GNUC__ ) & & ( __GNUC__ > = 8 ) & & ! defined ( __EDG__ ) )
2022-12-08 05:58:41 +03:00
# define ATTRIBUTE_NO_SANITIZE(arg) __attribute__((no_sanitize(arg)))
2019-05-16 22:17:28 +03:00
# else
2022-12-08 05:58:41 +03:00
# define ATTRIBUTE_NO_SANITIZE(arg)
2019-05-16 22:17:28 +03:00
# endif
2023-09-16 20:45:30 +03:00
# ifdef __clang__
2024-01-25 14:52:14 +03:00
# if __clang_major__ >= 12
# 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
2023-09-16 20:45:30 +03:00
# else
# define ATTRIBUTE_NO_SANITIZE_INTEGER
# endif
2001-04-21 20:57:29 +04:00
# endif /* ! __XML_LIBXML_H__ */