summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorghazi <ghazi@138bc75d-0d04-0410-961f-82ee72b054a4>1999-11-10 17:57:21 +0000
committerghazi <ghazi@138bc75d-0d04-0410-961f-82ee72b054a4>1999-11-10 17:57:21 +0000
commite6e27f6ebbfa621543939db89ee35acec99c20c6 (patch)
tree3f1f607d7e9b02c763f4e7b5e8778d0e4ee8373e /include
parent887f59f0e42368a418f8eef9eea15b666493b5ad (diff)
downloadgcc-e6e27f6ebbfa621543939db89ee35acec99c20c6.tar.gz
include:
* ansidecl.h: Define and test `GCC_VERSION', not `HAVE_GCC_VERSION'. gcc: * cppinit.c: Test `GCC_VERSION', not `HAVE_GCC_VERSION'. * gansidecl.h: Likewise. * rtl.c: Likewise. * rtl.h: Likewise. * toplev.h: Likewise. * tree.c: Likewise. * tree.h: Likewise. * varray.c: Likewise. * varray.h: Likewise. gcc/cp: * cp-tree.h: Test `GCC_VERSION', not `HAVE_GCC_VERSION'. gcc/f: * proj.h: Test `GCC_VERSION', not `HAVE_GCC_VERSION'. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@30477 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'include')
-rw-r--r--include/ChangeLog5
-rw-r--r--include/ansidecl.h31
2 files changed, 27 insertions, 9 deletions
diff --git a/include/ChangeLog b/include/ChangeLog
index 545574f9f27..5bdc29052f3 100644
--- a/include/ChangeLog
+++ b/include/ChangeLog
@@ -1,3 +1,8 @@
+Wed Nov 10 12:43:21 1999 Philippe De Muyter <phdm@macqel.be>
+ Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * ansidecl.h: Define and test `GCC_VERSION', not `HAVE_GCC_VERSION'.
+
1999-10-23 08:51 -0700 Zack Weinberg <zack@bitmover.com>
* hashtab.h: Give hash_table_t a struct tag. Add prototypes
diff --git a/include/ansidecl.h b/include/ansidecl.h
index 8fe3893767f..2b5c0e7f549 100644
--- a/include/ansidecl.h
+++ b/include/ansidecl.h
@@ -160,27 +160,40 @@ 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
+
+/* Using MACRO(x,y) in cpp #if conditionals does not work with some
+ older preprocessors. Thus we can't define something like this:
+
#define HAVE_GCC_VERSION(MAJOR, MINOR) \
(__GNUC__ > (MAJOR) || (__GNUC__ == (MAJOR) && __GNUC_MINOR__ >= (MINOR)))
-#endif /* ! HAVE_GCC_VERSION */
+
+and then test "#if HAVE_GCC_VERSION(2,7)".
+
+So instead we use the macro below and test it against specific values. */
+
+/* This macro simplifies testing whether we are using gcc, and if it
+ is of a particular minimum version. (Both major & minor numbers are
+ significant.) This macro will evaluate to 0 if we are not using
+ gcc at all. */
+#ifndef GCC_VERSION
+#define GCC_VERSION (__GNUC__ * 1000 + __GNUC_MINOR__)
+#endif /* 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 ! HAVE_GCC_VERSION(2,7)
+#if (GCC_VERSION < 2007)
# define __attribute__(x)
#endif
+/* Attributes on labels were valid as of gcc 2.93. */
#ifndef ATTRIBUTE_UNUSED_LABEL
-# if ! HAVE_GCC_VERSION(2,93)
-# define ATTRIBUTE_UNUSED_LABEL
-# else
+# if (GCC_VERSION >= 2093)
# define ATTRIBUTE_UNUSED_LABEL ATTRIBUTE_UNUSED
-# endif /* GNUC < 2.93 */
+# else
+# define ATTRIBUTE_UNUSED_LABEL
+# endif /* GNUC >= 2.93 */
#endif /* ATTRIBUTE_UNUSED_LABEL */
#ifndef ATTRIBUTE_UNUSED