This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: stabs.texinfo update for macro define/undefine
- From: David Taylor <dtaylor at emc dot com>
- To: Jim Blandy <jimb at codesourcery dot com>
- Cc: gdb-patches at sourceware dot org, Eli Zaretskii <eliz at gnu dot org>
- Date: Tue, 31 Oct 2006 22:05:44 -0500
- Subject: Re: stabs.texinfo update for macro define/undefine
- References: <200610251931.k9PJVRDO011265@mailhub.lss.emc.com> <ud58guoa6.fsf@gnu.org> <200610302225.k9UMPLZ9001050@mailhub.lss.emc.com> <m3odrsoyry.fsf@codesourcery.com>
> From: Jim Blandy <jimb@codesourcery.com>
> Date: Tue, 31 Oct 2006 15:23:29 -0800
>
> It's clear from the example, but it would be nice if the text
> explicitly explained how function-like macro arguments appear in the
> N_MAC_DEFINE stabs. It also should explain how the following are
> distinguished:
>
> #define foo x
> #define foo() x
>
> With the latter #definition, 'foo' followed by something other than an
> opening parenthesis isn't replaced.
The former shows up as "foo x", the latter as "foo() x".
Yes, the example could be enhanced to illustrate that. And a little
more about the ``transformation'' from what is found in the *.c file
to the stabs entry.
But, as to the latter -- am I misunderstanding you? Are you asking
for text about when something is replaced versus when it isn't
replaced? If yes, that is *WAY* beyond the scope of the file. The
file deals exclusively with *STABS*. When something is replaced vs
not replaced is a CPP issue. It has nothing to do with STABS.