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, jba...@users.sourceforge.net 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 > plplot-...@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/plplot-cvs > ------------------------------------------------------------------------------ _______________________________________________ Plplot-devel mailing list Plplot-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/plplot-devel