[gcc r12-5686] doc, d: Add note that D front end now requires GDC installed in order to bootstrap.

Iain Buclaw ibuclaw@gcc.gnu.org
Wed Dec 1 10:58:55 GMT 2021


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

commit r12-5686-gd376b73aa12d183e3040456c7641fb74500d0727
Author: Iain Buclaw <ibuclaw@gdcproject.org>
Date:   Wed Nov 17 10:55:08 2021 +0100

    doc, d: Add note that D front end now requires GDC installed in order to bootstrap.
    
    gcc/ChangeLog:
    
            * doc/install.texi (Prerequisites): Add note that D front end now
            requires GDC installed in order to bootstrap.
            (Building): Add D compiler section, referencing prerequisites.

Diff:
---
 gcc/doc/install.texi | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/gcc/doc/install.texi b/gcc/doc/install.texi
index 094469b9a4e..6f999a2fd5a 100644
--- a/gcc/doc/install.texi
+++ b/gcc/doc/install.texi
@@ -289,6 +289,25 @@ Ada runtime libraries. You can check that your build environment is clean
 by verifying that @samp{gnatls -v} lists only one explicit path in each
 section.
 
+@item @anchor{GDC-prerequisite}GDC
+
+In order to build GDC, the D compiler, you need a working GDC
+compiler (GCC version 9.1 or later), as the D front end is written in D.
+
+Versions of GDC prior to 12 can be built with an ISO C++11 compiler, which can
+then be installed and used to bootstrap newer versions of the D front end.
+
+It is strongly recommended to use an older version of GDC to build GDC. More
+recent versions of GDC than the version built are not guaranteed to work and
+will often fail during the build with compilation errors relating to
+deprecations or removed features.
+
+Note that @command{configure} does not test whether the GDC installation works
+and has a sufficiently recent version.  Though the implementation of the D
+front end does not make use of any GDC-specific extensions, or novel features
+of the D language, if too old a GDC version is installed and
+@option{--enable-languages=d} is used, the build will fail.
+
 @item A ``working'' POSIX compatible shell, or GNU bash
 
 Necessary when running @command{configure} because some
@@ -2977,6 +2996,15 @@ and network filesystems.
 @uref{prerequisites.html#GNAT-prerequisite,,GNAT prerequisites}.
 @end ifhtml
 
+@section Building the D compiler
+
+@ifnothtml
+@ref{GDC-prerequisite}.
+@end ifnothtml
+@ifhtml
+@uref{prerequisites.html#GDC-prerequisite,,GDC prerequisites}.
+@end ifhtml
+
 @section Building with profile feedback
 
 It is possible to use profile feedback to optimize the compiler itself.  This


More information about the Gcc-cvs mailing list