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