!standard 13.03 (61) 96-07-23 AI95-00059/01 !class confirmation 95-07-06 !status WG9 approved 96-12-07 !status ARG approved 8-0-0 96-06-17 !status work item 95-07-06 !status received 95-07-06 !priority Low !difficulty Easy !subject Specifying Storage size for tasks !summary 95-07-06 The Storage_Size attribute may be specified for tasks. However, it is less useful than pragma Storage_Size; thus the Storage_Size attribute definition clause is considered obsolescent. !question 95-07-06 It seems to me, that specifying the storage size of a task can no longer be done using an attribute definition clause (for T'Storage_Size use xxx), but the pragma Storage_size must be used. Is this correct? (No.) !response 95-07-06 The "for T'Storage_Size" syntax can still be used -- see J.9. The reason this was made obsolescent, and the pragma added, is so that tasks of the same type can have different storage sizes. Consider, for example: task type T(S_Size: Storage_Count) is pragma Storage_Size(S_Size); end T; X: T(10_000); Y: T(100_000); !appendix 95-07-06 !section 13.3(61) !subject Specifying Storage size for tasks !reference RM95-13.3(61) !from Bj|rn K{llberg 95-06-26 !reference as: 95-5170.a Bjorn Kallberg 95-6-26>> !discussion It seems to me, that specifying the storage size of a task can no longer be done using an attribute definition clause (for t'storage_size use xx), but the pragma Storage_size must be used. Is this correct? Why was this incompatibility introduced? (It is not covered in the incompatibility guide) Bj|rn K{llberg **************************************************************** !section 13.3(61) !subject Specifying Storage size for tasks !reference RM95-13.3(61) !from Bob Duff !reference 95-5170.a !reference as: 95-5176.a Robert A Duff 95-6-27>> !discussion > It seems to me, that > specifying the storage size of a task can no longer be done using > an attribute definition clause (for t'storage_size use xx), but > the pragma Storage_size must be used. The "for T'Storage_Size" syntax can still be used -- see J.9. The reason this was made obsolescent, and the pragma added, is so that tasks of the same type can have different storage sizes. Consider, for example: task type T(S_Size: Storage_Count) is pragma Storage_Size(S_Size); end T; X: T(10_000); Y: T(100_000); > Is this correct? > Why was this incompatibility introduced? > (It is not covered in the incompatibility guide) There is no incompatibility. - Bob ****************************************************************