[J3] Inconsistent terminology in 18-007r1
Steven G. Kargl
kargl at uw.edu
Sun May 9 00:53:55 UTC 2021
Maybe this has already been fixed. Text is from 18-007r1.
3.49
default initialization
mechanism for automatically initializing pointer components to have a
defined pointer association status, and nonpointer components to have
a particular value (7.5.4.6)
7.5.4.6(1)
Default initialization provides a means of automatically initializing
pointer components to be disassociated or associated with specific
targets, and nonpointer nonallocatable components to have a particular
value. Allocatable components are always initialized to unallocated.
Shouldn't 3.49 mention the allocation status of allocatable components?
The sentence is 7.5.4.6(1) seems odd. The allocatable component has
an allocation status of unallocated. It has not been initialized to
a particular value. The last sentence should read as "The allocation
status of an allocatable component is unallocate." This would almost
agree with
5.4.10 Allocatable variables
1 The allocation status of an allocatable variable is either allocated
or unallocated.
except that the sentence would need to be amended to "The allocation
status of an allocatable variable or allocatable component ... "
This modification is needed because an allocatable component isn't
a variable.
3.154
variable
data entity that can be defined and redefined during execution of a program
3.45
data entity
data object, result of the evaluation of an expression, or the result
of the execution of a function reference
3.46
data object
object
constant (7.1.4), variable (9), or subobject of a constant (5.4.3.2.4)
The hyperlink of 'variable (9)' takes one back to 3.154.
So, in summary, "Allocatable components are always initialized to
unallocated." seems to be a rather loose use of the word initialized.
--
Steve
More information about the J3
mailing list