aboutsummaryrefslogtreecommitdiff
path: root/include/ansidecl.h
diff options
context:
space:
mode:
authorKaveh R. Ghazi <ghazi@caip.rutgers.edu>1999-10-10 13:02:41 +0000
committerKaveh Ghazi <ghazi@gcc.gnu.org>1999-10-10 13:02:41 +0000
commitb30bce6b52996616cb627a68222fbf5d8be9d4b9 (patch)
tree310d1d76de40ddae5138d2494f3d456112cfa3b0 /include/ansidecl.h
parent4724334af7ddfb70240a39f965647d32773ba417 (diff)
downloadgcc-b30bce6b52996616cb627a68222fbf5d8be9d4b9.zip
gcc-b30bce6b52996616cb627a68222fbf5d8be9d4b9.tar.gz
gcc-b30bce6b52996616cb627a68222fbf5d8be9d4b9.tar.bz2
ansidecl.h (HAVE_GCC_VERSION): New macro.
include: * ansidecl.h (HAVE_GCC_VERSION): New macro. Use instead of explicitly testing __GNUC__ and __GNUC_MINOR__. (ATTRIBUTE_PRINTF): Use `__format__', not `format'. gcc: * cppinit.c: Use HAVE_GCC_VERSION instead of explicitly testing __GNUC__ and __GNUC_MINOR__. * gansidecl.h: Likewise. * rtl.c: Likewise. * rtl.h: Likewise. * toplev.h: Likewise. * tree.c: Likewise. * tree.h: Likewise. * varray.c: Likewise. * varray.h: Likewise. cp: * cp-tree.h: Use HAVE_GCC_VERSION instead of explicitly testing __GNUC__ and __GNUC_MINOR__. f: * proj.h: Use HAVE_GCC_VERSION instead of explicitly testing __GNUC__ and __GNUC_MINOR__. Don't define BUILT_WITH_270. Define macro UNUSED in terms of ATTRIBUTE_UNUSED. From-SVN: r29890
Diffstat (limited to 'include/ansidecl.h')
-rw-r--r--include/ansidecl.h13
1 files changed, 10 insertions, 3 deletions
diff --git a/include/ansidecl.h b/include/ansidecl.h
index 989dd67..8fe3893 100644
--- a/include/ansidecl.h
+++ b/include/ansidecl.h
@@ -160,16 +160,23 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#endif /* ANSI C. */
+/* This macro will return true if we are using gcc, and it is of a
+ particular minimum version (both major & minor numbers are checked.) */
+#ifndef HAVE_GCC_VERSION
+#define HAVE_GCC_VERSION(MAJOR, MINOR) \
+ (__GNUC__ > (MAJOR) || (__GNUC__ == (MAJOR) && __GNUC_MINOR__ >= (MINOR)))
+#endif /* ! HAVE_GCC_VERSION */
+
/* 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)
+#if ! HAVE_GCC_VERSION(2,7)
# define __attribute__(x)
#endif
#ifndef ATTRIBUTE_UNUSED_LABEL
-# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 93)
+# if ! HAVE_GCC_VERSION(2,93)
# define ATTRIBUTE_UNUSED_LABEL
# else
# define ATTRIBUTE_UNUSED_LABEL ATTRIBUTE_UNUSED
@@ -185,7 +192,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#endif /* ATTRIBUTE_NORETURN */
#ifndef ATTRIBUTE_PRINTF
-#define ATTRIBUTE_PRINTF(m, n) __attribute__ ((format (__printf__, m, n)))
+#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)