Re: double confusion
- From: Gordon Sande <g.sande@xxxxxxxxxxxxxxxx>
- Date: Mon, 17 Jul 2006 19:36:49 GMT
On 2006-07-17 15:38:52 -0300, glen herrmannsfeldt <gah@xxxxxxxxxxxxxxxx> said:
Gordon Sande wrote:
(snip)
You could try to use an "IMPLICIT NONE" and see what happens.
Doesn't IMPLICIT have the same scoping problem as other declarations?
The OP thought that a declaration of the following function would
be used by the preceding program because they were in the same file.
If there had been an IMPLICIT NONE in the main there would have been
diagnostics about the missing declaration of the function.
The IMPLICIT NONE would have made it rather explicit that there was
no declaration of the double precision function in the scope of the
main program. The problem was to purge the scope of default declarations
so the OP would know what declarations the compiler was applying. The
problem was the implicit defaults and the F77 linking rules allowing
a program into execution where it did not work correctly.
The OP had the "look and feel" of someone who expected the C rules
on file scope to apply to Fortran separate compilations. So the
question was how to make it easily explicit that something was
missing. Undoubtedly some poor overworked soldier who had been told
"You're a programmer. Deal with this."
When you rely on defaults one of the problems is that you have
to know what the defaults actually are. In Fortran the default types
are integer and real according to the initial letter.
Fortran has no notion of file scope so the beginning is actually the
beginning of the main program. It would be much clearer if you had used
a PRGOGRAM statement. Then you would have gotten an obscure diagnostic
about two main programs which would have indicated that something was
not quite as you had guessed it to be.
-- glen
.
- Follow-Ups:
- Re: double confusion
- From: glen herrmannsfeldt
- Re: double confusion
- References:
- double confusion
- From: Julian Bessenroth
- Re: double confusion
- From: michael
- Re: double confusion
- From: Julian Bessenroth
- Re: double confusion
- From: Ian Bush
- Re: double confusion
- From: Julian Bessenroth
- Re: double confusion
- From: Gordon Sande
- Re: double confusion
- From: glen herrmannsfeldt
- double confusion
- Prev by Date: Re: double confusion
- Next by Date: Re: writing output listing onto screen (or not) and onto file
- Previous by thread: Re: double confusion
- Next by thread: Re: double confusion
- Index(es):
Relevant Pages
|