From 19e94c3e01e014fe99ddf6027a7fff3417e5ed22 Mon Sep 17 00:00:00 2001 From: Ian Lance Taylor Date: Sun, 11 Jul 1999 19:15:01 +0000 Subject: [PATCH] * ansidecl.h: Copy attribute support macros from egcs. --- include/ChangeLog | 4 ++++ include/ansidecl.h | 35 ++++++++++++++++++++++++++++++++++- 2 files changed, 38 insertions(+), 1 deletion(-) diff --git a/include/ChangeLog b/include/ChangeLog index ea0bb3c6a..263dc947a 100644 --- a/include/ChangeLog +++ b/include/ChangeLog @@ -1,3 +1,7 @@ +1999-07-11 Ian Lance Taylor + + * ansidecl.h: Copy attribute support macros from egcs. + 1999-06-22 Mark Mitchell * bfdlink.h (struct bfd_link_hash_entry): Add init_function and 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 */