ReactOS 0.4.16-dev-2207-geb15453
libxml.h
Go to the documentation of this file.
1/*
2 * libxml.h: internal header only used during the compilation of libxml
3 *
4 * See COPYRIGHT for the status of this software
5 *
6 * Author: breese@users.sourceforge.net
7 */
8
9#ifndef __XML_LIBXML_H__
10#define __XML_LIBXML_H__
11
12/*
13 * These macros must be defined before including system headers.
14 * Do not add any #include directives above this block.
15 */
16#ifndef NO_LARGEFILE_SOURCE
17 #ifndef _LARGEFILE_SOURCE
18 #define _LARGEFILE_SOURCE
19 #endif
20 #ifndef _FILE_OFFSET_BITS
21 #define _FILE_OFFSET_BITS 64
22 #endif
23#endif
24
25/*
26 * These files are generated by the build system and contain private
27 * and public build configuration.
28 */
29#include "win32config.h"
30#include <libxml/xmlversion.h>
31
32/*
33 * Due to some Autotools limitations, this variable must be passed as
34 * compiler flag. Define a default value if the macro wasn't set by the
35 * build system.
36 */
37#ifndef SYSCONFDIR
38 #define SYSCONFDIR "/etc"
39#endif
40
41#ifdef WITH_TRIO
42 #define TRIO_REPLACE_STDIO
43 #include "trio.h"
44#endif
45
46#if !defined(_WIN32) && \
47 !defined(__CYGWIN__) && \
48 (defined(__clang__) || \
49 (defined(__GNUC__) && (__GNUC__ >= 4)))
50 #define XML_HIDDEN __attribute__((visibility("hidden")))
51#else
52 #define XML_HIDDEN
53#endif
54
55#if defined(__clang__) || \
56 (defined(__GNUC__) && (__GNUC__ >= 8))
57 #define ATTRIBUTE_NO_SANITIZE(arg) __attribute__((no_sanitize(arg)))
58#else
59 #define ATTRIBUTE_NO_SANITIZE(arg)
60#endif
61
62#ifdef __clang__
63 #define ATTRIBUTE_NO_SANITIZE_INTEGER \
64 ATTRIBUTE_NO_SANITIZE("unsigned-integer-overflow") \
65 ATTRIBUTE_NO_SANITIZE("unsigned-shift-base")
66#else
67 #define ATTRIBUTE_NO_SANITIZE_INTEGER
68#endif
69
70#endif /* ! __XML_LIBXML_H__ */