Re: definition for _attribute() in remote.c
- From
Jeff King <peff@peff.net>
- Date
- Apr 25, 2016, 21:10 UTC
- Message-ID
- <20160425211030.GA10309@sigill.intra.peff.net>
- In-Reply-To
- <D7C0C4062A7242B6912E56480CBB06F4@PhilipOakley>
On Mon, Apr 25, 2016 at 10:02:38PM +0100, Philip Oakley wrote:
Show 13 quoted lines
> I'm looking at getting Git for Windows to compile via Visual Studio > (https://github.com/git-for-windows/git/pull/256). > > However the use of __attribute() in remote.c at L1662 > (https://github.com/git-for-windows/git/blob/master/remote.c#L1662) has got > me confused in that I can't see how the regular definition of __attribute() > is #included in this case. A definition is given in > git\compat\regex\regex_internal.h but doesn't appear to be on remote.c's > include path. > > The line was introduced by 3a429d0 (remote.c: report specific errors from > branch_get_upstream, 2015-05-21) which appears to be later than the previous > MSVC testers had looked at.
It should be handled in git-compat-util.h, which is included by cache.h, which is included by remote.c.
There we have:
#ifndef __GNUC__ #ifndef __attribute__ #define __attribute__(x) #endif #endif
which should make it a noop on compilers which don't know about it. Is VS (or another file) setting __GNUC__?
-Peff