| @@ -153,39 +153,26 @@ in this Software without prior written a | | | @@ -153,39 +153,26 @@ in this Software without prior written a |
153 | # define _X_NORETURN __attribute__((__noreturn__)) | | 153 | # define _X_NORETURN __attribute__((__noreturn__)) |
154 | #else | | 154 | #else |
155 | # define _X_NORETURN | | 155 | # define _X_NORETURN |
156 | #endif /* GNUC */ | | 156 | #endif /* GNUC */ |
157 | | | 157 | |
158 | /* Added in X11R6.9, so available in any version of modular xproto */ | | 158 | /* Added in X11R6.9, so available in any version of modular xproto */ |
159 | #if __has_attribute(__format__) \ | | 159 | #if __has_attribute(__format__) \ |
160 | || defined(__GNUC__) && ((__GNUC__ * 100 + __GNUC_MINOR__) >= 203) | | 160 | || defined(__GNUC__) && ((__GNUC__ * 100 + __GNUC_MINOR__) >= 203) |
161 | # define _X_ATTRIBUTE_PRINTF(x,y) __attribute__((__format__(__printf__,x,y))) | | 161 | # define _X_ATTRIBUTE_PRINTF(x,y) __attribute__((__format__(__printf__,x,y))) |
162 | #else /* not gcc >= 2.3 */ | | 162 | #else /* not gcc >= 2.3 */ |
163 | # define _X_ATTRIBUTE_PRINTF(x,y) | | 163 | # define _X_ATTRIBUTE_PRINTF(x,y) |
164 | #endif | | 164 | #endif |
165 | | | 165 | |
166 | /* requires xproto >= 7.0.22 - since this uses either gcc or C99 variable | | | |
167 | argument macros, must be only used inside #ifdef _X_NONNULL guards, as | | | |
168 | many legacy X clients are compiled in C89 mode still. */ | | | |
169 | #if __has_attribute(nonnull) \ | | | |
170 | && defined(__STDC_VERSION__) && (__STDC_VERSION__ - 0 >= 199901L) /* C99 */ | | | |
171 | #define _X_NONNULL(...) __attribute__((nonnull(__VA_ARGS__))) | | | |
172 | #elif __has_attribute(nonnull) \ | | | |
173 | || defined(__GNUC__) && ((__GNUC__ * 100 + __GNUC_MINOR__) >= 303) | | | |
174 | #define _X_NONNULL(args...) __attribute__((nonnull(args))) | | | |
175 | #elif defined(__STDC_VERSION__) && (__STDC_VERSION__ - 0 >= 199901L) /* C99 */ | | | |
176 | #define _X_NONNULL(...) /* */ | | | |
177 | #endif | | | |
178 | | | | |
179 | /* requires xproto >= 7.0.22 */ | | 166 | /* requires xproto >= 7.0.22 */ |
180 | #if __has_attribute(__unused__) \ | | 167 | #if __has_attribute(__unused__) \ |
181 | || defined(__GNUC__) && ((__GNUC__ * 100 + __GNUC_MINOR__) >= 205) | | 168 | || defined(__GNUC__) && ((__GNUC__ * 100 + __GNUC_MINOR__) >= 205) |
182 | #define _X_UNUSED __attribute__((__unused__)) | | 169 | #define _X_UNUSED __attribute__((__unused__)) |
183 | #else | | 170 | #else |
184 | #define _X_UNUSED /* */ | | 171 | #define _X_UNUSED /* */ |
185 | #endif | | 172 | #endif |
186 | | | 173 | |
187 | /* C99 keyword "inline" or equivalent extensions in pre-C99 compilers */ | | 174 | /* C99 keyword "inline" or equivalent extensions in pre-C99 compilers */ |
188 | /* requires xproto >= 7.0.9 | | 175 | /* requires xproto >= 7.0.9 |
189 | (introduced in 7.0.8 but didn't support all compilers until 7.0.9) */ | | 176 | (introduced in 7.0.8 but didn't support all compilers until 7.0.9) */ |
190 | #if defined(inline) /* assume autoconf set it correctly */ || \ | | 177 | #if defined(inline) /* assume autoconf set it correctly */ || \ |
191 | (defined(__STDC_VERSION__) && (__STDC_VERSION__ - 0 >= 199901L)) /* C99 */ || \ | | 178 | (defined(__STDC_VERSION__) && (__STDC_VERSION__ - 0 >= 199901L)) /* C99 */ || \ |