On Jun 17 20:23, Corinna Vinschen wrote:
> Second, I'm puzzeling over the #if expression (cut for a simple example):
> 
>   #if !defined(__INSIDE_CYGWIN__) || !defined(__cplusplus)
>   /* use symbols */
>   #else
>   /* use const int cast to pointer */
>   #endif
> 
> So this is a problem in terms of constinit.  Constinit is a C++20
> expression.  But the condition will only define PTHREAD_...  using the
> symbols if this is either outside Cygwin, or if the Cygwin code is NOT
> C++.
> 
> The usage inside Cygwin seems upside down to me.  Shouldn't it use the
> symbols in C++ code but not in plain C?  Or am I misunderstanding the
> condition entirely?

Actually Cygwin doesn't use the PTHREAD macros at all outside C++ code.

Reply via email to