Jerry,
The commit below breaks ada support for me. It looks like this form of
the ada warnings pragma is only available in recent versions of gnat.
With gnat 4.2.4 I get errors like
plplot.ads:72:26: second argument of pragma "Warnings" must be entity
name
According to the documentation only the forms
pragma Warnings (On | Off [, local_NAME]);
pragma Warnings (static_string_EXPRESSION);
are supported in gcc 4.2.4.
Andrew
On Fri, Jan 02, 2009 at 10:54:32AM +0000, [email protected] wrote:
> Revision: 9242
> http://plplot.svn.sourceforge.net/plplot/?rev=9242&view=rev
> Author: jbauck
> Date: 2009-01-02 10:54:32 +0000 (Fri, 02 Jan 2009)
>
> Log Message:
> -----------
> Added pragmas to selectively disable warning messages that were being
> generated during compilation of the Ada bindings and Ada Examples 21.
> Building should now proceed without these specific warnings but other
> warnings can still be generated as they arise.
>
> Modified Paths:
> --------------
> trunk/bindings/ada/plplot.ads.cmake
> trunk/bindings/ada/plplot_traditional.ads.cmake
> trunk/doc/docbook/src/ada.xml
> trunk/examples/ada/x20a.adb.cmake
> trunk/examples/ada/xthick20a.adb.cmake
>
> Modified: trunk/bindings/ada/plplot.ads.cmake
> ===================================================================
> --- trunk/bindings/ada/plplot.ads.cmake 2009-01-02 10:17:24 UTC (rev
> 9241)
> +++ trunk/bindings/ada/plplot.ads.cmake 2009-01-02 10:54:32 UTC (rev
> 9242)
> @@ -69,7 +69,13 @@
> -- from this package (PLplot_Traditional) can't be used. Thus, this also
> -- overloads the name Fill_Polygon. It might never occur to the Ada
> programmer
> -- that this is happening, which is good.
> + pragma Warnings(Off, "foreign caller must pass bounds explicitly");
> + pragma Warnings(Off, "type of argument ""Fill_Polygon.x"" is
> unconstrained array");
> + pragma Warnings(Off, "type of argument ""Fill_Polygon.y"" is
> unconstrained array");
> procedure Fill_Polygon(length : Integer; x, y : Real_Vector) renames
> PLplot_Thin.plfill;
> + pragma Warnings(On, "foreign caller must pass bounds explicitly");
> + pragma Warnings(On, "type of argument ""Fill_Polygon.x"" is
> unconstrained array");
> + pragma Warnings(On, "type of argument ""Fill_Polygon.y"" is
> unconstrained array");
>
> -- Make Mask_Function_Pointer_Type available to the user so that s/he
> doesn't
> -- have to "with" PLplot_Thin. Note that it is also used herein.
>
> Modified: trunk/bindings/ada/plplot_traditional.ads.cmake
> ===================================================================
> --- trunk/bindings/ada/plplot_traditional.ads.cmake 2009-01-02 10:17:24 UTC
> (rev 9241)
> +++ trunk/bindings/ada/plplot_traditional.ads.cmake 2009-01-02 10:54:32 UTC
> (rev 9242)
> @@ -69,7 +69,13 @@
> -- from this package (PLplot_Traditional) can't be used. Thus, this also
> -- overloads the name plfill. It might never occur to the Ada programmer
> -- that this is happening, which is good.
> + pragma Warnings(Off, "foreign caller must pass bounds explicitly");
> + pragma Warnings(Off, "type of argument ""plfill.x"" is unconstrained
> array");
> + pragma Warnings(Off, "type of argument ""plfill.y"" is unconstrained
> array");
> procedure plfill(length : Integer; x, y : Real_Vector) renames
> PLplot_Thin.plfill;
> + pragma Warnings(On, "foreign caller must pass bounds explicitly");
> + pragma Warnings(On, "type of argument ""plfill.x"" is unconstrained
> array");
> + pragma Warnings(On, "type of argument ""plfill.y"" is unconstrained
> array");
>
> -- Make Mask_Function_Pointer_Type available to the user so that s/he
> doesn't
> -- have to "with" PLplot_Thin. Note that it is also used herein.
>
> Modified: trunk/doc/docbook/src/ada.xml
> ===================================================================
> --- trunk/doc/docbook/src/ada.xml 2009-01-02 10:17:24 UTC (rev 9241)
> +++ trunk/doc/docbook/src/ada.xml 2009-01-02 10:54:32 UTC (rev 9242)
> @@ -304,12 +304,7 @@
> <para> As discussed in Section 6.1, the bindings are made to
> work with Ada 95 but to also take advantage of the Annex G.3 (vector-matrix)
> features of Ada 2005. Actually, this adaptation takes place during the PLplot
> build process when <literal>DHAVE_ADA_2007=OFF</literal> or
> <literal>DHAVE_ADA_2007=ON</literal> is chosen; the appropriate binding
> source files are generated automatically. User programs will work with either
> compiler type without modification.</para>
> <para><emphasis role="bold"> 10.2 GNAT
> Dependence</emphasis></para>
> <para> There is a slight but significant dependence on the
> GNAT version of Ada. This is discussed more fully in Section 6.2</para>
> - <para><emphasis role="bold"> 10.3 Compiler
> Warnings</emphasis></para>
> - <para> During normal compilation of the Ada bindings,
> approximately a dozen warnings are generated, in pairs, of the following
> form:</para>
> - <para> <literal>bar.adb:46: warning: type of argument "foo" is
> unconstrained array</literal></para>
> - <para> <literal>bar.adb:46: warning: foreign caller must pass bounds
> explicitly</literal></para>
> - <para> These are normal and an unavoidable consequence of some of the
> callback routines interacting with the underlying C code.</para>
> - <para><emphasis role="bold"> 10.4
> PLplot_Auxiliary</emphasis></para>
> + <para><emphasis role="bold"> 10.3
> PLplot_Auxiliary</emphasis></para>
> <para> The bindings include files
> <literal>PLplot_Auxiliary.ads</literal> and
> <literal>PLplot_Auxiliary.adb</literal>. These files are currently used to
> provide a few convenience subprograms that are used in the examples. However,
> they are also very tightly associated with the above-mentioned facility to
> accommodate either Ada 95 or Ada 2005 compilers. The current situation is
> such that if the user is using an Ada 95 compiler <emphasis>and</emphasis>
> requires the Real_Vector or Real_Matrix type definitions, then he/she should
> <literal>with</literal> <literal>PLplot_Auxiliary</literal>. If in doubt,
> <literal>PLplot_Auxiliary</literal> can always be <literal>with</literal>-ed
> without harm. In the future, this confusion might be removed and the need for
> <literal>PLplot_Auxiliary</literal> removed. (However, user programs that
> with it should still work without change.)</para>
>
> </sect1>
>
> Modified: trunk/examples/ada/x20a.adb.cmake
> ===================================================================
> --- trunk/examples/ada/x20a.adb.cmake 2009-01-02 10:17:24 UTC (rev 9241)
> +++ trunk/examples/ada/x20a.adb.cmake 2009-01-02 10:54:32 UTC (rev 9242)
> @@ -142,7 +142,11 @@
> xxi := gin.wX;
> yyi := gin.wY;
> if start /= 0 then
> + pragma Warnings(Off, """sx"" may be referenced
> before it has a value");
> + pragma Warnings(Off, """sy"" may be referenced
> before it has a value");
> plline(sx, sy); -- Clear previous rectangle.
> + pragma Warnings(On, """sx"" may be referenced before
> it has a value");
> + pragma Warnings(On, """sy"" may be referenced before
> it has a value");
> end if;
>
> start := 0;
>
> Modified: trunk/examples/ada/xthick20a.adb.cmake
> ===================================================================
> --- trunk/examples/ada/xthick20a.adb.cmake 2009-01-02 10:17:24 UTC (rev
> 9241)
> +++ trunk/examples/ada/xthick20a.adb.cmake 2009-01-02 10:54:32 UTC (rev
> 9242)
> @@ -142,7 +142,11 @@
> xxi := gin.wX;
> yyi := gin.wY;
> if start /= 0 then
> + pragma Warnings(Off, """sx"" may be referenced
> before it has a value");
> + pragma Warnings(Off, """sy"" may be referenced
> before it has a value");
> Draw_Curve(sx, sy); -- Clear previous rectangle.
> + pragma Warnings(On, """sx"" may be referenced before
> it has a value");
> + pragma Warnings(On, """sy"" may be referenced before
> it has a value");
> end if;
>
> start := 0;
>
>
> This was sent by the SourceForge.net collaborative development platform, the
> world's largest Open Source development site.
>
> ------------------------------------------------------------------------------
> _______________________________________________
> Plplot-cvs mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/plplot-cvs
>
------------------------------------------------------------------------------
_______________________________________________
Plplot-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/plplot-devel