Jerry,

Your work-around fixes things for me. I now get ada working again and
identical results to the C versions of the examples.

Thanks

Andrew

On Sat, Jan 03, 2009 at 07:58:01PM -0700, Jerry wrote:
> Thanks, Andrew. I'll look into this. worst case is we delete the  
> second argument.
> Jerry
> 
> On Jan 3, 2009, at 3:09 AM, Andrew Ross wrote:
> 
> >
> > 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
> 

------------------------------------------------------------------------------
_______________________________________________
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel

Reply via email to