Andreas Schwab <[EMAIL PROTECTED]> writes:
> [EMAIL PROTECTED] (Kim F. Storm) writes:
>
>> David Kastrup <[EMAIL PROTECTED]> writes:
>>
>>> For debugging purposes, I have been using the following:
>>>
>>> struct trbuf { void* pc; int value; } trbuf[256];
>>> unsigned char trptr;
>>> #define RECORD_INPUT do { __label__ woozle; \
>>> woozle: trbuf[trptr++] = (struct trbuf) \
>>
>> Does [trptr++%256] give better results ?
>
> trptr is unsigned char, so won't ever be bigger than 255.
Type promotion can lead to strange effects. While trptr++ seems like
a safe bet, I would not trust ++trptr...
Anyway, this apparently is a compiler or a dumper problem with the
local label. I have to get at the current address with a different
method, probably inline assembly. Pity.
Or construct a non-local label name from __LINE__.
--
David Kastrup, Kriemhildstr. 15, 44793 Bochum
_______________________________________________
Emacs-devel mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/emacs-devel