Hi Alan,

> -----Original Message-----
> From: Alan W. Irwin [mailto:ir...@beluga.phys.uvic.ca]
> Sent: Tuesday, February 16, 2016 4:30 AM
> To: Arjen Markus
> Cc: PLplot development list
> Subject: Fortran callback progress
>
> On 2016-02-15 02:59-0800 Alan W. Irwin wrote:
>
> [...]
> > Actually, plmap, plmapline,
> > plmapfill, etc., have the same near-duplicate messy code style issues
> > so I am trying to figure out how to fix those issues first before I
> > tackle implementing real fortran callbacks for plcont, plshade,
> > plshades, plimage and plvect.
>
> Hi Arjen:
>
> As of commit 971cb37 I did discover a way to implement the two precision 
> flavours
> of plmap, plmapline, etc. (and also plmeridians) in
> included_plplot_real_interfaces.f90 for a 50 per cent saving in code (and 
> also likely
> a considerable improvement in developer understanding
> 20 years from now).
>
> The only caveat with this new "compact" style is you get the following two 
> gfortran
> build warnings
>
> Warning: Symbol 'plmapformf2c' at (1) is marked PRIVATE but has been given the
> binding label 'plplot_double_plmapformf2c'
>
> and
>
> Warning: Symbol 'plmapformf2c' at (1) is marked PRIVATE but has been given the
> binding label 'plplot_single_plmapformf2c'
>
>
> When I looked up that build warning it appears to be regarded by certain 
> legitimate-
> sounding users as a gfortran bug (see
> <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=49111> and
> <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64861>).  And I also liked the
> argument presented in one of those reports that there are two kinds of 
> privacy in
> this case which are Fortran module privacy and overall privacy, and you may 
> well
> want to keep parts of a module private from other modules (as I do in this 
> case to
> avoid the plmapformf2c name clash) while there are still associated public 
> results
> from this module code (i.e., the public symbols plplot_double_plmapformf2c and
> plplot_single_plmapformf2c exist in the library).  So although the gfortran
> developers have not responded to this good argument (yet) one hopes they will 
> do
> so in the long run to get rid of this warning message that says essentially 
> that
> overall privacy has been violated.  After all, that is a pretty spurious 
> warning since
> essentially the same thing happens without a warning message for the names
> (which are also module-private but not overall
> private) of our module procedures.
>
> In any case the result at run-time (as you can see from my commit
> message) is perfect so I am going to ignore the above two warnings and assume 
> no
> other compiler will have any issue with a private C binding.
>
> N.B. a quick check that ifort can build the present compactly styled library 
> would be
> appreciated if you are not completely caught up finishing other things before 
> your
> holiday.
>
> I intend to follow up the current good results for the compact style with (i)
> implementing with a similar compact style real Fortran callbacks for plcont, 
> plshade,
> plshades, plimage, and plvector, (ii) testing all those real callbacks, and 
> (iii)
> updating bindings/f95/plplotf95_ifort.def. (I noticed that file is rather 
> incomplete at
> the moment, e.g., no single-precision version of any of the plmap* routines, 
> but it
> should be straightforward to update it using the results from
>
> nm --defined-only bindings/f95/libplplotf95.so
>
> and the existing symbol patterns in that file.)
>
> Those three topics should finally finish off my Fortran plans for this 
> release cycle,
> although I still have a lot of non-Fortran topics on my agenda for this 
> release cycle
> so the forthcoming release date is still not settled.
>
Great, I have seen this warning message myself too, but I think it is over 
cautious. I am positive Intel Fortran will accept the new code too, but I will 
try it out.

Regards,

Arjen



DISCLAIMER: This message is intended exclusively for the addressee(s) and may 
contain confidential and privileged information. If you are not the intended 
recipient please notify the sender immediately and destroy this message. 
Unauthorized use, disclosure or copying of this message is strictly prohibited. 
The foundation 'Stichting Deltares', which has its seat at Delft, The 
Netherlands, Commercial Registration Number 41146461, is not liable in any way 
whatsoever for consequences and/or damages resulting from the improper, 
incomplete and untimely dispatch, receipt and/or content of this e-mail.
------------------------------------------------------------------------------
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
_______________________________________________
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel

Reply via email to