# [PATCH RESEND v2] path: Fix a sparse warning

4 messages from 2013-05-27 to 2013-05-29. Participants: Ramsay Jones, Junio C Hamano, Torsten Bögershausen.
Thread: https://gitlist.dev/t/33952

## Ramsay Jones, 2013-05-27 19:24

Subject: [PATCH RESEND v2] path: Fix a sparse warning
Message-ID: <51A3B308.6000201@ramsay1.demon.co.uk>
URL: https://gitlist.dev/e/51A3B308.6000201%40ramsay1.demon.co.uk

```

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 its
placement within an preprocessor conditional.

In order to suppress the warning, we simply move the declaration to
the top level of the header.

Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk>
---

Hi Junio,

Now that v1.8.3 is out, I note that this patch seems to have been
dropped (or did I miss something?).

This used to be

    [PATCH 2/6] path: Make the 'get_st_mode_bits' symbol a file static

but the change in implementation required a change in title.
This version simply moves the declaration so that the MinGW and
MSVC builds can see it.

ATB,
Ramsay Jones

 git-compat-util.h | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/git-compat-util.h b/git-compat-util.h
index e955bb5..0e5e4f8 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>
@@ -176,6 +175,8 @@ int get_st_mode_bits(const char *path, int *mode);
 #endif
 #endif
 
+extern int get_st_mode_bits(const char *path, int *mode);
+
 /* used on Mac OS X */
 #ifdef PRECOMPOSE_UNICODE
 #include "compat/precompose_utf8.h"
-- 
1.8.3

```

## Junio C Hamano, 2013-05-28 17:04

Subject: Re: [PATCH RESEND v2] path: Fix a sparse warning
Message-ID: <7vhahn2fz2.fsf@alter.siamese.dyndns.org>
URL: https://gitlist.dev/e/7vhahn2fz2.fsf%40alter.siamese.dyndns.org
In-Reply-To: <51A3B308.6000201@ramsay1.demon.co.uk>

```
Ramsay Jones <ramsay@ramsay1.demon.co.uk> writes:

> 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 its
> placement within an preprocessor conditional.
>
> In order to suppress the warning, we simply move the declaration to
> the top level of the header.
>
> Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk>
> ---
>
> Hi Junio,
>
> Now that v1.8.3 is out, I note that this patch seems to have been
> dropped (or did I miss something?).
>
> This used to be
>
>     [PATCH 2/6] path: Make the 'get_st_mode_bits' symbol a file static
>
> but the change in implementation required a change in title.
> This version simply moves the declaration so that the MinGW and
> MSVC builds can see it.

Will queue.

Can you tell me what the conclusion on the discussion on your two
other patches on 'pu'?

* rj/mingw-cygwin (2013-05-08) 2 commits
 - cygwin: Remove the CYGWIN_V15_WIN32API build variable
 - mingw: rename WIN32 cpp macro to GIT_WINDOWS_NATIVE

I stopped keeping track of the discussion and my vague recollection
was that it is OK for 1.5 but not verified on 1.7 or something?

>
> ATB,
> Ramsay Jones
>
>  git-compat-util.h | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/git-compat-util.h b/git-compat-util.h
> index e955bb5..0e5e4f8 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>
> @@ -176,6 +175,8 @@ int get_st_mode_bits(const char *path, int *mode);
>  #endif
>  #endif
>  
> +extern int get_st_mode_bits(const char *path, int *mode);
> +
>  /* used on Mac OS X */
>  #ifdef PRECOMPOSE_UNICODE
>  #include "compat/precompose_utf8.h"

```

## Torsten Bögershausen, 2013-05-29 13:46

Subject: Re: [PATCH RESEND v2] path: Fix a sparse warning
Message-ID: <51A606A0.5060101@web.de>
URL: https://gitlist.dev/e/51A606A0.5060101%40web.de
In-Reply-To: <7vhahn2fz2.fsf@alter.siamese.dyndns.org>

```
On 2013-05-28 19.04, Junio C Hamano wrote:
> 
> Can you tell me what the conclusion on the discussion on your two
> other patches on 'pu'?
> 
> * rj/mingw-cygwin (2013-05-08) 2 commits
>  - cygwin: Remove the CYGWIN_V15_WIN32API build variable
>  - mingw: rename WIN32 cpp macro to GIT_WINDOWS_NATIVE
> 
> I stopped keeping track of the discussion and my vague recollection
> was that it is OK for 1.5 but not verified on 1.7 or something?
> 

The tests I did under cygwin 1.7 did not show any regression.
/Torsten

```

## Ramsay Jones, 2013-05-29 23:57

Subject: Re: [PATCH RESEND v2] path: Fix a sparse warning
Message-ID: <51A69604.20500@ramsay1.demon.co.uk>
URL: https://gitlist.dev/e/51A69604.20500%40ramsay1.demon.co.uk
In-Reply-To: <51A606A0.5060101@web.de>

```
Torsten Bögershausen wrote:
> On 2013-05-28 19.04, Junio C Hamano wrote:
>>
>> Can you tell me what the conclusion on the discussion on your two
>> other patches on 'pu'?
>>
>> * rj/mingw-cygwin (2013-05-08) 2 commits
>>  - cygwin: Remove the CYGWIN_V15_WIN32API build variable
>>  - mingw: rename WIN32 cpp macro to GIT_WINDOWS_NATIVE
>>
>> I stopped keeping track of the discussion and my vague recollection
>> was that it is OK for 1.5 but not verified on 1.7 or something?
>>
> 
> The tests I did under cygwin 1.7 did not show any regression.

Thank you for testing this.

ATB,
Ramsay Jones

```
