Is this a compiler error?

walt wa1ter at
Fri Oct 5 09:09:10 PDT 2007

While trying to build pkgsrc/emacs on HEAD with the default gcc41 I'm
getting an error that just doesn't make sense.  This is taken from
'dragonfly.h' in the emacs sources:

#if defined(__GNUC__) && __GNUC__ == 3 && __GNUC_MINOR__ == 4
#  ifndef DFLY_PRE_17_CRT
#define START_FILES pre-crt0.o /usr/lib/gcc34/crt1.o /usr/lib/gcc34/crti.o /usr/lib/gcc34/crtbegin.o
#define LIB_STANDARD -L/usr/lib/gcc34 -lgcc -lc -lgcc /usr/lib/gcc34/crtend.o /usr/lib/gcc34/crtn.o
#  else
#define START_FILES pre-crt0.o /usr/lib/crt1.o /usr/lib/crti.o /usr/lib/crtbegin.o
#define LIB_STANDARD -L/usr/lib/gcc34 -lgcc -lc -lgcc /usr/lib/crtend.o /usr/lib/crtn.o
#  endif
#error "Add compiler version magic"

The problem is that 'error' is triggered no matter what that first 'if'
checks for.  E.g. that first line can be changed to #if 0 and that same
'error' is still triggered.

Either gcc41 is broken or I am.  Which is it?

More information about the Bugs mailing list