On Fri, Jan 19, 2018 at 08:28:48PM +0000, Ramsay Jones wrote: > > diff --git a/remote.c b/remote.c > > index 4e93753e1..c18f9de7f 100644 > > --- a/remote.c > > +++ b/remote.c > > @@ -11,6 +11,10 @@ > > #include "mergesort.h" > > #include "argv-array.h" > > > > +#if defined (__TANDEM) > > +#define __attribute(a) > > +#endif > > + > > Hmm, the only use of __attribute() I can find is in compat/regex/. > In particular, there is no use of __attribute() in regex.c. > [__attribute__() is used in regex.c] > > Is this an old patch which is no longer required? > > puzzled. I'm puzzled, too. The actual gcc thing is __attribute__(), and we already turn that into a noop via macro expansion if __GNUC__ is not defined (in git-compat-util.h, but see below). __attribute(), without the trailing underscores, is used internally by the regex compat code (but it also converts that into a noop on non-GNUC platforms)> However the logic in git-compat-util is weird: #if defined(__HP_cc) && (__HP_cc >= 61000) #define NORETURN __attribute__((noreturn)) #define NORETURN_PTR #elif defined(__GNUC__) && !defined(NO_NORETURN) #define NORETURN __attribute__((__noreturn__)) #define NORETURN_PTR __attribute__((__noreturn__)) #elif defined(_MSC_VER) #define NORETURN __declspec(noreturn) #define NORETURN_PTR #else #define NORETURN #define NORETURN_PTR #ifndef __GNUC__ #ifndef __attribute__ #define __attribute__(x) #endif #endif #endif Most of the conditional is dealing with NORETURN, but then we stick the __attribute()__ handling in the "else" block. Is it possible that this platform triggers __HP_cc, but doesn't actually understand __attribute__? -Peff