diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 750bef1467d..aa0aaea9b4f 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2009-04-29 Kaveh R. Ghazi + + * toplev.c (print_version): Update GMP version string calculation. + 2009-04-28 Eric Botcazou PR rtl-optimization/39938 diff --git a/gcc/toplev.c b/gcc/toplev.c index 95b5ba3d70d..f1a481cbffe 100644 --- a/gcc/toplev.c +++ b/gcc/toplev.c @@ -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