re PR bootstrap/63699 (Bootstrap fails in libcc1 on darwin14)
authorFrancois-Xavier Coudert <fxcoudert@gcc.gnu.org>
Tue, 11 Nov 2014 09:20:07 +0000 (09:20 +0000)
committerFrançois-Xavier Coudert <fxcoudert@gcc.gnu.org>
Tue, 11 Nov 2014 09:20:07 +0000 (09:20 +0000)
PR bootstrap/63699
PR bootstrap/63750

* system.h: Include <string> before "safe-ctype.h"
* wide-int.h (wi::smin, wi::smax, wi::umin, wi::umax): Prefix
calls to min/max with wi namespace.
* ipa-chkp.c: Don't include <string>.

* plugin.cc: Don't include <string>.

From-SVN: r217342

gcc/ChangeLog
gcc/ipa-chkp.c
gcc/system.h
gcc/wide-int.h
libcc1/ChangeLog
libcc1/plugin.cc

index b19ce48fb0197efaeb926eaed68f49fa6d5cd3b5..f86c51baf8cf31e3d8cb03b285872976c3ad67e0 100644 (file)
@@ -1,3 +1,12 @@
+2014-11-11  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       PR bootstrap/63699
+       PR bootstrap/63750
+       * system.h: Include <string> before "safe-ctype.h"
+       * wide-int.h (wi::smin, wi::smax, wi::umin, wi::umax): Prefix
+       calls to min/max with wi namespace.
+       * ipa-chkp.c: Don't include <string>.
+
 2014-11-11  Terry Guo  <terry.guo@arm.com>
 
        * doc/invoke.texi (-masm-syntax-unified): Reword and fix typo.
index f910583907d34f89d81b37c124acd94c3d27ab5d..19a989453b699e2667936f86db4972f60060682c 100644 (file)
@@ -41,7 +41,6 @@ along with GCC; see the file COPYING3.  If not see
 #include "cgraph.h"
 #include "tree-chkp.h"
 #include "ipa-chkp.h"
-#include <string>
 
 /*  Pointer Bounds Checker has two IPA passes to support code instrumentation.
 
index 74ddfe94a59f7c4180f3815dc27843c08a5e1e9b..c05f02d627300c97bf87afa1b8e7b627dad1e3dd 100644 (file)
@@ -194,6 +194,13 @@ extern int fprintf_unlocked (FILE *, const char *, ...);
 #undef fread_unlocked
 #undef fwrite_unlocked
 
+/* Include <string> before "safe-ctype.h" to avoid GCC poisoning
+   the ctype macros through safe-ctype.h */
+
+#ifdef __cplusplus
+# include <string>
+#endif
+
 /* There are an extraordinary number of issues with <ctype.h>.
    The last straw is that it varies with the locale.  Use libiberty's
    replacement instead.  */
index 2cbcbd2149454ad011d91675581225aa466e5db9..00c7d6ec0e4d843b93b2a88b9e34c58f75109006 100644 (file)
@@ -2129,7 +2129,7 @@ template <typename T1, typename T2>
 inline WI_BINARY_RESULT (T1, T2)
 wi::smin (const T1 &x, const T2 &y)
 {
-  return min (x, y, SIGNED);
+  return wi::min (x, y, SIGNED);
 }
 
 /* Return the minimum of X and Y, treating both as unsigned values.  */
@@ -2137,7 +2137,7 @@ template <typename T1, typename T2>
 inline WI_BINARY_RESULT (T1, T2)
 wi::umin (const T1 &x, const T2 &y)
 {
-  return min (x, y, UNSIGNED);
+  return wi::min (x, y, UNSIGNED);
 }
 
 /* Return the maxinum of X and Y, treating them both as having
@@ -2160,7 +2160,7 @@ template <typename T1, typename T2>
 inline WI_BINARY_RESULT (T1, T2)
 wi::smax (const T1 &x, const T2 &y)
 {
-  return max (x, y, SIGNED);
+  return wi::max (x, y, SIGNED);
 }
 
 /* Return the maximum of X and Y, treating both as unsigned values.  */
@@ -2168,7 +2168,7 @@ template <typename T1, typename T2>
 inline WI_BINARY_RESULT (T1, T2)
 wi::umax (const T1 &x, const T2 &y)
 {
-  return max (x, y, UNSIGNED);
+  return wi::max (x, y, UNSIGNED);
 }
 
 /* Return X & Y.  */
index 431b28859d58370da218a9fba1e5d55dd836081f..5624bf6796466bf77964b4fa2d324895f617667b 100644 (file)
@@ -1,3 +1,9 @@
+2014-11-11  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       PR bootstrap/63699
+       PR bootstrap/63750
+       * plugin.cc: Don't include <string>.
+
 2014-10-29  Jakub Jelinek  <jakub@redhat.com>
            Phil Muldoon  <pmuldoon@redhat.com>
 
index 5cdd19d78ceb3155bf6d818ebcb6a194e99cddca..7b5df1d24fa551da1db99bf74ce79e0527511e20 100644 (file)
@@ -55,8 +55,6 @@
 #include "connection.hh"
 #include "rpc.hh"
 
-#include <string>
-
 #ifdef __GNUC__
 #pragma GCC visibility push(default)
 #endif