08-242 To: J3 From: Michael Ingrassia Subject: Public Comment J32028 Date: 2008 July 08 ---------------------------------------------------------------------- Commenter's Subject was "the EXTERNAL attribute" Paragraph 4 of Section 12.5.2.9 of the Fortran 2008 draft states If an external procedure name or dummy procedure name is used as an actual argument, its interface shall be explicit or it shall be explicitly declared to have the EXPLICIT attribute. That statement gets the condition exactly right. Paragraph 2 of Section 5.3.9 states If an external procedure or dummy procedure is used as an actual argument or is the target of a procedure pointer assignment, it shall be declared to have the EXTERNAL attribute. That statement is not as good as the previous statement. It introduces an ambiguity that is not in the previous statement, regarding what constitutes being "declared to have the EXTERNAL attribute." That ambiguity has led to several statements regarding the EXTERNAL attribute to be added to Chapter 12 of the draft standard. That work has made the standard longer for no particular good. Furthermore, there are still important cases that have been missed. I suggest deleting paragraph 2 of Section 5.3.9. I suggest adding the statement If an external procedure name or dummy procedure name is the target of a procedure pointer assignment, its interface shall be explicit or it shall be explicitly declared to have the EXPLICIT attribute. to Section 7.2.2.4. ----------------------------------------------------------------------