Changeset c8b646b for patches


Ignore:
Timestamp:
Mar 10, 2014, 7:24:30 PM (11 years ago)
Author:
William Harrington <kb0iic@…>
Branches:
clfs-3.0.0-systemd, clfs-3.0.0-sysvinit, master, systemd, sysvinit
Children:
b2bbca4
Parents:
9d71b20
Message:

Add MPFR patch level 5 patch.

File:
1 moved

Legend:

Unmodified
Added
Removed
  • patches/mpfr-3.1.2-fixes-2.patch

    r9d71b20 rc8b646b  
    11Submitted By: William Harrington (kb0iic at cross-lfs dot org)
    2 Date: 2013-11-11
     2Date: 2014-03-10
    33Initial Package Version: 3.1.2
    44Origin: Upstream
    55Upstream Status: Applied
    6 Description: Contains all upstream patches of mpfr current.
     6Description: Contains all upstream patches of mpfr current to patch level 5.
    77
    8 diff -Naur mpfr-3.1.2.orig/PATCHES mpfr-3.1.2/PATCHES
    9 --- mpfr-3.1.2.orig/PATCHES     2013-03-13 15:37:38.000000000 +0000
    10 +++ mpfr-3.1.2/PATCHES  2013-11-11 23:55:16.818732551 +0000
    11 @@ -0,0 +1,3 @@
    12 +clang-divby0
    13 +fits-smallneg
     8diff -Naurd mpfr-3.1.2-a/PATCHES mpfr-3.1.2-b/PATCHES
     9--- mpfr-3.1.2-a/PATCHES        2013-09-26 10:52:52.000000000 +0000
     10+++ mpfr-3.1.2-b/PATCHES        2013-09-26 10:52:52.000000000 +0000
     11@@ -0,0 +1 @@
    1412+exp_2
    15 diff -Naur mpfr-3.1.2.orig/VERSION mpfr-3.1.2/VERSION
    16 --- mpfr-3.1.2.orig/VERSION     2013-03-13 15:37:28.000000000 +0000
    17 +++ mpfr-3.1.2/VERSION  2013-11-11 23:55:16.818732551 +0000
     13diff -Naurd mpfr-3.1.2-a/VERSION mpfr-3.1.2-b/VERSION
     14--- mpfr-3.1.2-a/VERSION        2013-03-13 15:37:28.000000000 +0000
     15+++ mpfr-3.1.2-b/VERSION        2013-09-26 10:52:52.000000000 +0000
    1816@@ -1 +1 @@
    1917-3.1.2
    20 +3.1.2-p3
    21 diff -Naur mpfr-3.1.2.orig/src/exp_2.c mpfr-3.1.2/src/exp_2.c
    22 --- mpfr-3.1.2.orig/src/exp_2.c 2013-03-13 15:37:28.000000000 +0000
    23 +++ mpfr-3.1.2/src/exp_2.c      2013-11-11 23:55:16.810732551 +0000
     18+3.1.2-p1
     19diff -Naurd mpfr-3.1.2-a/src/exp_2.c mpfr-3.1.2-b/src/exp_2.c
     20--- mpfr-3.1.2-a/src/exp_2.c    2013-03-13 15:37:28.000000000 +0000
     21+++ mpfr-3.1.2-b/src/exp_2.c    2013-09-26 10:52:52.000000000 +0000
    2422@@ -204,7 +204,7 @@
    2523           for (k = 0; k < K; k++)
     
    3129             }
    3230           mpfr_set_z (s, ss, MPFR_RNDN);
    33 diff -Naur mpfr-3.1.2.orig/src/fits_u.h mpfr-3.1.2/src/fits_u.h
    34 --- mpfr-3.1.2.orig/src/fits_u.h        2013-03-13 15:37:35.000000000 +0000
    35 +++ mpfr-3.1.2/src/fits_u.h     2013-11-11 23:55:16.818732551 +0000
     31diff -Naurd mpfr-3.1.2-a/src/mpfr.h mpfr-3.1.2-b/src/mpfr.h
     32--- mpfr-3.1.2-a/src/mpfr.h     2013-03-13 15:37:37.000000000 +0000
     33+++ mpfr-3.1.2-b/src/mpfr.h     2013-09-26 10:52:52.000000000 +0000
     34@@ -27,7 +27,7 @@
     35 #define MPFR_VERSION_MAJOR 3
     36 #define MPFR_VERSION_MINOR 1
     37 #define MPFR_VERSION_PATCHLEVEL 2
     38-#define MPFR_VERSION_STRING "3.1.2"
     39+#define MPFR_VERSION_STRING "3.1.2-p1"
     40 
     41 /* Macros dealing with MPFR VERSION */
     42 #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
     43diff -Naurd mpfr-3.1.2-a/src/version.c mpfr-3.1.2-b/src/version.c
     44--- mpfr-3.1.2-a/src/version.c  2013-03-13 15:37:34.000000000 +0000
     45+++ mpfr-3.1.2-b/src/version.c  2013-09-26 10:52:52.000000000 +0000
     46@@ -25,5 +25,5 @@
     47 const char *
     48 mpfr_get_version (void)
     49 {
     50-  return "3.1.2";
     51+  return "3.1.2-p1";
     52 }
     53diff -Naurd mpfr-3.1.2-a/PATCHES mpfr-3.1.2-b/PATCHES
     54--- mpfr-3.1.2-a/PATCHES        2013-09-26 10:56:55.000000000 +0000
     55+++ mpfr-3.1.2-b/PATCHES        2013-09-26 10:56:55.000000000 +0000
     56@@ -0,0 +1 @@
     57+fits-smallneg
     58diff -Naurd mpfr-3.1.2-a/VERSION mpfr-3.1.2-b/VERSION
     59--- mpfr-3.1.2-a/VERSION        2013-09-26 10:52:52.000000000 +0000
     60+++ mpfr-3.1.2-b/VERSION        2013-09-26 10:56:55.000000000 +0000
     61@@ -1 +1 @@
     62-3.1.2-p1
     63+3.1.2-p2
     64diff -Naurd mpfr-3.1.2-a/src/fits_u.h mpfr-3.1.2-b/src/fits_u.h
     65--- mpfr-3.1.2-a/src/fits_u.h   2013-03-13 15:37:35.000000000 +0000
     66+++ mpfr-3.1.2-b/src/fits_u.h   2013-09-26 10:56:55.000000000 +0000
    3667@@ -32,17 +32,20 @@
    3768   int res;
     
    6394   for (s = MAXIMUM, prec = 0; s != 0; s /= 2, prec ++);
    6495 
    65 diff -Naur mpfr-3.1.2.orig/src/fits_uintmax.c mpfr-3.1.2/src/fits_uintmax.c
    66 --- mpfr-3.1.2.orig/src/fits_uintmax.c  2013-03-13 15:37:33.000000000 +0000
    67 +++ mpfr-3.1.2/src/fits_uintmax.c       2013-11-11 23:55:16.818732551 +0000
     96diff -Naurd mpfr-3.1.2-a/src/fits_uintmax.c mpfr-3.1.2-b/src/fits_uintmax.c
     97--- mpfr-3.1.2-a/src/fits_uintmax.c     2013-03-13 15:37:33.000000000 +0000
     98+++ mpfr-3.1.2-b/src/fits_uintmax.c     2013-09-26 10:56:55.000000000 +0000
    6899@@ -27,51 +27,19 @@
    69100 #include "mpfr-intmax.h"
     
    93124-
    94125-  e = MPFR_GET_EXP (f);
    95 +/* Note: though mpfr-impl.h is included in fits_u.h, we also include it
    96 +   above so that it gets included even when _MPFR_H_HAVE_INTMAX_T is not
    97 +   defined; this is necessary to avoid an empty translation unit, which
    98 +   is forbidden by ISO C. Without this, a failing test can be reproduced
    99 +   by creating an invalid stdint.h somewhere in the default include path
    100 +   and by compiling MPFR with "gcc -ansi -pedantic-errors". */
    101  
     126-
    102127-  /* first compute prec(MAXIMUM); fits in an int */
    103128-  for (s = MPFR_UINTMAX_MAX, prec = 0; s != 0; s /= 2, prec ++);
     
    108133-  if (e <= prec - 1)
    109134-    return 1;
    110 -
     135+/* Note: though mpfr-impl.h is included in fits_u.h, we also include it
     136+   above so that it gets included even when _MPFR_H_HAVE_INTMAX_T is not
     137+   defined; this is necessary to avoid an empty translation unit, which
     138+   is forbidden by ISO C. Without this, a failing test can be reproduced
     139+   by creating an invalid stdint.h somewhere in the default include path
     140+   and by compiling MPFR with "gcc -ansi -pedantic-errors". */
     141 
    111142-  /* if e >= prec + 1, then f >= 2^prec > MAXIMUM */
    112143-  if (e >= prec + 1)
     
    129160 
    130161 #endif
    131 diff -Naur mpfr-3.1.2.orig/src/mpfr-impl.h mpfr-3.1.2/src/mpfr-impl.h
    132 --- mpfr-3.1.2.orig/src/mpfr-impl.h     2013-03-13 15:37:36.000000000 +0000
    133 +++ mpfr-3.1.2/src/mpfr-impl.h  2013-11-11 23:55:16.818732551 +0000
    134 @@ -468,8 +468,16 @@
    135  #define MPFR_LIMBS_PER_FLT ((IEEE_FLT_MANT_DIG-1)/GMP_NUMB_BITS+1)
    136  
    137  /* Visual C++ doesn't support +1.0/0.0, -1.0/0.0 and 0.0/0.0
    138 -   at compile time. */
    139 -#if defined(_MSC_VER) && defined(_WIN32) && (_MSC_VER >= 1200)
    140 +   at compile time.
    141 +   Clang with -fsanitize=undefined is a bit similar due to a bug:
    142 +     http://llvm.org/bugs/show_bug.cgi?id=17381
    143 +   but even without its sanitizer, it may be better to use the
    144 +   double_zero version until IEEE 754 division by zero is properly
    145 +   supported:
    146 +     http://llvm.org/bugs/show_bug.cgi?id=17000
    147 +*/
    148 +#if (defined(_MSC_VER) && defined(_WIN32) && (_MSC_VER >= 1200)) || \
    149 +    defined(__clang__)
    150  static double double_zero = 0.0;
    151  # define DBL_NAN (double_zero/double_zero)
    152  # define DBL_POS_INF ((double) 1.0/double_zero)
    153 @@ -501,6 +509,8 @@
    154     (with Xcode 2.4.1, i.e. the latest one). */
    155  #define LVALUE(x) (&(x) == &(x) || &(x) != &(x))
    156  #define DOUBLE_ISINF(x) (LVALUE(x) && ((x) > DBL_MAX || (x) < -DBL_MAX))
    157 +/* The DOUBLE_ISNAN(x) macro is also valid on long double x
    158 +   (assuming that the compiler isn't too broken). */
    159  #ifdef MPFR_NANISNAN
    160  /* Avoid MIPSpro / IRIX64 / gcc -ffast-math (incorrect) optimizations.
    161     The + must not be replaced by a ||. With gcc -ffast-math, NaN is
    162 diff -Naur mpfr-3.1.2.orig/src/mpfr.h mpfr-3.1.2/src/mpfr.h
    163 --- mpfr-3.1.2.orig/src/mpfr.h  2013-03-13 15:37:37.000000000 +0000
    164 +++ mpfr-3.1.2/src/mpfr.h       2013-11-11 23:55:16.818732551 +0000
     162diff -Naurd mpfr-3.1.2-a/src/mpfr.h mpfr-3.1.2-b/src/mpfr.h
     163--- mpfr-3.1.2-a/src/mpfr.h     2013-09-26 10:52:52.000000000 +0000
     164+++ mpfr-3.1.2-b/src/mpfr.h     2013-09-26 10:56:55.000000000 +0000
    165165@@ -27,7 +27,7 @@
    166166 #define MPFR_VERSION_MAJOR 3
    167167 #define MPFR_VERSION_MINOR 1
    168168 #define MPFR_VERSION_PATCHLEVEL 2
    169 -#define MPFR_VERSION_STRING "3.1.2"
    170 +#define MPFR_VERSION_STRING "3.1.2-p3"
     169-#define MPFR_VERSION_STRING "3.1.2-p1"
     170+#define MPFR_VERSION_STRING "3.1.2-p2"
    171171 
    172172 /* Macros dealing with MPFR VERSION */
    173173 #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
    174 diff -Naur mpfr-3.1.2.orig/src/version.c mpfr-3.1.2/src/version.c
    175 --- mpfr-3.1.2.orig/src/version.c       2013-03-13 15:37:34.000000000 +0000
    176 +++ mpfr-3.1.2/src/version.c    2013-11-11 23:55:16.818732551 +0000
     174diff -Naurd mpfr-3.1.2-a/src/version.c mpfr-3.1.2-b/src/version.c
     175--- mpfr-3.1.2-a/src/version.c  2013-09-26 10:52:52.000000000 +0000
     176+++ mpfr-3.1.2-b/src/version.c  2013-09-26 10:56:55.000000000 +0000
    177177@@ -25,5 +25,5 @@
    178178 const char *
    179179 mpfr_get_version (void)
    180180 {
    181 -  return "3.1.2";
    182 +  return "3.1.2-p3";
     181-  return "3.1.2-p1";
     182+  return "3.1.2-p2";
    183183 }
    184 diff -Naur mpfr-3.1.2.orig/tests/tfits.c mpfr-3.1.2/tests/tfits.c
    185 --- mpfr-3.1.2.orig/tests/tfits.c       2013-03-13 15:37:45.000000000 +0000
    186 +++ mpfr-3.1.2/tests/tfits.c    2013-11-11 23:55:16.818732551 +0000
     184diff -Naurd mpfr-3.1.2-a/tests/tfits.c mpfr-3.1.2-b/tests/tfits.c
     185--- mpfr-3.1.2-a/tests/tfits.c  2013-03-13 15:37:45.000000000 +0000
     186+++ mpfr-3.1.2-b/tests/tfits.c  2013-09-26 10:56:55.000000000 +0000
    187187@@ -33,155 +33,176 @@
    188188 #include "mpfr-intmax.h"
     
    229229-  if (mpfr_fits_sshort_p (x, MPFR_RNDN))
    230230-    ERROR1;
    231 -
     231+  RND_LOOP (r)
     232+    {
     233 
    232234-  /* Check INF */
    233235-  mpfr_set_inf (x, 1);
     
    244246-  if (mpfr_fits_sshort_p (x, MPFR_RNDN))
    245247-    ERROR1;
    246 -
    247 -  /* Check Zero */
    248 -  MPFR_SET_ZERO (x);
    249 -  if (!mpfr_fits_ulong_p (x, MPFR_RNDN))
    250 -    ERROR2;
    251 -  if (!mpfr_fits_slong_p (x, MPFR_RNDN))
    252 -    ERROR2;
    253 -  if (!mpfr_fits_uint_p (x, MPFR_RNDN))
    254 -    ERROR2;
    255 -  if (!mpfr_fits_sint_p (x, MPFR_RNDN))
    256 -    ERROR2;
    257 -  if (!mpfr_fits_ushort_p (x, MPFR_RNDN))
    258 -    ERROR2;
    259 -  if (!mpfr_fits_sshort_p (x, MPFR_RNDN))
    260 -    ERROR2;
    261 -
    262 -  /* Check small op */
    263 -  mpfr_set_str1 (x, "1@-1");
    264 -  if (!mpfr_fits_ulong_p (x, MPFR_RNDN))
    265 -    ERROR2;
    266 -  if (!mpfr_fits_slong_p (x, MPFR_RNDN))
    267 -    ERROR2;
    268 -  if (!mpfr_fits_uint_p (x, MPFR_RNDN))
    269 -    ERROR2;
    270 -  if (!mpfr_fits_sint_p (x, MPFR_RNDN))
    271 -    ERROR2;
    272 -  if (!mpfr_fits_ushort_p (x, MPFR_RNDN))
    273 -    ERROR2;
    274 -  if (!mpfr_fits_sshort_p (x, MPFR_RNDN))
    275 -    ERROR2;
    276 -
    277 -  /* Check 17 */
    278 -  mpfr_set_ui (x, 17, MPFR_RNDN);
    279 -  if (!mpfr_fits_ulong_p (x, MPFR_RNDN))
    280 -    ERROR2;
    281 -  if (!mpfr_fits_slong_p (x, MPFR_RNDN))
    282 -    ERROR2;
    283 -  if (!mpfr_fits_uint_p (x, MPFR_RNDN))
    284 -    ERROR2;
    285 -  if (!mpfr_fits_sint_p (x, MPFR_RNDN))
    286 -    ERROR2;
    287 -  if (!mpfr_fits_ushort_p (x, MPFR_RNDN))
    288 -    ERROR2;
    289 -  if (!mpfr_fits_sshort_p (x, MPFR_RNDN))
    290 -    ERROR2;
    291 -
    292 -  /* Check all other values */
    293 -  mpfr_set_ui (x, ULONG_MAX, MPFR_RNDN);
    294 -  mpfr_mul_2exp (x, x, 1, MPFR_RNDN);
    295 -  if (mpfr_fits_ulong_p (x, MPFR_RNDN))
    296 -    ERROR1;
    297 -  if (mpfr_fits_slong_p (x, MPFR_RNDN))
    298 -    ERROR1;
    299 -  mpfr_mul_2exp (x, x, 40, MPFR_RNDN);
    300 -  if (mpfr_fits_ulong_p (x, MPFR_RNDN))
    301 -    ERROR1;
    302 -  if (mpfr_fits_uint_p (x, MPFR_RNDN))
    303 -    ERROR1;
    304 -  if (mpfr_fits_sint_p (x, MPFR_RNDN))
    305 -    ERROR1;
    306 -  if (mpfr_fits_ushort_p (x, MPFR_RNDN))
    307 -    ERROR1;
    308 -  if (mpfr_fits_sshort_p (x, MPFR_RNDN))
    309 -    ERROR1;
    310 -
    311 -  mpfr_set_ui (x, ULONG_MAX, MPFR_RNDN);
    312 -  if (!mpfr_fits_ulong_p (x, MPFR_RNDN))
    313 -    ERROR2;
    314 -  mpfr_set_ui (x, LONG_MAX, MPFR_RNDN);
    315 -  if (!mpfr_fits_slong_p (x, MPFR_RNDN))
    316 -    ERROR2;
    317 -  mpfr_set_ui (x, UINT_MAX, MPFR_RNDN);
    318 -  if (!mpfr_fits_uint_p (x, MPFR_RNDN))
    319 -    ERROR2;
    320 -  mpfr_set_ui (x, INT_MAX, MPFR_RNDN);
    321 -  if (!mpfr_fits_sint_p (x, MPFR_RNDN))
    322 -    ERROR2;
    323 -  mpfr_set_ui (x, USHRT_MAX, MPFR_RNDN);
    324 -  if (!mpfr_fits_ushort_p (x, MPFR_RNDN))
    325 -    ERROR2;
    326 -  mpfr_set_ui (x, SHRT_MAX, MPFR_RNDN);
    327 -  if (!mpfr_fits_sshort_p (x, MPFR_RNDN))
    328 -    ERROR2;
    329 -
    330 -  mpfr_set_si (x, 1, MPFR_RNDN);
    331 -  if (!mpfr_fits_sint_p (x, MPFR_RNDN))
    332 -    ERROR2;
    333 -  if (!mpfr_fits_sshort_p (x, MPFR_RNDN))
    334 -    ERROR2;
    335 -
    336 -  /* Check negative value */
    337 -  mpfr_set_si (x, -1, MPFR_RNDN);
    338 -  if (!mpfr_fits_sint_p (x, MPFR_RNDN))
    339 -    ERROR2;
    340 -  if (!mpfr_fits_sshort_p (x, MPFR_RNDN))
    341 -    ERROR2;
    342 -  if (!mpfr_fits_slong_p (x, MPFR_RNDN))
    343 -    ERROR2;
    344 -  if (mpfr_fits_uint_p (x, MPFR_RNDN))
    345 -    ERROR1;
    346 -  if (mpfr_fits_ushort_p (x, MPFR_RNDN))
    347 -    ERROR1;
    348 -  if (mpfr_fits_ulong_p (x, MPFR_RNDN))
    349 -    ERROR1;
    350 +  RND_LOOP (r)
    351 +    {
    352 +
    353248+      /* Check NAN */
    354249+      mpfr_set_nan (x);
     
    365260+      if (mpfr_fits_sshort_p (x, (mpfr_rnd_t) r))
    366261+        ERROR1 (6);
    367 +
     262 
     263-  /* Check Zero */
     264-  MPFR_SET_ZERO (x);
     265-  if (!mpfr_fits_ulong_p (x, MPFR_RNDN))
     266-    ERROR2;
     267-  if (!mpfr_fits_slong_p (x, MPFR_RNDN))
     268-    ERROR2;
     269-  if (!mpfr_fits_uint_p (x, MPFR_RNDN))
     270-    ERROR2;
     271-  if (!mpfr_fits_sint_p (x, MPFR_RNDN))
     272-    ERROR2;
     273-  if (!mpfr_fits_ushort_p (x, MPFR_RNDN))
     274-    ERROR2;
     275-  if (!mpfr_fits_sshort_p (x, MPFR_RNDN))
     276-    ERROR2;
    368277+      /* Check INF */
    369278+      mpfr_set_inf (x, 1);
     
    380289+      if (mpfr_fits_sshort_p (x, (mpfr_rnd_t) r))
    381290+        ERROR1 (12);
    382 +
     291 
     292-  /* Check small op */
     293-  mpfr_set_str1 (x, "1@-1");
     294-  if (!mpfr_fits_ulong_p (x, MPFR_RNDN))
     295-    ERROR2;
     296-  if (!mpfr_fits_slong_p (x, MPFR_RNDN))
     297-    ERROR2;
     298-  if (!mpfr_fits_uint_p (x, MPFR_RNDN))
     299-    ERROR2;
     300-  if (!mpfr_fits_sint_p (x, MPFR_RNDN))
     301-    ERROR2;
     302-  if (!mpfr_fits_ushort_p (x, MPFR_RNDN))
     303-    ERROR2;
     304-  if (!mpfr_fits_sshort_p (x, MPFR_RNDN))
     305-    ERROR2;
    383306+      /* Check Zero */
    384307+      MPFR_SET_ZERO (x);
     
    395318+      if (!mpfr_fits_sshort_p (x, (mpfr_rnd_t) r))
    396319+        ERROR1 (18);
    397 +
     320 
     321-  /* Check 17 */
     322-  mpfr_set_ui (x, 17, MPFR_RNDN);
     323-  if (!mpfr_fits_ulong_p (x, MPFR_RNDN))
     324-    ERROR2;
     325-  if (!mpfr_fits_slong_p (x, MPFR_RNDN))
     326-    ERROR2;
     327-  if (!mpfr_fits_uint_p (x, MPFR_RNDN))
     328-    ERROR2;
     329-  if (!mpfr_fits_sint_p (x, MPFR_RNDN))
     330-    ERROR2;
     331-  if (!mpfr_fits_ushort_p (x, MPFR_RNDN))
     332-    ERROR2;
     333-  if (!mpfr_fits_sshort_p (x, MPFR_RNDN))
     334-    ERROR2;
    398335+      /* Check small positive op */
    399336+      mpfr_set_str1 (x, "1@-1");
     
    410347+      if (!mpfr_fits_sshort_p (x, (mpfr_rnd_t) r))
    411348+        ERROR1 (24);
    412 +
     349 
     350-  /* Check all other values */
     351-  mpfr_set_ui (x, ULONG_MAX, MPFR_RNDN);
     352-  mpfr_mul_2exp (x, x, 1, MPFR_RNDN);
     353-  if (mpfr_fits_ulong_p (x, MPFR_RNDN))
     354-    ERROR1;
     355-  if (mpfr_fits_slong_p (x, MPFR_RNDN))
     356-    ERROR1;
     357-  mpfr_mul_2exp (x, x, 40, MPFR_RNDN);
     358-  if (mpfr_fits_ulong_p (x, MPFR_RNDN))
     359-    ERROR1;
     360-  if (mpfr_fits_uint_p (x, MPFR_RNDN))
     361-    ERROR1;
     362-  if (mpfr_fits_sint_p (x, MPFR_RNDN))
     363-    ERROR1;
     364-  if (mpfr_fits_ushort_p (x, MPFR_RNDN))
     365-    ERROR1;
     366-  if (mpfr_fits_sshort_p (x, MPFR_RNDN))
     367-    ERROR1;
    413368+      /* Check 17 */
    414369+      mpfr_set_ui (x, 17, MPFR_RNDN);
     
    425380+      if (!mpfr_fits_sshort_p (x, (mpfr_rnd_t) r))
    426381+        ERROR1 (30);
    427 +
     382 
     383-  mpfr_set_ui (x, ULONG_MAX, MPFR_RNDN);
     384-  if (!mpfr_fits_ulong_p (x, MPFR_RNDN))
     385-    ERROR2;
     386-  mpfr_set_ui (x, LONG_MAX, MPFR_RNDN);
     387-  if (!mpfr_fits_slong_p (x, MPFR_RNDN))
     388-    ERROR2;
     389-  mpfr_set_ui (x, UINT_MAX, MPFR_RNDN);
     390-  if (!mpfr_fits_uint_p (x, MPFR_RNDN))
     391-    ERROR2;
     392-  mpfr_set_ui (x, INT_MAX, MPFR_RNDN);
     393-  if (!mpfr_fits_sint_p (x, MPFR_RNDN))
     394-    ERROR2;
     395-  mpfr_set_ui (x, USHRT_MAX, MPFR_RNDN);
     396-  if (!mpfr_fits_ushort_p (x, MPFR_RNDN))
     397-    ERROR2;
     398-  mpfr_set_ui (x, SHRT_MAX, MPFR_RNDN);
     399-  if (!mpfr_fits_sshort_p (x, MPFR_RNDN))
     400-    ERROR2;
    428401+      /* Check all other values */
    429402+      mpfr_set_ui (x, ULONG_MAX, MPFR_RNDN);
     
    444417+      if (mpfr_fits_sshort_p (x, (mpfr_rnd_t) r))
    445418+        ERROR1 (37);
    446 +
     419 
     420-  mpfr_set_si (x, 1, MPFR_RNDN);
     421-  if (!mpfr_fits_sint_p (x, MPFR_RNDN))
     422-    ERROR2;
     423-  if (!mpfr_fits_sshort_p (x, MPFR_RNDN))
     424-    ERROR2;
    447425+      mpfr_set_ui (x, ULONG_MAX, MPFR_RNDN);
    448426+      if (!mpfr_fits_ulong_p (x, (mpfr_rnd_t) r))
     
    463441+      if (!mpfr_fits_sshort_p (x, (mpfr_rnd_t) r))
    464442+        ERROR1 (43);
    465 +
     443 
     444-  /* Check negative value */
     445-  mpfr_set_si (x, -1, MPFR_RNDN);
     446-  if (!mpfr_fits_sint_p (x, MPFR_RNDN))
     447-    ERROR2;
     448-  if (!mpfr_fits_sshort_p (x, MPFR_RNDN))
     449-    ERROR2;
     450-  if (!mpfr_fits_slong_p (x, MPFR_RNDN))
     451-    ERROR2;
     452-  if (mpfr_fits_uint_p (x, MPFR_RNDN))
     453-    ERROR1;
     454-  if (mpfr_fits_ushort_p (x, MPFR_RNDN))
     455-    ERROR1;
     456-  if (mpfr_fits_ulong_p (x, MPFR_RNDN))
     457-    ERROR1;
    466458+      mpfr_set_si (x, 1, MPFR_RNDN);
    467459+      if (!mpfr_fits_sint_p (x, (mpfr_rnd_t) r))
     
    521513-  if (mpfr_fits_intmax_p (x, MPFR_RNDN))
    522514-    ERROR1;
    523 -
    524 -  /* Check INF */
    525 -  mpfr_set_inf (x, 1);
    526 -  if (mpfr_fits_uintmax_p (x, MPFR_RNDN))
    527 -    ERROR1;
    528 -  if (mpfr_fits_intmax_p (x, MPFR_RNDN))
    529 -    ERROR1;
    530 -
    531 -  /* Check Zero */
    532 -  MPFR_SET_ZERO (x);
    533 -  if (!mpfr_fits_uintmax_p (x, MPFR_RNDN))
    534 -    ERROR2;
    535 -  if (!mpfr_fits_intmax_p (x, MPFR_RNDN))
    536 -    ERROR2;
    537 -
    538 -  /* Check small op */
    539 -  mpfr_set_str1 (x, "1@-1");
    540 -  if (!mpfr_fits_uintmax_p (x, MPFR_RNDN))
    541 -    ERROR2;
    542 -  if (!mpfr_fits_intmax_p (x, MPFR_RNDN))
    543 -    ERROR2;
    544 -
    545 -  /* Check 17 */
    546 -  mpfr_set_ui (x, 17, MPFR_RNDN);
    547 -  if (!mpfr_fits_uintmax_p (x, MPFR_RNDN))
    548 -    ERROR2;
    549 -  if (!mpfr_fits_intmax_p (x, MPFR_RNDN))
    550 -    ERROR2;
    551 -
    552 -  /* Check hugest */
    553 -  mpfr_set_ui_2exp (x, 42, sizeof (uintmax_t) * 32, MPFR_RNDN);
    554 -  if (mpfr_fits_uintmax_p (x, MPFR_RNDN))
    555 -    ERROR1;
    556 -  if (mpfr_fits_intmax_p (x, MPFR_RNDN))
    557 -    ERROR1;
    558 -
    559 -  /* Check all other values */
    560 -  mpfr_set_uj (x, MPFR_UINTMAX_MAX, MPFR_RNDN);
    561 -  mpfr_add_ui (x, x, 1, MPFR_RNDN);
    562 -  if (mpfr_fits_uintmax_p (x, MPFR_RNDN))
    563 -    ERROR1;
    564 -  mpfr_set_uj (x, MPFR_UINTMAX_MAX, MPFR_RNDN);
    565 -  if (!mpfr_fits_uintmax_p (x, MPFR_RNDN))
    566 -    ERROR2;
    567 -  mpfr_set_sj (x, MPFR_INTMAX_MAX, MPFR_RNDN);
    568 -  mpfr_add_ui (x, x, 1, MPFR_RNDN);
    569 -  if (mpfr_fits_intmax_p (x, MPFR_RNDN))
    570 -    ERROR1;
    571 -  mpfr_set_sj (x, MPFR_INTMAX_MAX, MPFR_RNDN);
    572 -  if (!mpfr_fits_intmax_p (x, MPFR_RNDN))
    573 -    ERROR2;
    574 -  mpfr_set_sj (x, MPFR_INTMAX_MIN, MPFR_RNDN);
    575 -  if (!mpfr_fits_intmax_p (x, MPFR_RNDN))
    576 -    ERROR2;
    577 -  mpfr_sub_ui (x, x, 1, MPFR_RNDN);
    578 -  if (mpfr_fits_intmax_p (x, MPFR_RNDN))
    579 -    ERROR1;
    580 -
    581 -  /* Check negative value */
    582 -  mpfr_set_si (x, -1, MPFR_RNDN);
    583 -  if (!mpfr_fits_intmax_p (x, MPFR_RNDN))
    584 -    ERROR2;
    585 -  if (mpfr_fits_uintmax_p (x, MPFR_RNDN))
    586 -    ERROR1;
    587515+  RND_LOOP (r)
    588516+    {
     
    593521+      if (mpfr_fits_intmax_p (x, (mpfr_rnd_t) r))
    594522+        ERROR1 (53);
    595 +
     523 
     524-  /* Check INF */
     525-  mpfr_set_inf (x, 1);
     526-  if (mpfr_fits_uintmax_p (x, MPFR_RNDN))
     527-    ERROR1;
     528-  if (mpfr_fits_intmax_p (x, MPFR_RNDN))
     529-    ERROR1;
    596530+      /* Check INF */
    597531+      mpfr_set_inf (x, 1);
     
    600534+      if (mpfr_fits_intmax_p (x, (mpfr_rnd_t) r))
    601535+        ERROR1 (55);
    602 +
     536 
     537-  /* Check Zero */
     538-  MPFR_SET_ZERO (x);
     539-  if (!mpfr_fits_uintmax_p (x, MPFR_RNDN))
     540-    ERROR2;
     541-  if (!mpfr_fits_intmax_p (x, MPFR_RNDN))
     542-    ERROR2;
    603543+      /* Check Zero */
    604544+      MPFR_SET_ZERO (x);
     
    607547+      if (!mpfr_fits_intmax_p (x, (mpfr_rnd_t) r))
    608548+        ERROR1 (57);
    609 +
     549 
     550-  /* Check small op */
     551-  mpfr_set_str1 (x, "1@-1");
     552-  if (!mpfr_fits_uintmax_p (x, MPFR_RNDN))
     553-    ERROR2;
     554-  if (!mpfr_fits_intmax_p (x, MPFR_RNDN))
     555-    ERROR2;
    610556+      /* Check positive small op */
    611557+      mpfr_set_str1 (x, "1@-1");
     
    614560+      if (!mpfr_fits_intmax_p (x, (mpfr_rnd_t) r))
    615561+        ERROR1 (59);
    616 +
     562 
     563-  /* Check 17 */
     564-  mpfr_set_ui (x, 17, MPFR_RNDN);
     565-  if (!mpfr_fits_uintmax_p (x, MPFR_RNDN))
     566-    ERROR2;
     567-  if (!mpfr_fits_intmax_p (x, MPFR_RNDN))
     568-    ERROR2;
    617569+      /* Check 17 */
    618570+      mpfr_set_ui (x, 17, MPFR_RNDN);
     
    621573+      if (!mpfr_fits_intmax_p (x, (mpfr_rnd_t) r))
    622574+        ERROR1 (61);
    623 +
     575 
     576-  /* Check hugest */
     577-  mpfr_set_ui_2exp (x, 42, sizeof (uintmax_t) * 32, MPFR_RNDN);
     578-  if (mpfr_fits_uintmax_p (x, MPFR_RNDN))
     579-    ERROR1;
     580-  if (mpfr_fits_intmax_p (x, MPFR_RNDN))
     581-    ERROR1;
    624582+      /* Check hugest */
    625583+      mpfr_set_ui_2exp (x, 42, sizeof (uintmax_t) * 32, MPFR_RNDN);
     
    628586+      if (mpfr_fits_intmax_p (x, (mpfr_rnd_t) r))
    629587+        ERROR1 (63);
    630 +
     588 
     589-  /* Check all other values */
     590-  mpfr_set_uj (x, MPFR_UINTMAX_MAX, MPFR_RNDN);
     591-  mpfr_add_ui (x, x, 1, MPFR_RNDN);
     592-  if (mpfr_fits_uintmax_p (x, MPFR_RNDN))
     593-    ERROR1;
     594-  mpfr_set_uj (x, MPFR_UINTMAX_MAX, MPFR_RNDN);
     595-  if (!mpfr_fits_uintmax_p (x, MPFR_RNDN))
     596-    ERROR2;
     597-  mpfr_set_sj (x, MPFR_INTMAX_MAX, MPFR_RNDN);
     598-  mpfr_add_ui (x, x, 1, MPFR_RNDN);
     599-  if (mpfr_fits_intmax_p (x, MPFR_RNDN))
     600-    ERROR1;
     601-  mpfr_set_sj (x, MPFR_INTMAX_MAX, MPFR_RNDN);
     602-  if (!mpfr_fits_intmax_p (x, MPFR_RNDN))
     603-    ERROR2;
     604-  mpfr_set_sj (x, MPFR_INTMAX_MIN, MPFR_RNDN);
     605-  if (!mpfr_fits_intmax_p (x, MPFR_RNDN))
     606-    ERROR2;
     607-  mpfr_sub_ui (x, x, 1, MPFR_RNDN);
     608-  if (mpfr_fits_intmax_p (x, MPFR_RNDN))
     609-    ERROR1;
    631610+      /* Check all other values */
    632611+      mpfr_set_uj (x, MPFR_UINTMAX_MAX, MPFR_RNDN);
     
    650629+      if (mpfr_fits_intmax_p (x, (mpfr_rnd_t) r))
    651630+        ERROR1 (69);
    652 +
     631 
     632-  /* Check negative value */
     633-  mpfr_set_si (x, -1, MPFR_RNDN);
     634-  if (!mpfr_fits_intmax_p (x, MPFR_RNDN))
     635-    ERROR2;
     636-  if (mpfr_fits_uintmax_p (x, MPFR_RNDN))
     637-    ERROR1;
    653638+      /* Check negative op */
    654639+      for (i = 1; i <= 4; i++)
     
    671656 }
    672657-
    673 diff -Naur mpfr-3.1.2.orig/tests/tget_flt.c mpfr-3.1.2/tests/tget_flt.c
    674 --- mpfr-3.1.2.orig/tests/tget_flt.c    2013-03-13 15:37:44.000000000 +0000
    675 +++ mpfr-3.1.2/tests/tget_flt.c 2013-11-11 23:55:16.818732551 +0000
     658diff -Naurd mpfr-3.1.2-a/PATCHES mpfr-3.1.2-b/PATCHES
     659--- mpfr-3.1.2-a/PATCHES        2013-10-09 13:34:21.000000000 +0000
     660+++ mpfr-3.1.2-b/PATCHES        2013-10-09 13:34:21.000000000 +0000
     661@@ -0,0 +1 @@
     662+clang-divby0
     663diff -Naurd mpfr-3.1.2-a/VERSION mpfr-3.1.2-b/VERSION
     664--- mpfr-3.1.2-a/VERSION        2013-09-26 10:52:52.000000000 +0000
     665+++ mpfr-3.1.2-b/VERSION        2013-10-09 13:34:21.000000000 +0000
     666@@ -1 +1 @@
     667-3.1.2-p2
     668+3.1.2-p3
     669diff -Naurd mpfr-3.1.2-a/src/mpfr-impl.h mpfr-3.1.2-b/src/mpfr-impl.h
     670--- mpfr-3.1.2-a/src/mpfr-impl.h        2013-03-13 15:37:36.000000000 +0000
     671+++ mpfr-3.1.2-b/src/mpfr-impl.h        2013-10-09 13:34:21.000000000 +0000
     672@@ -468,8 +468,16 @@
     673 #define MPFR_LIMBS_PER_FLT ((IEEE_FLT_MANT_DIG-1)/GMP_NUMB_BITS+1)
     674 
     675 /* Visual C++ doesn't support +1.0/0.0, -1.0/0.0 and 0.0/0.0
     676-   at compile time. */
     677-#if defined(_MSC_VER) && defined(_WIN32) && (_MSC_VER >= 1200)
     678+   at compile time.
     679+   Clang with -fsanitize=undefined is a bit similar due to a bug:
     680+     http://llvm.org/bugs/show_bug.cgi?id=17381
     681+   but even without its sanitizer, it may be better to use the
     682+   double_zero version until IEEE 754 division by zero is properly
     683+   supported:
     684+     http://llvm.org/bugs/show_bug.cgi?id=17000
     685+*/
     686+#if (defined(_MSC_VER) && defined(_WIN32) && (_MSC_VER >= 1200)) || \
     687+    defined(__clang__)
     688 static double double_zero = 0.0;
     689 # define DBL_NAN (double_zero/double_zero)
     690 # define DBL_POS_INF ((double) 1.0/double_zero)
     691@@ -501,6 +509,8 @@
     692    (with Xcode 2.4.1, i.e. the latest one). */
     693 #define LVALUE(x) (&(x) == &(x) || &(x) != &(x))
     694 #define DOUBLE_ISINF(x) (LVALUE(x) && ((x) > DBL_MAX || (x) < -DBL_MAX))
     695+/* The DOUBLE_ISNAN(x) macro is also valid on long double x
     696+   (assuming that the compiler isn't too broken). */
     697 #ifdef MPFR_NANISNAN
     698 /* Avoid MIPSpro / IRIX64 / gcc -ffast-math (incorrect) optimizations.
     699    The + must not be replaced by a ||. With gcc -ffast-math, NaN is
     700diff -Naurd mpfr-3.1.2-a/src/mpfr.h mpfr-3.1.2-b/src/mpfr.h
     701--- mpfr-3.1.2-a/src/mpfr.h     2013-09-26 10:52:52.000000000 +0000
     702+++ mpfr-3.1.2-b/src/mpfr.h     2013-10-09 13:34:21.000000000 +0000
     703@@ -27,7 +27,7 @@
     704 #define MPFR_VERSION_MAJOR 3
     705 #define MPFR_VERSION_MINOR 1
     706 #define MPFR_VERSION_PATCHLEVEL 2
     707-#define MPFR_VERSION_STRING "3.1.2-p2"
     708+#define MPFR_VERSION_STRING "3.1.2-p3"
     709 
     710 /* Macros dealing with MPFR VERSION */
     711 #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
     712diff -Naurd mpfr-3.1.2-a/src/version.c mpfr-3.1.2-b/src/version.c
     713--- mpfr-3.1.2-a/src/version.c  2013-09-26 10:52:52.000000000 +0000
     714+++ mpfr-3.1.2-b/src/version.c  2013-10-09 13:34:21.000000000 +0000
     715@@ -25,5 +25,5 @@
     716 const char *
     717 mpfr_get_version (void)
     718 {
     719-  return "3.1.2-p2";
     720+  return "3.1.2-p3";
     721 }
     722diff -Naurd mpfr-3.1.2-a/tests/tget_flt.c mpfr-3.1.2-b/tests/tget_flt.c
     723--- mpfr-3.1.2-a/tests/tget_flt.c       2013-03-13 15:37:44.000000000 +0000
     724+++ mpfr-3.1.2-b/tests/tget_flt.c       2013-10-09 13:34:21.000000000 +0000
    676725@@ -28,9 +28,17 @@
    677726 main (void)
     
    684733+  float infp;
    685734+#endif
    686  
     735+
    687736+  tests_start_mpfr ();
    688 +
     737 
    689738+#if !defined(MPFR_ERRDIVZERO)
    690739+  /* The definition of DBL_POS_INF involves a division by 0. This makes
     
    719768   mpfr_clear (x);
    720769   mpfr_clear (y);
    721 diff -Naur mpfr-3.1.2.orig/tests/tset_ld.c mpfr-3.1.2/tests/tset_ld.c
    722 --- mpfr-3.1.2.orig/tests/tset_ld.c     2013-03-13 15:37:44.000000000 +0000
    723 +++ mpfr-3.1.2/tests/tset_ld.c  2013-11-11 23:55:16.818732551 +0000
     770diff -Naurd mpfr-3.1.2-a/tests/tset_ld.c mpfr-3.1.2-b/tests/tset_ld.c
     771--- mpfr-3.1.2-a/tests/tset_ld.c        2013-03-13 15:37:44.000000000 +0000
     772+++ mpfr-3.1.2-b/tests/tset_ld.c        2013-10-09 13:34:21.000000000 +0000
    724773@@ -47,8 +47,11 @@
    725774 static int
     
    736785   LONGDOUBLE_NAN_ACTION (d, goto yes);
    737786   return 0;
     787diff -Naurd mpfr-3.1.2-a/PATCHES mpfr-3.1.2-b/PATCHES
     788--- mpfr-3.1.2-a/PATCHES        2013-11-15 00:51:49.211333830 +0000
     789+++ mpfr-3.1.2-b/PATCHES        2013-11-15 00:51:49.323334999 +0000
     790@@ -0,0 +1 @@
     791+printf-alt0
     792diff -Naurd mpfr-3.1.2-a/VERSION mpfr-3.1.2-b/VERSION
     793--- mpfr-3.1.2-a/VERSION        2013-11-15 00:51:49.211333830 +0000
     794+++ mpfr-3.1.2-b/VERSION        2013-11-15 00:51:49.323334999 +0000
     795@@ -1 +1 @@
     796-3.1.2-p3
     797+3.1.2-p4
     798diff -Naurd mpfr-3.1.2-a/src/mpfr.h mpfr-3.1.2-b/src/mpfr.h
     799--- mpfr-3.1.2-a/src/mpfr.h     2013-11-15 00:51:49.211333830 +0000
     800+++ mpfr-3.1.2-b/src/mpfr.h     2013-11-15 00:51:49.323334999 +0000
     801@@ -27,7 +27,7 @@
     802 #define MPFR_VERSION_MAJOR 3
     803 #define MPFR_VERSION_MINOR 1
     804 #define MPFR_VERSION_PATCHLEVEL 2
     805-#define MPFR_VERSION_STRING "3.1.2-p3"
     806+#define MPFR_VERSION_STRING "3.1.2-p4"
     807 
     808 /* Macros dealing with MPFR VERSION */
     809 #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
     810diff -Naurd mpfr-3.1.2-a/src/vasprintf.c mpfr-3.1.2-b/src/vasprintf.c
     811--- mpfr-3.1.2-a/src/vasprintf.c        2013-03-13 15:37:37.000000000 +0000
     812+++ mpfr-3.1.2-b/src/vasprintf.c        2013-11-15 00:51:49.267334408 +0000
     813@@ -1040,7 +1040,7 @@
     814 }
     815 
     816 /* Determine the different parts of the string representation of the regular
     817-   number P when SPEC.SPEC is 'e', 'E', 'g', or 'G'.
     818+   number P when spec.spec is 'e', 'E', 'g', or 'G'.
     819    DEC_INFO contains the previously computed exponent and string or is NULL.
     820 
     821    return -1 if some field > INT_MAX */
     822@@ -1167,7 +1167,7 @@
     823 }
     824 
     825 /* Determine the different parts of the string representation of the regular
     826-   number P when SPEC.SPEC is 'f', 'F', 'g', or 'G'.
     827+   number P when spec.spec is 'f', 'F', 'g', or 'G'.
     828    DEC_INFO contains the previously computed exponent and string or is NULL.
     829 
     830    return -1 if some field of number_parts is greater than INT_MAX */
     831@@ -1559,7 +1559,7 @@
     832             /* fractional part */
     833             {
     834               np->point = MPFR_DECIMAL_POINT;
     835-              np->fp_trailing_zeros = (spec.spec == 'g' && spec.spec == 'G') ?
     836+              np->fp_trailing_zeros = (spec.spec == 'g' || spec.spec == 'G') ?
     837                 spec.prec - 1 : spec.prec;
     838             }
     839           else if (spec.alt)
     840diff -Naurd mpfr-3.1.2-a/src/version.c mpfr-3.1.2-b/src/version.c
     841--- mpfr-3.1.2-a/src/version.c  2013-11-15 00:51:49.211333830 +0000
     842+++ mpfr-3.1.2-b/src/version.c  2013-11-15 00:51:49.323334999 +0000
     843@@ -25,5 +25,5 @@
     844 const char *
     845 mpfr_get_version (void)
     846 {
     847-  return "3.1.2-p3";
     848+  return "3.1.2-p4";
     849 }
     850diff -Naurd mpfr-3.1.2-a/tests/tsprintf.c mpfr-3.1.2-b/tests/tsprintf.c
     851--- mpfr-3.1.2-a/tests/tsprintf.c       2013-03-13 15:37:44.000000000 +0000
     852+++ mpfr-3.1.2-b/tests/tsprintf.c       2013-11-15 00:51:49.267334408 +0000
     853@@ -456,10 +456,16 @@
     854   check_sprintf ("1.999900  ", "%-#10.7RG", x);
     855   check_sprintf ("1.9999    ", "%-10.7RG", x);
     856   mpfr_set_ui (x, 1, MPFR_RNDN);
     857+  check_sprintf ("1.", "%#.1Rg", x);
     858+  check_sprintf ("1.   ", "%-#5.1Rg", x);
     859+  check_sprintf ("  1.0", "%#5.2Rg", x);
     860   check_sprintf ("1.00000000000000000000000000000", "%#.30Rg", x);
     861   check_sprintf ("1", "%.30Rg", x);
     862   mpfr_set_ui (x, 0, MPFR_RNDN);
     863-  check_sprintf ("0.000000000000000000000000000000", "%#.30Rg", x);
     864+  check_sprintf ("0.", "%#.1Rg", x);
     865+  check_sprintf ("0.   ", "%-#5.1Rg", x);
     866+  check_sprintf ("  0.0", "%#5.2Rg", x);
     867+  check_sprintf ("0.00000000000000000000000000000", "%#.30Rg", x);
     868   check_sprintf ("0", "%.30Rg", x);
     869 
     870   /* following tests with precision 53 bits */
     871diff -Naurd mpfr-3.1.2-a/PATCHES mpfr-3.1.2-b/PATCHES
     872--- mpfr-3.1.2-a/PATCHES        2013-12-01 11:07:49.575329762 +0000
     873+++ mpfr-3.1.2-b/PATCHES        2013-12-01 11:07:49.751331625 +0000
     874@@ -0,0 +1 @@
     875+custom_init_set
     876diff -Naurd mpfr-3.1.2-a/VERSION mpfr-3.1.2-b/VERSION
     877--- mpfr-3.1.2-a/VERSION        2013-12-01 11:07:49.571329714 +0000
     878+++ mpfr-3.1.2-b/VERSION        2013-12-01 11:07:49.747331585 +0000
     879@@ -1 +1 @@
     880-3.1.2-p4
     881+3.1.2-p5
     882diff -Naurd mpfr-3.1.2-a/src/mpfr.h mpfr-3.1.2-b/src/mpfr.h
     883--- mpfr-3.1.2-a/src/mpfr.h     2013-12-01 11:07:49.571329714 +0000
     884+++ mpfr-3.1.2-b/src/mpfr.h     2013-12-01 11:07:49.747331585 +0000
     885@@ -27,7 +27,7 @@
     886 #define MPFR_VERSION_MAJOR 3
     887 #define MPFR_VERSION_MINOR 1
     888 #define MPFR_VERSION_PATCHLEVEL 2
     889-#define MPFR_VERSION_STRING "3.1.2-p4"
     890+#define MPFR_VERSION_STRING "3.1.2-p5"
     891 
     892 /* Macros dealing with MPFR VERSION */
     893 #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
     894@@ -861,7 +861,7 @@
     895     _t = (mpfr_kind_t) _k;                                     \
     896     _s = 1;                                                    \
     897   } else {                                                     \
     898-    _t = (mpfr_kind_t) -k;                                     \
     899+    _t = (mpfr_kind_t) - _k;                                   \
     900     _s = -1;                                                   \
     901   }                                                            \
     902   _e = _t == MPFR_REGULAR_KIND ? (e) :                         \
     903diff -Naurd mpfr-3.1.2-a/src/version.c mpfr-3.1.2-b/src/version.c
     904--- mpfr-3.1.2-a/src/version.c  2013-12-01 11:07:49.575329762 +0000
     905+++ mpfr-3.1.2-b/src/version.c  2013-12-01 11:07:49.747331585 +0000
     906@@ -25,5 +25,5 @@
     907 const char *
     908 mpfr_get_version (void)
     909 {
     910-  return "3.1.2-p4";
     911+  return "3.1.2-p5";
     912 }
Note: See TracChangeset for help on using the changeset viewer.