From owner-sc22wg5@open-std.org  Wed Dec  1 21:39:34 2010
Return-Path: <owner-sc22wg5@open-std.org>
X-Original-To: sc22wg5-dom8
Delivered-To: sc22wg5-dom8@www2.open-std.org
Received: by www2.open-std.org (Postfix, from userid 521)
	id DFEEDC3BA06; Wed,  1 Dec 2010 21:39:34 +0100 (CET)
X-Original-To: sc22wg5@open-std.org
Delivered-To: sc22wg5@open-std.org
Received: from ppsw-51.csi.cam.ac.uk (ppsw-51.csi.cam.ac.uk [131.111.8.151])
	by www2.open-std.org (Postfix) with ESMTP id 275B5C3BA03
	for <sc22wg5@open-std.org>; Wed,  1 Dec 2010 21:39:33 +0100 (CET)
X-Cam-AntiVirus: no malware found
X-Cam-SpamDetails: not scanned
X-Cam-ScannerInfo: http://www.cam.ac.uk/cs/email/scanner/
Received: from hermes-2.csi.cam.ac.uk ([131.111.8.54]:53647)
	by ppsw-51.csi.cam.ac.uk (smtp.hermes.cam.ac.uk [131.111.8.158]:25)
	with esmtpa (EXTERNAL:nmm1) id 1PNtSf-0003Bq-Wa (Exim 4.72)
	(return-path <nmm1@hermes.cam.ac.uk>); Wed, 01 Dec 2010 20:39:33 +0000
Received: from prayer by hermes-2.csi.cam.ac.uk (hermes.cam.ac.uk)
	with local (PRAYER:nmm1) id 1PNtSf-0001hs-2s (Exim 4.67)
	(return-path <nmm1@hermes.cam.ac.uk>); Wed, 01 Dec 2010 20:39:33 +0000
Received: from [83.67.89.123] by webmail.hermes.cam.ac.uk
	with HTTP (Prayer-1.3.3); 01 Dec 2010 20:39:33 +0000
Date: 01 Dec 2010 20:39:33 +0000
From: "N.M. Maclaren" <nmm1@cam.ac.uk>
To: WG5 <sc22wg5@open-std.org>
Subject: Re: [ukfortran] (SC22WG5.4359) (j3.2006) WG5 informal ballot re	Interop. TR
Message-ID: <Prayer.1.3.3.1012012039330.2462@hermes-2.csi.cam.ac.uk>
In-Reply-To: <20101130155851.5AC3EC3BA03@www2.open-std.org>
References: <20101108175805.5B97EC178E5@www2.open-std.org>
 <20101130155851.5AC3EC3BA03@www2.open-std.org>
X-Mailer: Prayer v1.3.3
Mime-Version: 1.0
Content-Type: text/plain; format=flowed; charset=ISO-8859-1
Sender: owner-sc22wg5@open-std.org
Precedence: bulk

On Nov 30 2010, Aleksandar Donev wrote:
>
>C) Regarding the macro CFI_DESC_T. Some more specification is needed to 
>clarify what this macro does, or an explicit form for it provided as an 
>example. Otherwise one cannot evaluate whether it will be useful in 
>practice.
>Consider
>
>CFI_DESC_T(5) object; // Does object.base_addr work?
>
>Does CFI_DESC_T(5) expand to some opaque block-of-enough-bytes or is it 
>an actual typed struct?
>If so, one can only use the object of type CFI_DESC_T(5) via pointers 
>and casts, as done in the example in Note  5.2, but one could not in 
>fact do something like object.base_addr.

10-232r2 was written in haste, but the example in that does permit such
use (and initialisation using designators).  That is fairly clear from
the C standard.

However:

    There is a trivial bug in the example, because I shouldn't have used
rank as a macro argument (it was a last-minute edit).  Any name that is
NOT a type or field name will do - e.g. 'arg'.

    Upon deeper study, C99's 'definitions' of compatibility and 
completeness of types are far more confused than I had remembered, and some 
more precise wording is needed to avoid ambiguity. I have written a paper 
and will upload it, but it is PURELY wordsmithing.


Regards,
Nick Maclaren.



