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

Reply via email to