J3/16-241r2 To: J3 From: Bill Long & Malcolm Cohen Subject: Missing constraint on VALUE Date: 2016 October 11 Interp F08/0096 added a constraint to prohibit an array dummy argument with VALUE in a BIND(C) procedure. This was included in Corrigendum 3 for F2008. This was done as an edit to an existing constraint. Unfortunately, TS 29113 affected the same constraint, effectively eliminating the change from Corrigendum 3. The restriction from F08/0096 (and Corrigendum 3) needs to be restored. Also, many of the constraints on BIND(C) procedures appear under "Function subprograms", which is rather unnatural. These should be collected together into the general subclause on procedure subprograms, 15.6.2.1. Edits to 16-007r2: [101:26] 8.5.6.1 General (under 8.5.6 CODIMENSION attribute), C826, Move constraint "C826 A coarray ... .". to 15.6.2.1, and reworded, as specified below. [330:20+] 15.6.2.1 General, at the end of the subclause, insert text, from elsewhere as follows (note reordering!): R1531 ... C1561 C1563 with hyperlinking of "interoperable scalar variable" to "18.3.5 Interoperability of scalar variables". C1562 C1564 with the hyperlinking of the terms assumed-type and interoperable C1565 C826 reworded as "C15mm If is specified for a procedure, it shall not have a dummy argument that is a coarray." and new constraint "C15nn If is specified for a procedure, it shall not have an array dummy argument with the VALUE attribute." {Collect relevant constraints for together.} [330:34-331:6] 15.6.2.2 Function subprogram, Move BNF for and its constraints, as specified above. ===END===