From owner-sc22wg5+sc22wg5-dom8=www.open-std.org@open-std.org  Tue Sep 18 11:42:30 2012
Return-Path: <owner-sc22wg5+sc22wg5-dom8=www.open-std.org@open-std.org>
X-Original-To: sc22wg5-dom8
Delivered-To: sc22wg5-dom8@www.open-std.org
Received: by www.open-std.org (Postfix, from userid 521)
	id 950DB356930; Tue, 18 Sep 2012 11:42:30 +0200 (CEST)
Delivered-To: sc22wg5@open-std.org
Received: from nag-j.co.jp (nag-j.co.jp [111.68.142.10])
	by www.open-std.org (Postfix) with ESMTP id 260AA35692C
	for <sc22wg5@open-std.org>; Tue, 18 Sep 2012 11:42:28 +0200 (CEST)
Received: from Maru6 (218-42-159-105.cust.bit-drive.ne.jp [218.42.159.105])
	(authenticated bits=0)
	by nag-j.co.jp (8.14.5/8.14.5) with ESMTP id q8I9gKaW057696
	for <sc22wg5@open-std.org>; Tue, 18 Sep 2012 09:42:26 GMT
	(envelope-from malcolm@nag-j.co.jp)
Message-ID: <13CCF131765647DD8017EE7FB51F5677@Maru6>
From: "Malcolm Cohen" <malcolm@nag-j.co.jp>
To: "WG5" <sc22wg5@open-std.org>
References: <20120914232724.BB7E5356938@www.open-std.org><Prayer.1.3.5.1209150833200.28139@hermes-1.csi.cam.ac.uk><20120915222530.59C0835698D@www.open-std.org><20120918081154.8817935692C@www.open-std.org> <20120918092311.902E035692C@www.open-std.org>
In-Reply-To: <20120918092311.902E035692C@www.open-std.org>
Subject: Re: [ukfortran] (SC22WG5.4783) [WG5 letter ballot 4 on Fortran 2008 interpretations]
Date: Tue, 18 Sep 2012 18:42:19 +0900
Organization: =?UTF-8?B?5pel5pysTkFH?=
MIME-Version: 1.0
Content-Type: text/plain;
	format=flowed;
	charset="UTF-8";
	reply-type=response
Content-Transfer-Encoding: 8bit
X-Priority: 3
X-MSMail-Priority: Normal
Importance: Normal
X-Mailer: Microsoft Windows Live Mail 15.4.3555.308
X-MimeOLE: Produced By Microsoft MimeOLE V15.4.3555.308
Sender: owner-sc22wg5@open-std.org
Precedence: bulk

I do not agree.  This has to be a straightforward violation of the syntax, 
seeing as how the struct-declaration-list BNF requires at least one 
struct-declaration.  Here are the syntax rules in question:

struct-or-union-specifier:
  struct-or-union identifieropt { struct-declaration-list }
  struct-or-union identifier

struct-or-union:
  struct
  union

struct-declaration-list:
  struct-declaration
  struct-declaration-list struct-declaration

struct-declaration:
  specifier-qualifier-list struct-declarator-listopt ;
  static_assert-declaration

specifier-qualifier-list:
  type-specifier specifier-qualifier-listopt
  type-qualifier specifier-qualifier-listopt

...

-----Original Message----- 
From: N.M. Maclaren
Date: 平成 24年9月18日 18:23
To: WG5
Subject: [ukfortran] (SC22WG5.4783) [WG5 letter ballot 4 on Fortran 2008 
interpretations]

On Sep 18 2012, Malcolm Cohen wrote:

>> Just because one declares a type with the BIND(C) attribute, and creates 
>> objects of that type, doesn't mean they are actually ever used for 
>> interoperation. Bizarre, yes, but permitted by the standard -- until this 
>> interp. Compatibility caveats in 1.6 are for compatibility with earlier 
>> Fortran standards, not for interoperability. "We allowed this in Fortran 
>> 2003, but not any more."
>
> I remain of the view that the only reasonable interpretation of a requirement 
> to interoperate with a syntax error is a requirement to produce a syntax error 
> message.

I agree.  Unfortunately, the wrinkle is that, in terms of the C standard,
this is a syntactic error that is not a syntax error (strictly, a breach
of a syntax rule or constraint).


Regards,
Nick Maclaren.


_______________________________________________
ukfortran mailing list
http://lists.accu.org/mailman/listinfo/ukfortran

-- 
................................Malcolm Cohen, Nihon NAG, Tokyo. 

