This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Gfortran issue
- From: Tobias Burnus <tobias dot burnus at physik dot fu-berlin dot de>
- To: Jerome Huck <jeromehuck at orange dot fr>
- Cc: gcc at gcc dot gnu dot org
- Date: Tue, 29 Jul 2014 10:48:44 +0200
- Subject: Re: Gfortran issue
- Authentication-results: sourceware.org; auth=none
Good morning Jerome,
Jerome Huck wrote:
> I have warning with COMMON. The COMMONS are the same along the code...
> When compiled I have warnings with different sizes !!!
Well, neither /NO1/ nor /NO4/ are not the same size throughout the code.
> There were some bugs/issues in the past see :
Those issues were about not warning in this case - not about
falsely warning.
Back to your code. In the main program and in GRID your code
contains for /NO4/ the variables: QF(6,14,3), QC(4,13,3), DXW
But in WING it only has in /NO4/ only: QF(6,14,3)
Similarly for /NO1/, which has:
COMMON/NO1/ DS,X,B,C,S,AR,SN1,CS1
COMMON/NO1/ DS,X,B,C,S,AR,SN1,CS1
COMMON/NO1/ DS
The Fortran standard mandates that all named common blocks have
the same size. However, looking at your common blocks, I think
your declarations are fine in practice. Thus, you can ignore
the warning, unless you want to make the code conforming to
the Fortran standard.
Quoting Fortran 77's 8.3.3: "Within an executable program, all
named common blocks that have the same name must be the same
size." (Fortran 90/95/2003/2008 have similar wordings.)
For those liking language archeology, they could try to find out
what Fortran 66 specified...
Tobias