[Mesa-dev] [PATCH 1/2] c11/threads: add missing brackets around _MTX_INITIALIZER_NP

Ian Romanick idr at freedesktop.org
Fri Aug 1 16:26:21 PDT 2014


On 08/01/2014 09:41 AM, Emil Velikov wrote:
> ... for win32 builds. Spotted this warning when I've imported the
> library into waffle, and gave mingw-w64-gcc a bash at compiling it.
> 
> src/waffle/core/wcore_display.c:37:5: warning: missing braces around
> initializer [-Wmissing-braces]
> static mtx_t mutex = _MTX_INITIALIZER_NP;
> ^
> 
> Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
> ---
>  include/c11/threads_win32.h | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/include/c11/threads_win32.h b/include/c11/threads_win32.h
> index 5298a84..35880ba 100644
> --- a/include/c11/threads_win32.h
> +++ b/include/c11/threads_win32.h
> @@ -85,7 +85,7 @@ Configuration macro:
>  #define TSS_DTOR_ITERATIONS 1
>  
>  // FIXME: temporary non-standard hack to ease transition
> -#define _MTX_INITIALIZER_NP {(PCRITICAL_SECTION_DEBUG)-1, -1, 0, 0, 0, 0}
> +#define _MTX_INITIALIZER_NP {{(PCRITICAL_SECTION_DEBUG)-1, -1, 0, 0, 0, 0}}

This is because CRITICAL_SECTION is actually a typedef of a pointer to
some structure type, so it needs to be initialized like an array of
strcutres.  Yeah?

I searched a bit on the net, and I could not find a single example of
initializing a win32 CRITICAL_SECTION this way.  Is this a good idea?
The FIXME comment doesn't inspire confidence...

>  /*---------------------------- types ----------------------------*/
>  typedef struct cnd_t {
> 



More information about the mesa-dev mailing list