This is the mail archive of the gdb@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]