On Fri, Jan 19, 2018 at 9:34 AM, <[email protected]> wrote:
> From: "Randall S. Becker" <[email protected]>
>
> * 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 <[email protected]>
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
>