(j3.2006) (SC22WG5.4784) [ukfortran] [WG5 letter ballot 4 on Fortran 2008 interpretations]
Malcolm Cohen
malcolm
Tue Sep 18 05:42:19 EDT 2012
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.
More information about the J3
mailing list