This is the mail archive of the
mailing list for the GCC project.
Re: [fortran,patch] Extend symbol.c's check_conflict (PR29657)
- From: Paul Thomas <paulthomas2 at wanadoo dot fr>
- To: Tobias Burnus <burnus at net-b dot de>
- Cc: "'fortran at gcc dot gnu dot org'" <fortran at gcc dot gnu dot org>, gcc-patches <gcc-patches at gcc dot gnu dot org>
- Date: Tue, 14 Nov 2006 16:03:40 +0100
- Subject: Re: [fortran,patch] Extend symbol.c's check_conflict (PR29657)
- References: <455657AA.firstname.lastname@example.org>
Tobias Burnus wrote:
:ADDPATCH fortran:5.2.4 SAVE
This patch adds the following conflicts:
* FUNCTION name conflicts with 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
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 DIMENSIONNeither could I; as you say, they are obvious.
* PROGRAM and MODULE names conflicts with DIMENSION
Those should be obvious. I couldn't find a good reference, though.
22.214.171.124 ENTRY statement
* DUMMY ARGUMENTS conflict with ENTRY
This is explicitly forbidden in Fortran 2003
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
* DUMMY ARGUMENTS conflict with INTRINSIC126.96.36.199 INTRINSIC statement
It it not stated as allowed - contrary to EXTERNAL where it is
explicitly allowed (see 188.8.131.52)
A name shall not appear in both an EXTERNAL and an INTRINSIC statement
in the same
which implies the constraint that you are applying.
OK for trunk.