On 2016-05-11 09:42-0000 Arjen Markus wrote: > I was also reminded of a small omission in the current code regarding the use of IMPLICIT NONE. It is not propagated from the module to the interface blocks. Therefore I want to add that statement everywhere where that is appropriate, just to make extra sure that no argument has been left implicitly declared.
Hi Arjen: If you are aware of any interface blocks that do not have an "implicit none" statement please go ahead and make that change. However, I would not want to see you add "implicit none" statements to all our ordinary functions and subroutines that are defined after the "contains" statement since those are unnecessary. In other words, we currently follow the style that implicit none is needed at the start of every module and also in all interface blocks but nowhere else. This style should be sufficient to insure there are no implicit declarations (i.e., untyped variables) left in our code according to <http://stackoverflow.com/questions/24337413/where-to-put-implicit-none-in-fortran>. Previously, I eliminated the "implicit none" statements not required by this rule on the principle that "if it is not needed don't use it", and I also wanted to see a uniform style. (Previously some of those unneeded "implicit none" statements were included in our code, but not in all cases.) Of course, our principal concern here is not one of style, but instead we just want to confirm there are no untyped variables left in our code. The "implicit none" statement checks for such variables, but you need a lot of those statements (even with the above style) to get the job done, and it is easy to miss, say, one interface block, and if you are really unlucky, it will be that interface block that will have some untyped variables. The gfortran compiler used to have an option called -Wimplicit which is currently described in the man page (and info pages) as follows: "You can request many specific warnings with options beginning -W, for example -Wimplicit to request warnings on implicit declarations." So that looked like a good option to check for untyped variables in our code, but unfortunately that turns out to be a historical note they haven't removed yet, and the detailed description of the gfortran options no longer includes -Wimplicit, and I also just confirmed that gfortran no longer accepts that option. Do any of the Fortran compilers accessible to you have an option to check for any untyped variables = implicit declarations left in our code? If so, please use that option to check our code. Alan __________________________ Alan W. Irwin Astronomical research affiliation with Department of Physics and Astronomy, University of Victoria (astrowww.phys.uvic.ca). Programming affiliations with the FreeEOS equation-of-state implementation for stellar interiors (freeeos.sf.net); the Time Ephemerides project (timeephem.sf.net); PLplot scientific plotting software package (plplot.sf.net); the libLASi project (unifont.org/lasi); the Loads of Linux Links project (loll.sf.net); and the Linux Brochure Project (lbproject.sf.net). __________________________ Linux-powered Science __________________________ ------------------------------------------------------------------------------ Mobile security can be enabling, not merely restricting. Employees who bring their own devices (BYOD) to work are irked by the imposition of MDM restrictions. Mobile Device Manager Plus allows you to control only the apps on BYO-devices by containerizing them, leaving personal data untouched! https://ad.doubleclick.net/ddm/clk/304595813;131938128;j _______________________________________________ Plplot-devel mailing list Plplot-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/plplot-devel