Algol 68 frontend uses preprocessor guards for standard C++ headers
The Algol 68 frontend in GCC now includes standard C++ headers using `INCLUDE_*` preprocessor definitions, improving build robustness and consistency.
This commit modifies the Algol 68 frontend in GCC to use INCLUDE_ preprocessor symbols instead of direct includes for standard C++ headers like <string> and <map>. This change ensures that the inclusion of these headers is managed more consistently and robustly, aligning with common practices for integrating system-level headers within the GCC build system.
In Details
Within the GCC build system, relying on direct #include <header> for standard C++ library headers can introduce issues with system-specific header paths or precompiled header (PCH) management. The preferred method is to define a preprocessor symbol, such as INCLUDE_STRING or INCLUDE_MAP, which the build system then translates into the appropriate include directive. This patch updates several files within the gcc/algol68 directory, including a68-parser-brackets.cc and a68-imports.cc, to no longer directly include <string> or <map>, but instead define the corresponding `INCLUDE_…
For Context
When a large software project like GCC is built, it often needs to use common code from other standard libraries, such as the C++ Standard Library. The way these libraries are included can be tricky because different operating systems or build configurations might have them in different places. Instead of directly writing #include <string> in the Algol 68 part of the compiler, this change now uses special flags (called INCLUDE_STRING or INCLUDE_MAP) that are set by the main GCC build system. This makes the build process more robust and flexible, as the central build system can then decide the precise way to bring in these standard library parts, ensuring everything works correctly across different environments.