2012-08-16  Diego Novillo  <dnovillo@google.com>
	PR bootstrap/54281
	* double-int.h: Move including of gmp.h ...
	* system.h: ... here.
	* realmpfr.h: Do not include gmp.h.
	* tree-ssa-loop-niter.c: Do not include gmp.h.
fortran/ChangeLog
	* gfortran.h: Do not include gmp.h.
From-SVN: r190444
+2012-08-16  Diego Novillo  <dnovillo@google.com>
+
+       PR bootstrap/54281
+       * double-int.h: Move including of gmp.h ...
+       * system.h: ... here.
+       * realmpfr.h: Do not include gmp.h.
+       * tree-ssa-loop-niter.c: Do not include gmp.h.
+
 2012-08-16  Steven Bosscher  <steven@gcc.gnu.org>
 
        PR middle-end/54146
 
 #ifndef DOUBLE_INT_H
 #define DOUBLE_INT_H
 
-#ifndef GENERATOR_FILE
-#include <gmp.h>
-#endif
-
 /* A large integer is currently represented as a pair of HOST_WIDE_INTs.
    It therefore represents a number with precision of
    2 * HOST_BITS_PER_WIDE_INT bits (it is however possible that the
 
+2012-08-16   Diego Novillo  <dnovillo@google.com>
+
+       PR bootstrap/54281
+       * gfortran.h: Do not include gmp.h.
+
 2012-08-15  Janus Weil  <janus@gcc.gnu.org>
 
        PR fortran/54243
 
    EXPR_COMPCALL   Function (or subroutine) call of a procedure pointer
                   component or type-bound procedure.  */
 
-#include <gmp.h>
 #include <mpfr.h>
 #include <mpc.h>
 #define GFC_RND_MODE GMP_RNDN
 
 #ifndef GCC_REALGMP_H
 #define GCC_REALGMP_H
 
-#include <gmp.h>
+/* Note that we do not include gmp.h.  It is included in system.h
+   because it wrecks intl.h when compiling in C++ mode.
+   See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54281 for details.  */
+
 #include <mpfr.h>
 #include <mpc.h>
 #include "real.h"
 
 #define DEBUG_VARIABLE
 #endif
 
+#ifndef GENERATOR_FILE
+#include <gmp.h>
+#endif
+
 #endif /* ! GCC_SYSTEM_H */
 
 #include "flags.h"
 #include "diagnostic-core.h"
 #include "tree-inline.h"
-#include "gmp.h"
 
 #define SWAP(X, Y) do { affine_iv *tmp = (X); (X) = (Y); (Y) = tmp; } while (0)