On Fri, Jan 19, 2018 at 9:34 AM, <randall.s.becker@xxxxxxxxxx> wrote: > From: "Randall S. Becker" <rsbecker@xxxxxxxxxxxxx> > > * remote.c: force ignoring of GCC __attribute construct not supported > by c99 by defining it as an empty CPP macro. > > Signed-off-by: Randall S. Becker <rsbecker@xxxxxxxxxxxxx> I do not know about the __TANDEM symbol, but some research[1] indicates it is a macro specifically for case of cross platform support: You can use the __TANDEM symbol to increase the portability of your programs. Enclose system-dependent source text in an if section that uses #ifdef or #ifndef to test for the existence of the __TANDEM symbol. It seems to not be used outside of the NonStop port[2], so the code seems ok. (I would have used #ifdef, as I thought this is more prevalent in our code base and for consistency we'd rather want to use one thing only, bug "git grep '#if defined'" proves me wrong) However the commit message is hard to understand (say for somebody who will find this commit in 2 years using git-blame). Maybe: In NonStop HPE (version X, all versions?) there is no support for the __attribute macro. By redefining the __attribute to an empty macro, the code compiles on NonStop HPE. Use the system specific __TANDEM macro to guard it for just this platform. as that will help those people in the future not having to do the research? [1] http://h20628.www2.hp.com/km-ext/kmcsdirect/emr_na-c02121175-1.pdf [2] https://sourceforge.net/p/predef/wiki/OperatingSystems/?version=44 Thanks, Stefan > --- > remote.c | 4 ++++ > 1 file changed, 4 insertions(+) > > 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 > + > enum map_direction { FROM_SRC, FROM_DST }; > > static struct refspec s_tag_refspec = { > -- > 2.16.0.31.gf1a482c >