www.delorie.com/gnu/docs/gdb/stabs_53.html   search  
Buy the book!


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

7.1 C++ Class Names

In C++, a class name which is declared with class, struct, or union, is not only a tag, as in C, but also a type name. Thus there should be stabs with both `t' and `T' symbol descriptors (see section 5.9 Giving a Type a Name).

To save space, there is a special abbreviation for this case. If the `T' symbol descriptor is followed by `t', then the stab defines both a type name and a tag.

For example, the C++ code

struct foo {int x;};

can be represented as either

.stabs "foo:T19=s4x:1,0,32;;",128,0,0,0       # 128 is N_LSYM
.stabs "foo:t19",128,0,0,0


.stabs "foo:Tt19=s4x:1,0,32;;",128,0,0,0

  webmaster     delorie software   privacy  
  Copyright 2003   by The Free Software Foundation     Updated Jun 2003