From: <jb...@us...> - 2009-01-02 10:54:36
|
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. |