[Mesa-dev] [PATCH 1/2] c11/threads: Include thr/xtimec.h for xtime definition when building with MSVC.

Roland Scheidegger sroland at vmware.com
Tue Mar 28 13:38:33 UTC 2017


For the series:
Reviewed-by: Roland Scheidegger <sroland at vmware.com>


Am 28.03.2017 um 13:50 schrieb Jose Fonseca:
> MSVC has been including a xtime definition in thr/xtimec.h ever since
> MSVC 2013 (which is the minimum we require for building Mesa), and
> including it prevents duplicate definitions when it gets included by
> LLVM.
> 
> In fact, it looks that MSVC has been including a partial C11 threads
> implementation too for some time, which we should consider migrating to
> once we eliminate the use of _MTX_INITIALIZER_NP in our tree.
> 
> Thanks to the anonymous helper from
> https://bugs.freedesktop.org/show_bug.cgi?id=100201#c4 for spotting
> this.
> ---
>  include/c11/threads.h | 5 +++++
>  1 file changed, 5 insertions(+)
> 
> diff --git a/include/c11/threads.h b/include/c11/threads.h
> index 45823df35b..573348d809 100644
> --- a/include/c11/threads.h
> +++ b/include/c11/threads.h
> @@ -30,6 +30,9 @@
>  #define EMULATED_THREADS_H_INCLUDED_
>  
>  #include <time.h>
> +#ifdef _MSC_VER
> +#include <thr/xtimec.h>  // for xtime
> +#endif
>  
>  #ifndef TIME_UTC
>  #define TIME_UTC 1
> @@ -41,11 +44,13 @@
>  typedef void (*tss_dtor_t)(void*);
>  typedef int (*thrd_start_t)(void*);
>  
> +#ifndef _MSC_VER
>  struct xtime {
>      time_t sec;
>      long nsec;
>  };
>  typedef struct xtime xtime;
> +#endif
>  
>  
>  /*-------------------- enumeration constants --------------------*/
> 



More information about the mesa-dev mailing list