Re: Warning message in remote.c when compiling
- From
- Dragan Simic <dsimic@manjaro.org>
- Date
- Apr 7, 2024, 05:10 UTC
- Message-ID
- <0d8660bd28ea10d062a3bf71d5d66b8f@manjaro.org>
- In-Reply-To
- <20240407013843.GE1085004@coredump.intra.peff.net>
Hello Jeff,
On 2024-04-07 03:38, Jeff King wrote:
Show 23 quoted lines
> On Sat, Apr 06, 2024 at 06:12:34PM +0200, Dragan Simic wrote: > >> Hello, >> >> On 2024-04-06 16:21, prpr 19xx wrote: >> > I get this warning message when compiling remote.c: >> > >> > ... >> > CC remote.o >> > remote.c:596: warning: 'remotes_remote_get' declared inline after being >> > called >> > remote.c:596: warning: previous declaration of 'remotes_remote_get' was >> > here >> > CC replace-object.o >> > ... >> >> Could you, please, provide more details about your environment, >> i.e. the operating system and compiler? > > I'm also curious about which compiler, but I think it's a reasonable > complaint. We forward-declare the static function, use it, and then > later declare it inline. I didn't check to see what the standard says, > but it seems like a funny thing to do in general.
The link below seems to provide more details. The way I see it, declarations and definitions should match, and the standard seems to support that. Though, not all compilers (or not all versions) complain in this particular case.
https://stackoverflow.com/a/62390378/22330192
Show 12 quoted lines
> It has been that way for a while; since 56eed3422c (remote: remove > the_repository->remote_state from static methods, 2021-11-17), I think. > > I don't really see any need to mark the wrapper as inline. It's one > basic function call (on top of an interface which requires a callback > anyway!), and I suspect many compilers would consider inlining anyway, > since it's a static function. > > Ditto for remotes_pushremote_get(), though it doesn't have a forward > declaration. > > -Peff