ABSTRACT interfaces + PROCEDURE declarations

Tobias Burnus burnus@net-b.de
Fri Aug 17 18:19:00 GMT 2007


Hi Janus,

Janus Weil wrote:
> here comes a new version of my abstract interface patch.
1. ChangeLog

This is really needed and you should do it.


2. Your Bind(C) check does not work:
   subroutine three() bind(C,name="three")
gives no error. But one has specified a bind name.

Additionally, I find the error message unclear:
  Error: ABSTRACT INTERFACE at (1) may not be BIND(C) with name 'three_'
I read it as if either something is wrong with "three_" or with "BIND(C)".

How about the attached patch?


3. A test case

For 3: I created a test for the error diagnostics.
For a valid program I suggest to commit a test case together with the
PROCEDURE patch.


>From my side Janus' patch (with my test case and Janus' bind(C) check
replaced by mine) is OK.

Janus: Can you write the ChangeLog, merge the patches* and send an email
with your abstract interface patch to both fortran@ and to gcc-patches@?
(* feel free to modify my test case or patch)

I think it can then be checked in.

Tobias

PS: The patch was regression tested on x86_64-unknown-linux-gnu with no
failures; the decl.c diff contains both Janus' and my changes.



More information about the Fortran mailing list