J3/00-212 Date: 2000/05/30 To: J3 From: Matthijs van Waveren Subject: Issue 214 References: J3/98-239, J3/99-209, J3/00-170 Issue 214: 78:18-29 1. Introduction Issue 214 proposes to allow the VALUE attribute on dummy arguments for procedures other than procedures with the BIND(C) attribute. The VALUE attribute was introduced in the language, for the sole purpose of having Fortran dummy arguments with the VALUE attribute interoperate with corresponding C formal parameters (see C-Fortran syntax design document J3/98-239). Thus the proposal adds new functionality to Fortran 200x. The proposed functionality consists of allowing the copy of the actual argument associated with the VALUE dummy argument to be redefined during procedure invocation without modifying the actual argument. In essence, the proposal is to allow pass-by-value in pure Fortran programs. The interop subgroup strongly recommends to *not* allowing this new functionality in the Fortran language for the following reason. The VALUE attribute implies the INTENT(IN) attribute. A dummy argument with the INTENT(IN) attribute cannot currently be redefined, and this proposal would allow these dummy arguments to be redefined. Paper J3/00-170 proposes to change the syntax of the VALUE attribute to INTENT(VALUE). Subgroup has voted not to take up this proposal. 2. Edits [78:18-29] Delete J3 note