This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug fortran/56156] Reject calls to external procedures using non-module declared TYPEs


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.)


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]