* toplev.c (print_version): Update GMP version string calculation.
authorghazi <ghazi@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 29 Apr 2009 04:19:38 +0000 (04:19 +0000)
committerghazi <ghazi@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 29 Apr 2009 04:19:38 +0000 (04:19 +0000)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146921 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/toplev.c

index 750bef1..aa0aaea 100644 (file)
@@ -1,3 +1,7 @@
+2009-04-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * toplev.c (print_version): Update GMP version string calculation.
+
 2009-04-28  Eric Botcazou  <ebotcazou@adacore.com>
 
        PR rtl-optimization/39938
index 95b5ba3..f1a481c 100644 (file)
@@ -1130,10 +1130,14 @@ print_version (FILE *file, const char *indent)
           indent, __VERSION__);
 
   /* We need to stringify the GMP macro values.  Ugh, gmp_version has
-     two string formats, "i.j.k" and "i.j" when k is zero.  */
+     two string formats, "i.j.k" and "i.j" when k is zero.  As of
+     gmp-4.3.0, GMP always uses the 3 number format.  */
 #define GCC_GMP_STRINGIFY_VERSION3(X) #X
 #define GCC_GMP_STRINGIFY_VERSION2(X) GCC_GMP_STRINGIFY_VERSION3(X)
-#if __GNU_MP_VERSION_PATCHLEVEL == 0
+#define GCC_GMP_VERSION_NUM(X,Y,Z) (((X) << 16L) | ((Y) << 8) | (Z))
+#define GCC_GMP_VERSION \
+  GCC_GMP_VERSION_NUM(__GNU_MP_VERSION, __GNU_MP_VERSION_MINOR, __GNU_MP_VERSION_PATCHLEVEL)
+#if GCC_GMP_VERSION < GCC_GMP_VERSION_NUM(4,3,0) && __GNU_MP_VERSION_PATCHLEVEL == 0
 #define GCC_GMP_STRINGIFY_VERSION GCC_GMP_STRINGIFY_VERSION2(__GNU_MP_VERSION) "." \
   GCC_GMP_STRINGIFY_VERSION2(__GNU_MP_VERSION_MINOR)
 #else