git/list[1] front-page[2] threads[3] people[4] search[5] about
 

RE: [PATCH v2 1/6] Bypass GCC attributes on NonStop platform where used.

From
Randall S. Becker <rsbecker@nexbridge.com>
Date
Jan 19, 2018, 22:53 UTC
Message-ID
<001201d39178$472d71e0$d58855a0$@nexbridge.com>
In-Reply-To
<f2fd4d75-259b-a5b0-a7f9-74fec79cc970@ramsayjones.plus.com>
On January 19, 2018 5:43 PM, Ramsay Jones wrote:
Show 64 quoted lines
> 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

Previous: Ramsay JonesNext: randall.s.becker@rogers.com
Message 7 of 32 in “Force pipes to flush immediately on NonStop platform”
  1. 0/6 Force pipes to flush immediately on NonStop platformrandall.s.becker@rogers.com, Jan 19, 2018
  2. 1/6 Bypass GCC attributes on NonStop platform where used.randall.s.becker@rogers.com, Jan 19, 2018
  3. Stefan BellerJan 19, 2018
  4. Ramsay JonesJan 19, 2018
  5. Jeff KingJan 19, 2018
  6. Ramsay JonesJan 19, 2018
  7. Randall S. BeckerJan 19, 2018
  8. 0/6 Cover Letter for NonStop Port Patchesrandall.s.becker@rogers.com, Jan 19, 2018
  9. 4/6 Force test suite traps to be cleared for NonStop kshrandall.s.becker@rogers.com, Jan 19, 2018
  10. Stefan BellerJan 19, 2018
  11. Jeff KingJan 19, 2018
  12. Randall S. BeckerJan 19, 2018
  13. Randall S. BeckerJan 19, 2018
  14. Randall S. BeckerJan 21, 2018
  15. 6/6 Add intptr_t and uintptr_t to regcomp.c for NonStop platform.randall.s.becker@rogers.com, Jan 19, 2018
  16. 5/6 Bring NonStop platform definitions up to date in git-compat-util.hrandall.s.becker@rogers.com, Jan 19, 2018
  17. 2/6 Add tar extract install options override in installation processing.randall.s.becker@rogers.com, Jan 19, 2018
  18. René ScharfeJan 20, 2018
  19. Randall S. BeckerJan 20, 2018
  20. René ScharfeJan 20, 2018
  21. Randall S. BeckerJan 20, 2018
  22. Ævar Arnfjörð BjarmasonJan 20, 2018
  23. Randall S. BeckerJan 20, 2018
  24. 3/6 Define config options required for the HPE NonStop NSX and NSE platformsrandall.s.becker@rogers.com, Jan 19, 2018
  25. Stefan BellerJan 19, 2018
  26. Torsten BögershausenJan 20, 2018
  27. Randall S. BeckerJan 20, 2018
  28. Junio C HamanoJan 22, 2018
  29. Randall S. BeckerJan 22, 2018
  30. Junio C HamanoJan 23, 2018
  31. Randall S. BeckerJan 23, 2018
  32. Randall S. BeckerJan 25, 2018

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.