Download PathScale™ Compiler Suite User Guide
Transcript
D – Fortran 90 Dope Vector
*array whose element
*type is a derived type
* having component(s)
which are themselves
* allocatable */
unsigned int :26; /* pad for first 32 bits */
unsigned int :29; /* pad for second 32-bits */
unsigned int n_dim :3; /* number of dimensions */
f90_type_t type_lens; /* data type and lengths */
void *orig_base; /* original base address */
unsigned long orig_size; /* original size */
/*
* Per Dimension Information - array will contain
* only the necessary number of elements
*/
#define MAXDIM 7
struct DvDimen {
signed long low_bound; /* lower bound for ith dimension */
/* may be negative */
signed long extent; /* number of elts for ith dimension */
/*
* The stride mult is not defined in constant units
* so that address calculations do not always require
* a divide by 8 or 64. For double and complex,
* stride mult has a factor of 2 in it. For double
* complex, stride mult has a factor of 4 in it.
*/
signed long stride_mult; /* stride multiplier */
}dimension[7];
/* DopeAllocType alloc_info; appears following the last
* actual dimension (there may be fewer than 7 dimensions)
* if alloc_cpnt is true */
} DopeVectorType;
D-3