> GCC fails to bootstrap when configured with --enable-languages=all on
> machines that have older versions of GNAT installed as the system Ada
> compiler.  In configure, it's not sufficient to check whether gnat is
> available, but whether a sufficiently recent version of GNAT is
> installed.  This patch tweaks config/acx.m4 so that conftest.adb also
> contains a reference to System.CRTL.int64 as required by the current
> version of gcc/ada/osint.adb.  This fixes the build when the system
> Ada is GNAT v4.8.5 (on Redhat 7) by disabling ada, but continues to
> work fine when the system Ada is GNAT v11.3.1.
> 
> Tested in x86_64-pc-linux-gnu.  Ok for mainline?
> 
> 
> 2022-07-30  Roger Sayle  <ro...@nextmovesoftware.com>
> 
> ChangeLog
>         * config/acx.me (AC_PROG_GNAT): Update conftest.adb to include
>         features required of the host gnat compiler.
>         * configure: Regenerate.
> 
> Thanks in advance,
> Roger
> --
> 

> diff --git a/config/acx.m4 b/config/acx.m4
> index b86c4f9..bd3e7f8 100644
> --- a/config/acx.m4
> +++ b/config/acx.m4
> @@ -396,6 +396,10 @@ AC_CHECK_TOOL(GNATMAKE, gnatmake, no)
>  AC_CACHE_CHECK([whether compiler driver understands Ada],

I'd suggest changing the text above to e.g. "whether compiler driver 
understands Ada and is recent enough"

OK with this change, thanks!

>                acx_cv_cc_gcc_supports_ada,
>  [cat >conftest.adb <<EOF
> +pragma Warnings (Off);
> +with System.CRTL;
> +pragma Warnings (On);
> +use type System.CRTL.int64;
>  procedure conftest is begin null; end conftest;
>  EOF
>  acx_cv_cc_gcc_supports_ada=no
> diff --git a/configure b/configure
> index 65d7078..3ddcc9f 100755
> --- a/configure
> +++ b/configure
> @@ -5608,6 +5608,10 @@ if ${acx_cv_cc_gcc_supports_ada+:} false; then :
>    $as_echo_n "(cached) " >&6
>  else
>    cat >conftest.adb <<EOF
> +pragma Warnings (Off);
> +with System.CRTL;
> +pragma Warnings (On);
> +use type System.CRTL.int64;
>  procedure conftest is begin null; end conftest;
>  EOF
>  acx_cv_cc_gcc_supports_ada=no

Reply via email to