| OLD | NEW |
| 1 /* ANSI and traditional C compatability macros | 1 /* ANSI and traditional C compatability macros |
| 2 Copyright 1991, 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, | 2 Copyright 1991, 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, |
| 3 2002, 2003, 2004, 2005, 2006, 2007, 2009, 2010 | 3 2002, 2003, 2004, 2005, 2006, 2007, 2009, 2010 |
| 4 Free Software Foundation, Inc. | 4 Free Software Foundation, Inc. |
| 5 This file is part of the GNU C Library. | 5 This file is part of the GNU C Library. |
| 6 | 6 |
| 7 This program is free software; you can redistribute it and/or modify | 7 This program is free software; you can redistribute it and/or modify |
| 8 it under the terms of the GNU General Public License as published by | 8 it under the terms of the GNU General Public License as published by |
| 9 the Free Software Foundation; either version 2 of the License, or | 9 the Free Software Foundation; either version 2 of the License, or |
| 10 (at your option) any later version. | 10 (at your option) any later version. |
| (...skipping 261 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 272 # endif | 272 # endif |
| 273 # else | 273 # else |
| 274 # if GCC_VERSION >= 4005 | 274 # if GCC_VERSION >= 4005 |
| 275 # define ATTRIBUTE_UNUSED_LABEL ATTRIBUTE_UNUSED ; | 275 # define ATTRIBUTE_UNUSED_LABEL ATTRIBUTE_UNUSED ; |
| 276 # else | 276 # else |
| 277 # define ATTRIBUTE_UNUSED_LABEL | 277 # define ATTRIBUTE_UNUSED_LABEL |
| 278 # endif | 278 # endif |
| 279 # endif | 279 # endif |
| 280 #endif | 280 #endif |
| 281 | 281 |
| 282 /* Similarly to ARG_UNUSED below. Prior to GCC 3.4, the C++ frontend |
| 283 couldn't parse attributes placed after the identifier name, and now |
| 284 the entire compiler is built with C++. */ |
| 282 #ifndef ATTRIBUTE_UNUSED | 285 #ifndef ATTRIBUTE_UNUSED |
| 283 #define ATTRIBUTE_UNUSED __attribute__ ((__unused__)) | 286 #if GCC_VERSION >= 3004 |
| 287 # define ATTRIBUTE_UNUSED __attribute__ ((__unused__)) |
| 288 #else |
| 289 #define ATTRIBUTE_UNUSED |
| 290 #endif |
| 284 #endif /* ATTRIBUTE_UNUSED */ | 291 #endif /* ATTRIBUTE_UNUSED */ |
| 285 | 292 |
| 286 /* Before GCC 3.4, the C++ frontend couldn't parse attributes placed after the | 293 /* Before GCC 3.4, the C++ frontend couldn't parse attributes placed after the |
| 287 identifier name. */ | 294 identifier name. */ |
| 288 #if ! defined(__cplusplus) || (GCC_VERSION >= 3004) | 295 #if ! defined(__cplusplus) || (GCC_VERSION >= 3004) |
| 289 # define ARG_UNUSED(NAME) NAME ATTRIBUTE_UNUSED | 296 # define ARG_UNUSED(NAME) NAME ATTRIBUTE_UNUSED |
| 290 #else /* !__cplusplus || GNUC >= 3.4 */ | 297 #else /* !__cplusplus || GNUC >= 3.4 */ |
| 291 # define ARG_UNUSED(NAME) NAME | 298 # define ARG_UNUSED(NAME) NAME |
| 292 #endif /* !__cplusplus || GNUC >= 3.4 */ | 299 #endif /* !__cplusplus || GNUC >= 3.4 */ |
| 293 | 300 |
| 294 #ifndef ATTRIBUTE_NORETURN | 301 #ifndef ATTRIBUTE_NORETURN |
| 295 #define ATTRIBUTE_NORETURN __attribute__ ((__noreturn__)) | 302 #define ATTRIBUTE_NORETURN __attribute__ ((__noreturn__)) |
| 296 #endif /* ATTRIBUTE_NORETURN */ | 303 #endif /* ATTRIBUTE_NORETURN */ |
| 297 | 304 |
| 298 /* Attribute `nonnull' was valid as of gcc 3.3. */ | 305 /* Attribute `nonnull' was valid as of gcc 3.3. */ |
| 299 #ifndef ATTRIBUTE_NONNULL | 306 #ifndef ATTRIBUTE_NONNULL |
| 300 # if (GCC_VERSION >= 3003) | 307 # if (GCC_VERSION >= 3003) |
| 301 # define ATTRIBUTE_NONNULL(m) __attribute__ ((__nonnull__ (m))) | 308 # define ATTRIBUTE_NONNULL(m) __attribute__ ((__nonnull__ (m))) |
| 302 # else | 309 # else |
| 303 # define ATTRIBUTE_NONNULL(m) | 310 # define ATTRIBUTE_NONNULL(m) |
| 304 # endif /* GNUC >= 3.3 */ | 311 # endif /* GNUC >= 3.3 */ |
| 305 #endif /* ATTRIBUTE_NONNULL */ | 312 #endif /* ATTRIBUTE_NONNULL */ |
| 306 | 313 |
| 314 /* Attribute `returns_nonnull' was valid as of gcc 4.9. */ |
| 315 #ifndef ATTRIBUTE_RETURNS_NONNULL |
| 316 # if (GCC_VERSION >= 4009) |
| 317 # define ATTRIBUTE_RETURNS_NONNULL __attribute__ ((__returns_nonnull__)) |
| 318 # else |
| 319 # define ATTRIBUTE_RETURNS_NONNULL |
| 320 # endif /* GNUC >= 4.9 */ |
| 321 #endif /* ATTRIBUTE_RETURNS_NONNULL */ |
| 322 |
| 307 /* Attribute `pure' was valid as of gcc 3.0. */ | 323 /* Attribute `pure' was valid as of gcc 3.0. */ |
| 308 #ifndef ATTRIBUTE_PURE | 324 #ifndef ATTRIBUTE_PURE |
| 309 # if (GCC_VERSION >= 3000) | 325 # if (GCC_VERSION >= 3000) |
| 310 # define ATTRIBUTE_PURE __attribute__ ((__pure__)) | 326 # define ATTRIBUTE_PURE __attribute__ ((__pure__)) |
| 311 # else | 327 # else |
| 312 # define ATTRIBUTE_PURE | 328 # define ATTRIBUTE_PURE |
| 313 # endif /* GNUC >= 3.0 */ | 329 # endif /* GNUC >= 3.0 */ |
| 314 #endif /* ATTRIBUTE_PURE */ | 330 #endif /* ATTRIBUTE_PURE */ |
| 315 | 331 |
| 316 /* Use ATTRIBUTE_PRINTF when the format specifier must not be NULL. | 332 /* Use ATTRIBUTE_PRINTF when the format specifier must not be NULL. |
| (...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 425 #define ENUM_BITFIELD(TYPE) __extension__ enum TYPE | 441 #define ENUM_BITFIELD(TYPE) __extension__ enum TYPE |
| 426 #else | 442 #else |
| 427 #define ENUM_BITFIELD(TYPE) unsigned int | 443 #define ENUM_BITFIELD(TYPE) unsigned int |
| 428 #endif | 444 #endif |
| 429 | 445 |
| 430 #ifdef __cplusplus | 446 #ifdef __cplusplus |
| 431 } | 447 } |
| 432 #endif | 448 #endif |
| 433 | 449 |
| 434 #endif /* ansidecl.h */ | 450 #endif /* ansidecl.h */ |
| OLD | NEW |