This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug fortran/56156] Reject calls to external procedures using non-module declared TYPEs
- From: "burnus at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Wed, 30 Jan 2013 17:39:37 +0000
- Subject: [Bug fortran/56156] Reject calls to external procedures using non-module declared TYPEs
- Auto-submitted: auto-generated
- References: <bug-56156-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56156
Tobias Burnus <burnus at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Summary|Reject INTERFACE blocks in |Reject calls to external
|procedures which import |procedures using non-module
|local nonseq. TYPE decls |declared TYPEs
--- Comment #2 from Tobias Burnus <burnus at gcc dot gnu.org> 2013-01-30 17:39:37 UTC ---
Actually, the INTERFACE might be even valid. (Cf. discussion at c.l.f)
A simpler approach would be to just reject
call s() and call bar(s)
where "s" is declared via an INTERFACE, is not a procedure pointer nor a dummy
argument and uses as result value or dummy argument an extensible derived type
which is not declared in the specification part of a module.
Additionally, besides INTERFACE, also implicit typing can lead to invalid code,
if one implicitly types the function result. (It probably requires an internal
procedure where the type is declared in the enclosing procedure.)