/usr/include/ustr-compiler.h is in libustr-dev 1.0.4-6.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 | /* Copyright (c) 2007 James Antill -- See LICENSE file for terms. */
#ifndef USTR_MAIN_H
#error " Include ustr.h or ustr-main.h before this file."
#endif
#ifndef USTR_CONF_HAVE_64bit_SIZE_MAX
#define USTR_CONF_HAVE_64bit_SIZE_MAX 0
#endif
#ifndef USTR_CONF_HAVE_ATTR_FMT
#define USTR_CONF_HAVE_ATTR_FMT 1
#endif
/* We assume this is enough,
* C99 specifies that va_copy() exists and is a macro */
#ifdef va_copy
# define USTR_CONF_HAVE_VA_COPY 1
# define USTR__VA_COPY(x, y) va_copy(x, y)
#elif defined(__va_copy)
# define USTR_CONF_HAVE_VA_COPY 1
# define USTR__VA_COPY(x, y) __va_copy(x, y)
#else
# define USTR_CONF_HAVE_VA_COPY 0
#endif
#ifndef USTR_CONF_HAVE_ATTR_NONNULL
#if defined(__GNUC__) && (__GNUC__ > 3) /* not sure */
#define USTR_CONF_HAVE_ATTR_NONNULL 1
#else
#define USTR_CONF_HAVE_ATTR_NONNULL 0
#endif
#endif
#ifndef USTR_CONF_HAVE_ATTR_PURE
#if defined(__GNUC__) && \
((__GNUC__ > 2) || ((__GNUC__ == 2) && (__GNUC_MINOR__ >= 96)))
#define USTR_CONF_HAVE_ATTR_PURE 1
#else
#define USTR_CONF_HAVE_ATTR_PURE 0
#endif
#endif
#ifndef USTR_CONF_HAVE_ATTR_CONST
#if defined(__GNUC__) && \
((__GNUC__ > 2) || ((__GNUC__ == 2) && (__GNUC_MINOR__ >= 5)))
#define USTR_CONF_HAVE_ATTR_CONST 1
#else
#define USTR_CONF_HAVE_ATTR_CONST 0
#endif
#endif
#ifndef USTR_CONF_HAVE_ATTR_MALLOC
#if defined(__GNUC__) && (__GNUC__ > 3) /* not sure */
#define USTR_CONF_HAVE_ATTR_MALLOC 1
#else
#define USTR_CONF_HAVE_ATTR_MALLOC 0
#endif
#endif
#ifndef USTR_CONF_HAVE_ATTR_WARN_UNUSED_RET
#if defined(__GNUC__) && (__GNUC__ > 3) /* not sure */
#define USTR_CONF_HAVE_ATTR_WARN_UNUSED_RET 1
#else
#define USTR_CONF_HAVE_ATTR_WARN_UNUSED_RET 0
#endif
#endif
#ifndef USTR_CONF_HAVE_ATTR_UNUSED
#if defined(__GNUC__) && \
((__GNUC__ > 2) || ((__GNUC__ == 2) && (__GNUC_MINOR__ >= 96))) /*before? */
#define USTR_CONF_HAVE_ATTR_UNUSED 1
#else
#define USTR_CONF_HAVE_ATTR_UNUSED 0
#endif
#endif
#ifndef USTR_CONF_HAVE_ATTR_DEPRECATED
#if defined(__GNUC__) && (__GNUC__ > 3) /* not sure */
#define USTR_CONF_HAVE_ATTR_DEPRECATED 1
#else
#define USTR_CONF_HAVE_ATTR_DEPRECATED 0
#endif
#endif
#ifndef USTR_CONF_HAVE_ATTR_SENTINEL
#if defined(__GNUC__) && \
((__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 1))) /*before? */
#define USTR_CONF_HAVE_ATTR_SENTINEL 1
#else
#define USTR_CONF_HAVE_ATTR_SENTINEL 0
#endif
#endif
#if USTR_CONF_COMPILE_USE_INLINE
#define USTR__INLINE __attribute__ ((gnu_inline)) inline
#else
#define USTR__INLINE /* no inline */
#endif
#ifndef USTR_CONF_E_PROTO /* external */
# if USTR_CONF_INCLUDE_CODEONLY_HEADERS
# define USTR_CONF_E_PROTO static USTR__INLINE
# else
# define USTR_CONF_E_PROTO extern
# endif
#endif
#ifndef USTR_CONF_I_PROTO /* implementation */
# if USTR_CONF_INCLUDE_CODEONLY_HEADERS
# define USTR_CONF_I_PROTO static USTR__INLINE
# else
# define USTR_CONF_I_PROTO
# endif
#endif
#ifndef USTR_CONF_EI_PROTO /* external inline */
# if USTR_CONF_INCLUDE_CODEONLY_HEADERS
# define USTR_CONF_EI_PROTO static USTR__INLINE
# else
# define USTR_CONF_EI_PROTO extern
# endif
#endif
#ifndef USTR_CONF_II_PROTO /* implementation of inline */
# if USTR_CONF_INCLUDE_CODEONLY_HEADERS
# define USTR_CONF_II_PROTO static USTR__INLINE
# else
# define USTR_CONF_II_PROTO extern __attribute__ ((gnu_inline)) inline
# endif
#endif
#ifndef USTR_CONF_e_PROTO /* internal, unless INCLUDE_CODEONLY_HEADERS=1 */
#define USTR_CONF_e_PROTO static USTR__INLINE
#endif
#ifndef USTR_CONF_i_PROTO /* implementation of "external", dito. */
#define USTR_CONF_i_PROTO static USTR__INLINE
#endif
/* GCC helper macros */
#if defined(__GNUC__) && !defined(__STRICT_ANSI__) && \
USTR_CONF_HAVE_ATTR_FMT && USTR_CONF_COMPILE_USE_ATTRIBUTES
# define USTR__COMPILE_ATTR_FMT(x, y) \
__attribute__ ((__format__ (__printf__, x, y)))
#else
# define USTR__COMPILE_ATTR_FMT(x, y) /* nothing */
#endif
#if 0 && defined(__GNUC__) && !defined(__STRICT_ANSI__) && \
USTR_CONF_HAVE_ATTR_NONNULL && USTR_CONF_COMPILE_USE_ATTRIBUTES
# define USTR__COMPILE_ATTR_NONNULL_A() \
__attribute__ ((__nonnull__))
# define USTR__COMPILE_ATTR_NONNULL_L(x) \
__attribute__ ((__nonnull__ x))
#else
# define USTR__COMPILE_ATTR_NONNULL_A() /* nothing */
# define USTR__COMPILE_ATTR_NONNULL_L(x) /* nothing */
#endif
#if defined(__GNUC__) && !defined(__STRICT_ANSI__) && \
USTR_CONF_HAVE_ATTR_PURE && USTR_CONF_COMPILE_USE_ATTRIBUTES
# define USTR__COMPILE_ATTR_PURE() \
__attribute__ ((__pure__))
#else
# define USTR__COMPILE_ATTR_PURE() /* nothing */
#endif
#if defined(__GNUC__) && !defined(__STRICT_ANSI__) && \
USTR_CONF_HAVE_ATTR_CONST && USTR_CONF_COMPILE_USE_ATTRIBUTES
# define USTR__COMPILE_ATTR_CONST() \
__attribute__ ((__const__))
#else
# define USTR__COMPILE_ATTR_CONST() /* nothing */
#endif
#if defined(__GNUC__) && !defined(__STRICT_ANSI__) && \
USTR_CONF_HAVE_ATTR_MALLOC && USTR_CONF_COMPILE_USE_ATTRIBUTES
# define USTR__COMPILE_ATTR_MALLOC() \
__attribute__ ((__malloc__))
#else
# define USTR__COMPILE_ATTR_MALLOC() /* nothing */
#endif
#if defined(__GNUC__) && !defined(__STRICT_ANSI__) && \
USTR_CONF_HAVE_ATTR_WARN_UNUSED_RET && USTR_CONF_COMPILE_USE_ATTRIBUTES
# define USTR__COMPILE_ATTR_WARN_UNUSED_RET() \
__attribute__ ((__warn_unused_result__))
#else
# define USTR__COMPILE_ATTR_WARN_UNUSED_RET() /* nothing */
#endif
#if defined(__GNUC__) && !defined(__STRICT_ANSI__) && \
USTR_CONF_HAVE_ATTR_UNUSED && USTR_CONF_COMPILE_USE_ATTRIBUTES
# define USTR__COMPILE_ATTR_UNUSED(x) ustr__UNUSED_ ## x __attribute__((unused))
#else
# define USTR__COMPILE_ATTR_UNUSED(x) ustr__UNUSED_ ## x
#endif
#if defined(__GNUC__) && !defined(__STRICT_ANSI__) && \
USTR_CONF_HAVE_ATTR_UNUSED && USTR_CONF_COMPILE_USE_ATTRIBUTES
# define USTR__COMPILE_ATTR_MAYBE_UNUSED(x) x __attribute__((unused))
#else
# define USTR__COMPILE_ATTR_MAYBE_UNUSED(x) x
#endif
#if defined(__GNUC__) && !defined(__STRICT_ANSI__) && \
USTR_CONF_HAVE_ATTR_DEPRECATED && USTR_CONF_COMPILE_USE_ATTRIBUTES
# define USTR__COMPILE_ATTR_DEPRECATED() __attribute__ ((__deprecated__))
#else
# define USTR__COMPILE_ATTR_DEPRECATED() /* nothing */
#endif
#if defined(__GNUC__) && !defined(__STRICT_ANSI__) && \
USTR_CONF_HAVE_ATTR_SENTINEL && USTR_CONF_COMPILE_USE_ATTRIBUTES
# define USTR__COMPILE_ATTR_SENTINEL(x) \
__attribute__ ((__sentinel__ (x)))
#else
# define USTR__COMPILE_ATTR_SENTINEL(x) /* nothing */
#endif
|