To: J3 10-192 From: Bill Long Subject: Date: 2010 June 16 References: 10-165r1, N1820 Discussion: The Macros specifying codes for the attribute field of the C descriptor were never integrated with the addition of assumed-rank objects. The current Table 5.1 lists macros for "assumed", "allocatable", and "pointer". For an assumed-rank object that is also allocatable the caller should use the allocatable code, and one that is a pointer the caller should use the pointer code. If the assumed-rank object is neither allocatable nor pointer, the "assumed" code should be used. From the C function's point of view, there is no material difference between an assumed-shape array and an assumed-rank non-allocatable, non-pointer array. The only new feature for assumed-rank is that it can be a scalar. Edits are provided to update Table 5.1 and add an explanation. Edits to 10-165r1 [10:24+] In Table 5.1, replace "assumed-shape array" with "assumed shape object". [10:25-] After Table 5.1, add a new paragraph: "The pointer code is used for an object corresponding to a Fortran object with the POINTER attribute. The allocatable object code is used for an object corresponding to a Fortran object with the ALLOCATABLE attribute. The assumed shape object code is used for an object corresponding to a Fortran object that is either an assumed-shape array, or an assumed-rank object that is not allocatable or a pointer."