This is the mail archive of the gdb@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: debuginformation generated by GNAT


Yes GNAT did ...

-- XUP
struct gen_siso_common_types__spectral_table___XUP { /* size 8 id 1475 */
gen_siso_common_types__spectral_table___XUA *P_ARRAY; /* bitsize 32, bitpos 0 */
struct gen_siso_common_types__spectral_table___XUB /* id 1474 */ *P_BOUNDS; /* bitsize 32, bitpos 32 */
};


-- XUT
struct gen_siso_common_types__spectral_table___XUT___XVE { /* size 4 id 1476 */
struct gen_siso_common_types__spectral_table___XUB /* id 1474 */ BOUNDS; /* bitsize 64, bitpos 0 */
gen_siso_common_types__spectral_table___XUA *ARRAY___XVL; /* bitsize 32, bitpos 0 */
};


-- leads to XUB
struct gen_siso_common_types__spectral_table___XUB { /* size 8 id 1474 */
  awu_siso_basic_types__Tnatural32B LB0; /* bitsize 32, bitpos 0 */
  awu_siso_basic_types__Tnatural32B UB0; /* bitsize 32, bitpos 32 */
};



But not for 'bdt_spectral_description'


struct gen_siso_common_types__bdt_spectral_description___XVE { /* size 4 id 1546 */
gen_siso_common_types__bdt_spectral_description__T73s *cas___XVL; /* bitsize 32, bitpos 0 */
gen_siso_common_types__bdt_spectral_description__T75s *fas___XVL4; /* bitsize 32, bitpos 0 */
gen_siso_common_types__bdt_spectral_description__T77s *tas___XVL4; /* bitsize 32, bitpos 0 */
};


struct gen_siso_common_types__bdt_spectral_description__T77s___XA { /* size 4 id 1545 */
long int gen_siso_common_types__bdt_spectral_description__T76s___XDL_1; /* bitsize 32, bitpos 0 */
};



Thanks again


Roul


Joel Brobecker wrote:
The first tells me 'tas' has a variable length and needs an alignment of 4 storage units ... the given field is as you said the access field.


Right.


As I understood it is just a substitute or does it actually represent the pointer to the array behind it.


In memory, this is a pointer to your array. From the user's perspective,
though, the ___XVL suffix tells you that he believes it's just an array.


The second tells me it actually is an array .... exp_debug.ads:


Did GNAT generate any ___XUP or ___XUT type, that's where the bounds are
stored when the upper bounds are dynamic. See "Pointers to Unconstrained
Arrays".

The types you were looking at are useful when you are trying to print
the type of the array type itself, not the type of the field, I believe.





Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]