This is the mail archive of the
gdb@sources.redhat.com
mailing list for the GDB project.
Preprocessor symbol style
- From: Mark Kettenis <kettenis at chello dot nl>
- To: gdb at sources dot redhat dot com
- Date: Sat, 14 Aug 2004 00:02:00 +0200 (CEST)
- Subject: Preprocessor symbol style
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