diff options
author | Ian Lance Taylor <iant@google.com> | 1999-07-11 19:15:01 +0000 |
---|---|---|
committer | Ian Lance Taylor <iant@google.com> | 1999-07-11 19:15:01 +0000 |
commit | 19e94c3e01e014fe99ddf6027a7fff3417e5ed22 (patch) | |
tree | 6bdb5aa26d5f60f2c3aa4e70803a385f11fc25b3 /include/ansidecl.h | |
parent | 9930fb5b1e6d316a4a0ab53fbbb17046108a1e4e (diff) | |
download | cygnal-19e94c3e01e014fe99ddf6027a7fff3417e5ed22.tar.gz cygnal-19e94c3e01e014fe99ddf6027a7fff3417e5ed22.tar.bz2 cygnal-19e94c3e01e014fe99ddf6027a7fff3417e5ed22.zip |
* ansidecl.h: Copy attribute support macros from egcs.
Diffstat (limited to 'include/ansidecl.h')
-rw-r--r-- | include/ansidecl.h | 35 |
1 files changed, 34 insertions, 1 deletions
diff --git a/include/ansidecl.h b/include/ansidecl.h index cdb9fb719..989dd6778 100644 --- a/include/ansidecl.h +++ b/include/ansidecl.h @@ -1,5 +1,5 @@ /* ANSI and traditional C compatability macros - Copyright 1991, 1992, 1996 Free Software Foundation, Inc. + Copyright 1991, 1992, 1996, 1999 Free Software Foundation, Inc. This file is part of the GNU C Library. This program is free software; you can redistribute it and/or modify @@ -160,4 +160,37 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #endif /* ANSI C. */ +/* Define macros for some gcc attributes. This permits us to use the + macros freely, and know that they will come into play for the + version of gcc in which they are supported. */ + +#if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 7) +# define __attribute__(x) +#endif + +#ifndef ATTRIBUTE_UNUSED_LABEL +# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 93) +# define ATTRIBUTE_UNUSED_LABEL +# else +# define ATTRIBUTE_UNUSED_LABEL ATTRIBUTE_UNUSED +# endif /* GNUC < 2.93 */ +#endif /* ATTRIBUTE_UNUSED_LABEL */ + +#ifndef ATTRIBUTE_UNUSED +#define ATTRIBUTE_UNUSED __attribute__ ((__unused__)) +#endif /* ATTRIBUTE_UNUSED */ + +#ifndef ATTRIBUTE_NORETURN +#define ATTRIBUTE_NORETURN __attribute__ ((__noreturn__)) +#endif /* ATTRIBUTE_NORETURN */ + +#ifndef ATTRIBUTE_PRINTF +#define ATTRIBUTE_PRINTF(m, n) __attribute__ ((format (__printf__, m, n))) +#define ATTRIBUTE_PRINTF_1 ATTRIBUTE_PRINTF(1, 2) +#define ATTRIBUTE_PRINTF_2 ATTRIBUTE_PRINTF(2, 3) +#define ATTRIBUTE_PRINTF_3 ATTRIBUTE_PRINTF(3, 4) +#define ATTRIBUTE_PRINTF_4 ATTRIBUTE_PRINTF(4, 5) +#define ATTRIBUTE_PRINTF_5 ATTRIBUTE_PRINTF(5, 6) +#endif /* ATTRIBUTE_PRINTF */ + #endif /* ansidecl.h */ |