From rz48@rz.uni-karlsruhe.de  Tue Mar 18 12:45:05 1997
Received: from nz11.rz.uni-karlsruhe.de (nz11.rz.uni-karlsruhe.de [129.13.64.7]) by dkuug.dk (8.6.12/8.6.12) with ESMTP id MAA09278 for <sc22wg5@dkuug.dk>; Tue, 18 Mar 1997 12:44:28 +0100
Message-Id: <199703181144.MAA09278@dkuug.dk>
Received: from ry70.rz.uni-karlsruhe.de by nz11.rz.uni-karlsruhe.de with SMTP (PP); Tue, 18 Mar 1997 12:44:15 +0100
Received: by ry70.rz.uni-karlsruhe.de
	(1.37.109.16/16.2) id AA175355459; Tue, 18 Mar 1997 12:44:19 +0100
Subject: 1st Interoperability PDTR
To: sc22wg5@dkuug.dk, sc22wg5-interop@ncsa.uiuc.edu
Date: Tue, 18 Mar 1997 12:44:18 +0100 (CET)
From: hennecke@rz.uni-karlsruhe.de (Michael Hennecke)
Reply-To: hennecke@rz.uni-karlsruhe.de (Michael Hennecke)
X-Mailer: ELM [version 2.4ME+ PL31 (25)]
Mime-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit
Content-Length: 3022      

The FIRST PDTR for Interoperabiltiy of Fortran and C, WG5/N1277 (X3J3/97-154),
is now ready and available from our server at

  http://www.uni-karlsruhe.de/~SC22WG5/TR-C/n1277.ps.gz

There is also a non-gzipped version for all those who want more bytes (-:

  http://www.uni-karlsruhe.de/~SC22WG5/TR-C/n1277.ps

N1277 will appear on the usual ftp sites soon. Except for front matters, this
is the document which is being submitted to ISO for its first PDTR ballot.
The following one-line topics point to the main changes from N1237 (97-108):

 * Implemented WG5/N1265 (X3J3/97-135) ***EXCEPT PART (2)***.
 * Required ISO_C_*_H contents names to match C names.
 * Required pointer/stdarg ASSIGNMENT(=) to be defined elemental assignment.
 * Allowed CHARACTER(LEN=n,KIND=C_CHAR) for one-dim. C char arrays.
 * Added text that BIND(C) suppresses Fortran character length information
   in structs and dummy arguments.
 * Allowed multiple PRAGMA= clauses, explain unknown pragmas are ignored.
 * Removed stuff about optional <lang-keyword>s.
 * Removed stuff about "not directly supported" backdoors.
 * Removed "parantheses have no effect" for VA_LIST OPERATOR(//).
 * Replaced OPERATOR(==) with C_ISNULL for null-pointer comparison.
 * Added edits for intrinsic modules (from Exceptions PDTR).
 * Added an intrinsic module samples annex.

One important ommission is that I DID NOT IMPLEMENT PART (2) OF N1265 !
This was the requirement that actual arguments to C_ADDRESS should have
the TARGET attribute. I realized that this was far too complex to do it 
properly before March 17 (the deadline for submittal of the document to 
Miles). The issue will, I am sure, be raised again in the first PDTR
ballot, and must be solved before the final PDTR ballot. Sorry for this...

Additionally, I dealt with some of the comments I received for N1237.
For example, all material mentioning non-portable back-doors or reading
"not directly supported" has been removed. Fortran character strings can
now be used to bind to one-dimensional C char arrays, which makes the use
of string literals as actual arguments possible. There is now an annex
summarizing the required intrinsic modules' contents. Plus misc. minor
changes and typo fixes.

Thanks,
Michael

PS: I will also send this document and an invitation for review out to a 
    set of mailing lists and news groups within the next week(s). 
    This will, of course, include WG14 the ISO C committee.

 ======================================================================
  Michael Hennecke      http://www.uni-karlsruhe.de/~Michael.Hennecke/ 
 ----------------------------------------------------------------------
  University of Karlsruhe         RFC822: hennecke@rz.uni-karlsruhe.de 
  Computing Center (G20.21 R210)               No longer on BITNET :-(
  Zirkel 2  *  P.O. Box 69 80                 Phone: +49 721  608-4862 
  D-76128  Karlsruhe                               Fax: +49 721  32550 
 ======================================================================
