On 2013-04-27 20.42, Ramsay Jones wrote: > > On MinGW, sparse issues an "'get_st_mode_bits' not declared. Should > it be static?" warning. The MinGW and MSVC builds do not see the > declaration of this function, within git-compat-util.h, due to it's > placement within an preprocessor conditional. (So, one solution would > be to simply move the declaration to the top level of the header.) > > In order to suppress the warning, since this symbol does not need > more than file visibility, we simply remove the declaration from > the header and add the static modifier to the function definition. > > Signed-off-by: Ramsay Jones <ramsay@xxxxxxxxxxxxxxxxxxx> > --- > git-compat-util.h | 1 - > path.c | 2 +- > 2 files changed, 1 insertion(+), 2 deletions(-) > > diff --git a/git-compat-util.h b/git-compat-util.h > index e955bb5..3a990b3 100644 > --- a/git-compat-util.h > +++ b/git-compat-util.h > @@ -163,7 +163,6 @@ > typedef long intptr_t; > typedef unsigned long uintptr_t; > #endif > -int get_st_mode_bits(const char *path, int *mode); > #if defined(__CYGWIN__) > #undef _XOPEN_SOURCE > #include <grp.h> > diff --git a/path.c b/path.c > index 04ff148..cc2e9ac 100644 > --- a/path.c > +++ b/path.c > @@ -11,7 +11,7 @@ > * may return wrong permission bits. Most of the time we do not care, > * but the callsites of this wrapper do care. > */ > -int get_st_mode_bits(const char *path, int *mode) > +static int get_st_mode_bits(const char *path, int *mode) > { > struct stat st; > if (lstat(path, &st) < 0) > Sorry for breaking the MiNGW/MSVC builds. It seams that the get_st_mode_bits is badly placed. It should be in git compat-util.h, so that both compat/cygwin.c and path.c can see it. So from my understanding, it should be placed here: (I will send an official patch later) /Torsten diff -C 3 git-compat-util.h.~9526aa461f6c6900cb892a6fe248150ad436c0d~ git-compat-util.h.new *** git-compat-util.h.~9526aa461f6c6900cb892a6fe248150ad436c0d~ 2013-04-28 07:53:28.000000000 +0200 --- git-compat-util.h.new 2013-04-28 07:53:58.000000000 +0200 *************** *** 127,132 **** --- 127,133 ---- #else #include <poll.h> #endif + int get_st_mode_bits(const char *path, int *mode); #if defined(__MINGW32__) /* pull in Windows compatibility stuff */ #include "compat/mingw.h" *************** *** 163,169 **** typedef long intptr_t; typedef unsigned long uintptr_t; #endif - int get_st_mode_bits(const char *path, int *mode); #if defined(__CYGWIN__) #undef _XOPEN_SOURCE #include <grp.h> -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html