| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
This section describes the stabs support for macro define and undefine information, supported on some systems. (e.g., with `-g3' `-gstabs' when using GCC).
A #define macro-name macro-body is represented with
an N_MAC_DEFINE stab with a string field of
macro-name macro-body.
An #undef macro-name is represented with an
N_MAC_UNDEF stabs with a string field of simply
macro-name.
For both N_MAC_DEFINE and N_MAC_UNDEF, the desc field is
the line number within the file where the corresponding #define
or #undef occurred.
For example, the following C code:
#define NONE 42
#define TWO(a, b) (a + (a) + 2 * b)
#define ONE(c) (c + 19)
main(int argc, char *argv[])
{
func(NONE, TWO(10, 11));
func(NONE, ONE(23));
#undef ONE
#define ONE(c) (c + 23)
func(NONE, ONE(-23));
return (0);
}
int global;
func(int arg1, int arg2)
{
global = arg1 + arg2;
}
|
produces the following stabs (as well as many others):
.stabs "NONE 42",54,0,1,0
.stabs "TWO(a,b) (a + (a) + 2 * b)",54,0,2,0
.stabs "ONE(c) (c + 19)",54,0,3,0
.stabs "ONE",58,0,10,0
.stabs "ONE(c) (c + 23)",54,0,11,0
|
NOTE: In the above example, 54 is N_MAC_DEFINE and
58 is N_MAC_UNDEF.
| [ << ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Please send FSF & GNU inquiries & questions to gnu@gnu.org. There are also other ways to contact the FSF.
These pages are maintained by GDB developers.
Copyright Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
This document was generated by GDB Administrator on November, 20 2006 using texi2html