On January 19, 2018 5:43 PM, Ramsay Jones wrote: > On 19/01/18 21:20, Jeff King wrote: > > 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. > > heh, I only just noticed that I (twice) wrote regex.c when I meant remote.c > instead. Hopefully, that didn't cause too much confusion! > > > 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)> > > Indeed. > > > 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__? > > That seems unlikely. However, that conditional looks a mess ... ;-) Very messy and confusing and it is working properly now, so... consider this patch gone ;-) Cheers, Randall