J3/05-250 To: J3 From: Dan Nagle Subject: storage_size() Date 2005 August 5 At Delft (N1637), it was decided to add a storage_size() intrinsic to f08. This paper attempts to provide edits. This paper places storage_size alphabetically within section 13. The original paper is 04-342r1. Edits: [125:41+] Add list item "(4+) the intrinsic module function STORAGE_SIZE," [296:19] Add line "storage_size() storage size in bits" [354:9+] Add section "13.7.115+ STORAGE_SIZE (X [, KIND]) *Description.* Returns the storage size in bits for a nonpointer nonallocatable scalar of the declared type of X. *Class.* Inquiry function. *Arguments.* X may be of intrinsic or derived type. It shall not be polymorphic. If it is of derived type, that type shall have no allocatable ultimate components. If its type has any deferred type parameters, it shall be a pointer that is associated or an allocatable object that is allocated. It may be a scalar. KIND (optional) shall be a scalar integer initialization expression. *Result Characteristics.* Integer scalar. If KIND is present, the kind type parameter is that specified by the value of KIND; otherwise, the kind type parameter is that of default integer type. *Result Value.* The result value is the size in bits of the storage unit (16.4.3.1) in a storage association context for a nonpointer nonallocatable scalar with the declared type and type parameters of X. *Example.* STORAGE_SIZE(1.0) returns the number of bits required to store an entity of type default real.