Messages in this thread | | | Date | Mon, 21 Jul 2008 12:31:06 +0100 (BST) | From | "Maciej W. Rozycki" <> | Subject | Re: [PATCH] x86: PIC, L-APIC and I/O APIC debug information |
| |
On Mon, 21 Jul 2008, Mikael Pettersson wrote:
> > +#define __apicdebuginit(type) static type __init > ... > > -void __init print_IO_APIC(void) > > + > > +__apicdebuginit(void) print_IO_APIC(void) > > { > > I _really_ dislike how this abuses the C macro preprocessor > to create pointless new syntax. > > Since you're editing these function definitions anyway why > not just spell out "static void __init" in readable proper C?
This is so that while debugging you can make all these functions global with a single change in one place, rather than going through the whole file and finding all the relevant function headers. Presumably the original reason for the existence of the macro. Unfortunately an object-like macro cannot be used here, as the "static" keyword has to come first in a function declaration and the section attribute has to come after the type designation.
What's wrong with the syntax in your opinion?
Maciej
| |