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"