During internal discussions which occurred today on proposal 205, we
discovered a
contradiction between the current LRM specification and the C code of the
example 3 in section E.9.4.
The issue can be summarized as : "The current definition of organization of
unpacked array of packed arrays
does not appear aligned either with the examples given in the standard or
the organization of packed arrays themselves."
We would have assumed that a packed array vector (whatever size it is) has
his bits contiguously represented.
The example which illustrates the access to packed vectors embedded in
aggregates is example 3 of section E.9.4, especially the for loop which
accesses the vector elements of the unpacked array embedded in the
structure, seems to agree with this assumption. However the macros
definitions for accessing packed arrays in aggregates
does not seem to agree with this assumption and dictates a different data
organization.
Amit Kohli who has been reviewing the DPI specification and proposal 205
brought this up and
I believe that we need to clarify how example 3 works before we can vote on
205.
I will enter an errata on this but I wanted to send this to the reflector
immediately so that Andrezj and Joao can answer
this question as soon as possible.
I recommend everyone to read the attached document as it describes in
details the layout organization of packed arrays
embedded in aggregates in both the LRM current form and the new proposed
form by Ralph.
The attachement explains:
1. how the LRM currently accesses packed vectors embedded in aggregates,
and the expected data organization
2. how Ralph's proposal changes the access to packed vectors embebbed in
aggregates, and the natural C like layout
3. The contradiction between the LRM spec and the example 3 in section
E.9.4.
Francoise
'
This archive was generated by hypermail 2.1.8 : Thu Oct 28 2004 - 07:40:26 PDT