Preprocessor symbol style
Mark Kettenis
kettenis@chello.nl
Fri Aug 13 22:02:00 GMT 2004
IIRC this has been discussed before, hopefully people forgive me
raising the issue again.
Currently in GDB we use the following style for preprocessor stuff:
#ifdef HAVE_FOO_H
#include <foo.h>
#else
#ifdef HAVE_BAR_H
#include <bar.h>
#ifndef HAVE_FOOBAR
#define FOOBAR FOO(BAR)
#endif
#endif
#endif
I think this style has a serious problem; it's rather difficult to see
how the #if's and #endif's balance. Personally I've been bitten by
this more than once.
Many GNU projects (GCC, glibc, autoconf, coreutils) use a somewhat
different style:
#ifdef HAVE_FOO_H
# include <foo.h>
#else
# ifdef HAVE_BAR_H
# include <bar.h>
# ifndef HAVE_FOOBAR
# define FOOBAR FOO(BAR)
# endif
# endif
#endif
This makes it much easier to see how the #if's and #endif's balance.
Can we please adopt the second style for GDB? We can convert things
incrementally, or if we want to do it all at once, I'll volunteer to
provide the mamoth patch.
Mark
More information about the Gdb
mailing list