[fortran,patch] Extend symbol.c's check_conflict (PR29657)

Paul Thomas paulthomas2@wanadoo.fr
Tue Nov 14 15:08:00 GMT 2006


Tobias Burnus wrote:
> :ADDPATCH fortran:
>
> This patch adds the following conflicts:
>
> * FUNCTION name conflicts with SAVE
>   
5.2.4 SAVE
Constraint: An object-name shall not be the name of an object in a 
common block, a dummy
argument name, a procedure name, a function result name, an automatic 
data object
name, or the name of an object with the PARAMETER attribute.

As far as I can see, all the others are there.

> * SUBROUTINE name conflicts with DIMENSION
> * PROGRAM and MODULE names conflicts with DIMENSION
> Those should be obvious. I couldn't find a good reference, though.
>   
Neither could I; as you say, they are obvious.
>
> * DUMMY ARGUMENTS conflict with ENTRY
> This is explicitly forbidden in Fortran 2003
> C1255
>   
12.5.2.5 ENTRY statement
Constraint: Within the subprogram containing the entry-stmt, the 
entry-name shall not appear as a
dummy argument in the FUNCTION or SUBROUTINE statement or in another
ENTRY statement and it shall not appear in an EXTERNAL or INTRINSIC 
statement.

> * DUMMY ARGUMENTS conflict with INTRINSIC
> It it not stated as allowed - contrary to EXTERNAL where it is
> explicitly allowed (see 12.3.2.2)
>   
12.3.2.3 INTRINSIC statement
....snip....
NOTE 12.11
A name shall not appear in both an EXTERNAL and an INTRINSIC statement 
in the same
scoping unit.

which implies the constraint that you are applying.

OK  for trunk.

Thanks

Paul



More information about the Gcc-patches mailing list