https://gcc.gnu.org/g:b6b889309400c39c0d0988c3fb60e3d54f0c1738

commit r14-10973-gb6b889309400c39c0d0988c3fb60e3d54f0c1738
Author: Gaius Mulley <gaiusm...@gmail.com>
Date:   Sat Nov 23 15:27:45 2024 +0000

    [PATCH] modula2: bootstrap fix for string and vector headers.
    
    This patch fixes the include of headers (<string> and <vector>) which
    are included after GCC's system.h has been included.  It defines
    INCLUDE_STRING before including "system.h".  This allows gcc to
    bootstrap with Apple clang 15.
    
    gcc/m2/ChangeLog:
    
            * gm2-gcc/m2linemap.cc (INCLUDE_STRING): Define before
            include of gcc-consolidation.h.
            * gm2spec.cc (INCLUDE_STRING): Define before include of
            system.h.
            (INCLUDE_VECTOR): Ditto.
    
    (cherry picked from commit f4047a8614d2215e0d6acf071c521ac08ab1bbb2)
    
    Signed-off-by: Gaius Mulley <gaiusm...@gmail.com>

Diff:
---
 gcc/m2/gm2-gcc/m2linemap.cc | 2 +-
 gcc/m2/gm2spec.cc           | 4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/gcc/m2/gm2-gcc/m2linemap.cc b/gcc/m2/gm2-gcc/m2linemap.cc
index c916ba6155af..fcf589e840f8 100644
--- a/gcc/m2/gm2-gcc/m2linemap.cc
+++ b/gcc/m2/gm2-gcc/m2linemap.cc
@@ -19,6 +19,7 @@ You should have received a copy of the GNU General Public 
License
 along with GNU Modula-2; see the file COPYING3.  If not see
 <http://www.gnu.org/licenses/>.  */
 
+#define INCLUDE_STRING
 #include "gcc-consolidation.h"
 
 /* Utilize some of the C build routines */
@@ -36,7 +37,6 @@ along with GNU Modula-2; see the file COPYING3.  If not see
 #define m2linemap_c
 #include "m2linemap.h"
 #include "m2color.h"
-#include <string>
 
 static int inFile = FALSE;
 
diff --git a/gcc/m2/gm2spec.cc b/gcc/m2/gm2spec.cc
index a4faf88027a2..2a4dccf8b93c 100644
--- a/gcc/m2/gm2spec.cc
+++ b/gcc/m2/gm2spec.cc
@@ -20,6 +20,8 @@ along with GNU Modula-2; see the file COPYING3.  If not see
 <http://www.gnu.org/licenses/>.  */
 
 #include "config.h"
+#define INCLUDE_STRING
+#define INCLUDE_VECTOR
 #include "system.h"
 #include "coretypes.h"
 #include "tm.h"
@@ -31,8 +33,6 @@ along with GNU Modula-2; see the file COPYING3.  If not see
 #include "gcc.h"
 #include "opts.h"
 #include "vec.h"
-#include <vector>
-#include <string>
 
 #include "m2/gm2config.h"

Reply via email to