(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