github.com/afumu/libc@v0.0.6/pthread/pthread_windows_arm64.go (about)

     1  // Code generated by 'ccgo pthread\gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -header -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o pthread\pthread_windows_arm64.go -pkgname pthread', DO NOT EDIT.
     2  
     3  package pthread
     4  
     5  import (
     6  	"math"
     7  	"reflect"
     8  	"sync/atomic"
     9  	"unsafe"
    10  )
    11  
    12  var _ = math.Pi
    13  var _ reflect.Kind
    14  var _ atomic.Value
    15  var _ unsafe.Pointer
    16  
    17  const (
    18  	CHAR_BIT                                        = 8
    19  	CHAR_MAX                                        = 127
    20  	CHAR_MIN                                        = -128
    21  	CLK_TCK                                         = 1000
    22  	CLOCKS_PER_SEC                                  = 1000
    23  	CLOCK_MONOTONIC                                 = 1
    24  	CLOCK_PROCESS_CPUTIME_ID                        = 2
    25  	CLOCK_REALTIME                                  = 0
    26  	CLOCK_REALTIME_COARSE                           = 4
    27  	CLOCK_THREAD_CPUTIME_ID                         = 3
    28  	DUMMYSTRUCTNAME                                 = 0
    29  	DUMMYSTRUCTNAME1                                = 0
    30  	DUMMYSTRUCTNAME2                                = 0
    31  	DUMMYSTRUCTNAME3                                = 0
    32  	DUMMYSTRUCTNAME4                                = 0
    33  	DUMMYSTRUCTNAME5                                = 0
    34  	DUMMYUNIONNAME                                  = 0
    35  	DUMMYUNIONNAME1                                 = 0
    36  	DUMMYUNIONNAME2                                 = 0
    37  	DUMMYUNIONNAME3                                 = 0
    38  	DUMMYUNIONNAME4                                 = 0
    39  	DUMMYUNIONNAME5                                 = 0
    40  	DUMMYUNIONNAME6                                 = 0
    41  	DUMMYUNIONNAME7                                 = 0
    42  	DUMMYUNIONNAME8                                 = 0
    43  	DUMMYUNIONNAME9                                 = 0
    44  	E2BIG                                           = 7
    45  	EACCES                                          = 13
    46  	EADDRINUSE                                      = 100
    47  	EADDRNOTAVAIL                                   = 101
    48  	EAFNOSUPPORT                                    = 102
    49  	EAGAIN                                          = 11
    50  	EALREADY                                        = 103
    51  	EBADF                                           = 9
    52  	EBADMSG                                         = 104
    53  	EBUSY                                           = 16
    54  	ECANCELED                                       = 105
    55  	ECHILD                                          = 10
    56  	ECONNABORTED                                    = 106
    57  	ECONNREFUSED                                    = 107
    58  	ECONNRESET                                      = 108
    59  	EDEADLK                                         = 36
    60  	EDEADLOCK                                       = 36
    61  	EDESTADDRREQ                                    = 109
    62  	EDOM                                            = 33
    63  	EEXIST                                          = 17
    64  	EFAULT                                          = 14
    65  	EFBIG                                           = 27
    66  	EHOSTUNREACH                                    = 110
    67  	EIDRM                                           = 111
    68  	EILSEQ                                          = 42
    69  	EINPROGRESS                                     = 112
    70  	EINTR                                           = 4
    71  	EINVAL                                          = 22
    72  	EIO                                             = 5
    73  	EISCONN                                         = 113
    74  	EISDIR                                          = 21
    75  	ELOOP                                           = 114
    76  	EMFILE                                          = 24
    77  	EMLINK                                          = 31
    78  	EMSGSIZE                                        = 115
    79  	ENAMETOOLONG                                    = 38
    80  	ENETDOWN                                        = 116
    81  	ENETRESET                                       = 117
    82  	ENETUNREACH                                     = 118
    83  	ENFILE                                          = 23
    84  	ENOBUFS                                         = 119
    85  	ENODATA                                         = 120
    86  	ENODEV                                          = 19
    87  	ENOENT                                          = 2
    88  	ENOEXEC                                         = 8
    89  	ENOFILE                                         = 2
    90  	ENOLCK                                          = 39
    91  	ENOLINK                                         = 121
    92  	ENOMEM                                          = 12
    93  	ENOMSG                                          = 122
    94  	ENOPROTOOPT                                     = 123
    95  	ENOSPC                                          = 28
    96  	ENOSR                                           = 124
    97  	ENOSTR                                          = 125
    98  	ENOSYS                                          = 40
    99  	ENOTCONN                                        = 126
   100  	ENOTDIR                                         = 20
   101  	ENOTEMPTY                                       = 41
   102  	ENOTRECOVERABLE                                 = 127
   103  	ENOTSOCK                                        = 128
   104  	ENOTSUP                                         = 129
   105  	ENOTTY                                          = 25
   106  	ENXIO                                           = 6
   107  	EOPNOTSUPP                                      = 130
   108  	EOVERFLOW                                       = 132
   109  	EOWNERDEAD                                      = 133
   110  	EPERM                                           = 1
   111  	EPIPE                                           = 32
   112  	EPROTO                                          = 134
   113  	EPROTONOSUPPORT                                 = 135
   114  	EPROTOTYPE                                      = 136
   115  	ERANGE                                          = 34
   116  	EROFS                                           = 30
   117  	ESPIPE                                          = 29
   118  	ESRCH                                           = 3
   119  	ETIME                                           = 137
   120  	ETIMEDOUT                                       = 138
   121  	ETXTBSY                                         = 139
   122  	EWOULDBLOCK                                     = 140
   123  	EXDEV                                           = 18
   124  	GENERIC_ERRORCHECK_INITIALIZER                  = -2
   125  	GENERIC_INITIALIZER                             = -1
   126  	GENERIC_NORMAL_INITIALIZER                      = -1
   127  	GENERIC_RECURSIVE_INITIALIZER                   = -3
   128  	INT_MAX                                         = 2147483647
   129  	INT_MIN                                         = -2147483648
   130  	LLONG_MAX                                       = 9223372036854775807
   131  	LLONG_MIN                                       = -9223372036854775808
   132  	LONG_LONG_MAX                                   = 9223372036854775807
   133  	LONG_LONG_MIN                                   = -9223372036854775808
   134  	LONG_MAX                                        = 2147483647
   135  	LONG_MIN                                        = -2147483648
   136  	MAX_READ_LOCKS                                  = 2147483646
   137  	MB_LEN_MAX                                      = 1
   138  	MINGW_DDK_H                                     = 0
   139  	MINGW_HAS_DDK_H                                 = 1
   140  	MINGW_HAS_SECURE_API                            = 1
   141  	MINGW_SDK_INIT                                  = 0
   142  	NSIG                                            = 23
   143  	OLD_P_OVERLAY                                   = 2
   144  	PTHREAD_BARRIER_SERIAL_THREAD                   = 1
   145  	PTHREAD_CANCEL_ASYNCHRONOUS                     = 0x02
   146  	PTHREAD_CANCEL_DEFERRED                         = 0
   147  	PTHREAD_CANCEL_DISABLE                          = 0
   148  	PTHREAD_CANCEL_ENABLE                           = 0x01
   149  	PTHREAD_CREATE_DETACHED                         = 0x04
   150  	PTHREAD_CREATE_JOINABLE                         = 0
   151  	PTHREAD_DEFAULT_ATTR                            = 1
   152  	PTHREAD_DESTRUCTOR_ITERATIONS                   = 256
   153  	PTHREAD_EXPLICIT_SCHED                          = 0
   154  	PTHREAD_INHERIT_SCHED                           = 0x08
   155  	PTHREAD_KEYS_MAX                                = 1048576
   156  	PTHREAD_MUTEX_ADAPTIVE_NP                       = 0
   157  	PTHREAD_MUTEX_DEFAULT                           = 0
   158  	PTHREAD_MUTEX_ERRORCHECK                        = 1
   159  	PTHREAD_MUTEX_ERRORCHECK_NP                     = 1
   160  	PTHREAD_MUTEX_FAST_NP                           = 0
   161  	PTHREAD_MUTEX_NORMAL                            = 0
   162  	PTHREAD_MUTEX_PRIVATE                           = 0
   163  	PTHREAD_MUTEX_RECURSIVE                         = 2
   164  	PTHREAD_MUTEX_RECURSIVE_NP                      = 2
   165  	PTHREAD_MUTEX_SHARED                            = 1
   166  	PTHREAD_MUTEX_TIMED_NP                          = 0
   167  	PTHREAD_ONCE_INIT                               = 0
   168  	PTHREAD_PRIO_INHERIT                            = 8
   169  	PTHREAD_PRIO_MULT                               = 32
   170  	PTHREAD_PRIO_NONE                               = 0
   171  	PTHREAD_PRIO_PROTECT                            = 16
   172  	PTHREAD_PROCESS_PRIVATE                         = 0
   173  	PTHREAD_PROCESS_SHARED                          = 1
   174  	PTHREAD_SCOPE_PROCESS                           = 0
   175  	PTHREAD_SCOPE_SYSTEM                            = 0x10
   176  	PTHREAD_THREADS_MAX                             = 2019
   177  	P_DETACH                                        = 4
   178  	P_NOWAIT                                        = 1
   179  	P_NOWAITO                                       = 3
   180  	P_OVERLAY                                       = 2
   181  	P_WAIT                                          = 0
   182  	RWLS_PER_THREAD                                 = 8
   183  	SCHAR_MAX                                       = 127
   184  	SCHAR_MIN                                       = -128
   185  	SCHED_FIFO                                      = 1
   186  	SCHED_MAX                                       = 2
   187  	SCHED_MIN                                       = 0
   188  	SCHED_OTHER                                     = 0
   189  	SCHED_RR                                        = 2
   190  	SEM_NSEMS_MAX                                   = 1024
   191  	SHRT_MAX                                        = 32767
   192  	SHRT_MIN                                        = -32768
   193  	SIGABRT                                         = 22
   194  	SIGABRT2                                        = 22
   195  	SIGABRT_COMPAT                                  = 6
   196  	SIGBREAK                                        = 21
   197  	SIGFPE                                          = 8
   198  	SIGILL                                          = 4
   199  	SIGINT                                          = 2
   200  	SIGSEGV                                         = 11
   201  	SIGTERM                                         = 15
   202  	SIG_BLOCK                                       = 0
   203  	SIG_SETMASK                                     = 2
   204  	SIG_UNBLOCK                                     = 1
   205  	STRUNCATE                                       = 80
   206  	TIMER_ABSTIME                                   = 1
   207  	TIME_UTC                                        = 1
   208  	UCHAR_MAX                                       = 255
   209  	UINT_MAX                                        = 4294967295
   210  	ULLONG_MAX                                      = 18446744073709551615
   211  	ULONG_LONG_MAX                                  = 18446744073709551615
   212  	ULONG_MAX                                       = 4294967295
   213  	UNALIGNED                                       = 0
   214  	USE___UUIDOF                                    = 0
   215  	USHRT_MAX                                       = 65535
   216  	WAIT_CHILD                                      = 0
   217  	WAIT_GRANDCHILD                                 = 1
   218  	WIN32                                           = 1
   219  	WIN64                                           = 1
   220  	WINNT                                           = 1
   221  	WINPTHREAD_API                                  = 0
   222  	WIN_PTHREADS_H                                  = 0
   223  	WIN_PTHREADS_PTHREAD_COMPAT_H                   = 0
   224  	WIN_PTHREADS_SIGNAL_H                           = 0
   225  	WIN_PTHREADS_TIME_H                             = 0
   226  	WIN_PTHREADS_UNISTD_H                           = 0
   227  	X_AGLOBAL                                       = 0
   228  	X_ANONYMOUS_STRUCT                              = 0
   229  	X_ANONYMOUS_UNION                               = 0
   230  	X_ARGMAX                                        = 100
   231  	X_ARM64_                                        = 1
   232  	X_CLOCK_T_DEFINED                               = 0
   233  	X_CONST_RETURN                                  = 0
   234  	X_CRTNOALIAS                                    = 0
   235  	X_CRTRESTRICT                                   = 0
   236  	X_CRT_ALTERNATIVE_IMPORTED                      = 0
   237  	X_CRT_ERRNO_DEFINED                             = 0
   238  	X_CRT_GETPID_DEFINED                            = 0
   239  	X_CRT_MANAGED_HEAP_DEPRECATE                    = 0
   240  	X_CRT_PACKING                                   = 8
   241  	X_CRT_SECURE_CPP_OVERLOAD_SECURE_NAMES          = 0
   242  	X_CRT_SECURE_CPP_OVERLOAD_SECURE_NAMES_MEMORY   = 0
   243  	X_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES        = 0
   244  	X_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_COUNT  = 0
   245  	X_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_MEMORY = 0
   246  	X_CRT_SYSTEM_DEFINED                            = 0
   247  	X_CRT_TERMINATE_DEFINED                         = 0
   248  	X_CRT_USE_WINAPI_FAMILY_DESKTOP_APP             = 0
   249  	X_CRT_WSYSTEM_DEFINED                           = 0
   250  	X_DEV_T_DEFINED                                 = 0
   251  	X_DLL                                           = 0
   252  	X_ERRCODE_DEFINED                               = 0
   253  	X_FILE_OFFSET_BITS                              = 64
   254  	X_FILE_OFFSET_BITS_SET_OFFT                     = 0
   255  	X_GCC_LIMITS_H_                                 = 0
   256  	X_GTHREAD_USE_MUTEX_INIT_FUNC                   = 1
   257  	X_INC_CORECRT                                   = 0
   258  	X_INC_CORECRT_STARTUP                           = 0
   259  	X_INC_CRTDEFS                                   = 0
   260  	X_INC_CRTDEFS_MACRO                             = 0
   261  	X_INC_ERRNO                                     = 0
   262  	X_INC_MINGW_SECAPI                              = 0
   263  	X_INC_PROCESS                                   = 0
   264  	X_INC_SIGNAL                                    = 0
   265  	X_INC_TYPES                                     = 0
   266  	X_INC_VADEFS                                    = 0
   267  	X_INC_WTIME_INL                                 = 0
   268  	X_INC_WTIME_S_INL                               = 0
   269  	X_INC__MINGW_H                                  = 0
   270  	X_INO_T_DEFINED                                 = 0
   271  	X_INT128_DEFINED                                = 0
   272  	X_INTPTR_T_DEFINED                              = 0
   273  	X_MODE_T_                                       = 0
   274  	X_MT                                            = 0
   275  	X_M_ARM64                                       = 1
   276  	X_OFF64_T_DEFINED                               = 0
   277  	X_OFF_T_                                        = 0
   278  	X_OFF_T_DEFINED                                 = 0
   279  	X_OLD_P_OVERLAY                                 = 2
   280  	X_PGLOBAL                                       = 0
   281  	X_PID_T_                                        = 0
   282  	X_POSIX_BARRIERS                                = 200112
   283  	X_POSIX_CLOCK_SELECTION                         = 200112
   284  	X_POSIX_CPUTIME                                 = 200809
   285  	X_POSIX_MONOTONIC_CLOCK                         = 200809
   286  	X_POSIX_READER_WRITER_LOCKS                     = 200112
   287  	X_POSIX_SEMAPHORES                              = 200112
   288  	X_POSIX_SEM_NSEMS_MAX                           = 256
   289  	X_POSIX_SPIN_LOCKS                              = 200112
   290  	X_POSIX_THREADS                                 = 200112
   291  	X_POSIX_THREAD_CPUTIME                          = 200809
   292  	X_POSIX_THREAD_DESTRUCTOR_ITERATIONS            = 256
   293  	X_POSIX_THREAD_KEYS_MAX                         = 1048576
   294  	X_POSIX_TIMEOUTS                                = 200112
   295  	X_POSIX_TIMERS                                  = 200809
   296  	X_PTRDIFF_T                                     = 0
   297  	X_PTRDIFF_T_                                    = 0
   298  	X_PTRDIFF_T_DEFINED                             = 0
   299  	X_P_DETACH                                      = 4
   300  	X_P_NOWAIT                                      = 1
   301  	X_P_NOWAITO                                     = 3
   302  	X_P_OVERLAY                                     = 2
   303  	X_P_WAIT                                        = 0
   304  	X_RSIZE_T_DEFINED                               = 0
   305  	X_SECURECRT_ERRCODE_VALUES_DEFINED              = 0
   306  	X_SECURECRT_FILL_BUFFER_PATTERN                 = 0xFD
   307  	X_SIGSET_T_                                     = 0
   308  	X_SIG_ATOMIC_T_DEFINED                          = 0
   309  	X_SIZE_T                                        = 0
   310  	X_SIZE_T_DEFINED                                = 0
   311  	X_SPAWNV_DEFINED                                = 0
   312  	X_SSIZE_T_DEFINED                               = 0
   313  	X_TAGLC_ID_DEFINED                              = 0
   314  	X_THREADLOCALEINFO                              = 0
   315  	X_TIME32_T_DEFINED                              = 0
   316  	X_TIME64_T_DEFINED                              = 0
   317  	X_TIMEB_DEFINED                                 = 0
   318  	X_TIMEB_H_                                      = 0
   319  	X_TIMEB_H_S                                     = 0
   320  	X_TIMESPEC_DEFINED                              = 0
   321  	X_TIMEVAL_DEFINED                               = 0
   322  	X_TIMEZONE_DEFINED                              = 0
   323  	X_TIME_H_                                       = 0
   324  	X_TIME_T_DEFINED                                = 0
   325  	X_TM_DEFINED                                    = 0
   326  	X_UCRT                                          = 0
   327  	X_UINTPTR_T_DEFINED                             = 0
   328  	X_VA_LIST_DEFINED                               = 0
   329  	X_W64                                           = 0
   330  	X_WAIT_CHILD                                    = 0
   331  	X_WAIT_GRANDCHILD                               = 1
   332  	X_WCHAR_T                                       = 0
   333  	X_WCHAR_T_DEFINED                               = 0
   334  	X_WCTYPE_T_DEFINED                              = 0
   335  	X_WEXEC_DEFINED                                 = 0
   336  	X_WIN32                                         = 1
   337  	X_WIN32_WINNT                                   = 0x601
   338  	X_WIN64                                         = 1
   339  	X_WINT_T                                        = 0
   340  	X_WSPAWN_DEFINED                                = 0
   341  	X_WTIME_DEFINED                                 = 0
   342  )
   343  
   344  type Ptrdiff_t = int64 /* <builtin>:3:26 */
   345  
   346  type Size_t = uint64 /* <builtin>:9:23 */
   347  
   348  type Wchar_t = uint16 /* <builtin>:15:24 */
   349  
   350  type X__int128_t = struct {
   351  	Flo int64
   352  	Fhi int64
   353  } /* <builtin>:21:43 */ // must match modernc.org/mathutil.Int128
   354  type X__uint128_t = struct {
   355  	Flo uint64
   356  	Fhi uint64
   357  } /* <builtin>:22:44 */ // must match modernc.org/mathutil.Int128
   358  
   359  type X__builtin_va_list = uintptr /* <builtin>:46:14 */
   360  type X__float128 = float64        /* <builtin>:47:21 */
   361  
   362  type Va_list = X__builtin_va_list /* <builtin>:50:27 */
   363  
   364  // ===---- __stddef_max_align_t.h - Definition of max_align_t for modules ---===
   365  //
   366  // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
   367  // See https://llvm.org/LICENSE.txt for license information.
   368  // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
   369  //
   370  //===-----------------------------------------------------------------------===
   371  
   372  // Define 'max_align_t' to match the GCC definition.
   373  type Max_align_t = struct {
   374  	F__clang_max_align_nonce1 int64
   375  	F__clang_max_align_nonce2 float64
   376  } /* __stddef_max_align_t.h:24:3 */
   377  
   378  // Some C libraries expect to see a wint_t here. Others (notably MinGW) will use
   379  // __WINT_TYPE__ directly; accommodate both by requiring __need_wint_t
   380  
   381  // *
   382  // This file has no copyright assigned and is placed in the Public Domain.
   383  // This file is part of the mingw-w64 runtime package.
   384  // No warranty is given; refer to the file DISCLAIMER.PD within this package.
   385  
   386  // *
   387  // This file has no copyright assigned and is placed in the Public Domain.
   388  // This file is part of the mingw-w64 runtime package.
   389  // No warranty is given; refer to the file DISCLAIMER.PD within this package.
   390  
   391  // *
   392  // This file has no copyright assigned and is placed in the Public Domain.
   393  // This file is part of the mingw-w64 runtime package.
   394  // No warranty is given; refer to the file DISCLAIMER.PD within this package.
   395  
   396  // *
   397  // This file has no copyright assigned and is placed in the Public Domain.
   398  // This file is part of the mingw-w64 runtime package.
   399  // No warranty is given; refer to the file DISCLAIMER.PD within this package.
   400  
   401  // *
   402  // This file has no copyright assigned and is placed in the Public Domain.
   403  // This file is part of the mingw-w64 runtime package.
   404  // No warranty is given; refer to the file DISCLAIMER.PD within this package.
   405  
   406  // This macro holds an monotonic increasing value, which indicates
   407  //    a specific fix/patch is present on trunk.  This value isn't related to
   408  //    minor/major version-macros.  It is increased on demand, if a big
   409  //    fix was applied to trunk.  This macro gets just increased on trunk.  For
   410  //    other branches its value won't be modified.
   411  
   412  // mingw.org's version macros: these make gcc to define
   413  //    MINGW32_SUPPORTS_MT_EH and to use the _CRT_MT global
   414  //    and the __mingwthr_key_dtor() function from the MinGW
   415  //    CRT in its private gthr-win32.h header.
   416  
   417  // Set VC specific compiler target macros.
   418  
   419  // MS does not prefix symbols by underscores for 64-bit.
   420  // As we have to support older gcc version, which are using underscores
   421  //       as symbol prefix for x64, we have to check here for the user label
   422  //       prefix defined by gcc.
   423  
   424  // Special case nameless struct/union.
   425  
   426  // MinGW-w64 has some additional C99 printf/scanf feature support.
   427  //    So we add some helper macros to ease recognition of them.
   428  
   429  // If _FORTIFY_SOURCE is enabled, some inline functions may use
   430  //    __builtin_va_arg_pack().  GCC may report an error if the address
   431  //    of such a function is used.  Set _FORTIFY_VA_ARG=0 in this case.
   432  
   433  // Enable workaround for ABI incompatibility on affected platforms
   434  
   435  // *
   436  // This file has no copyright assigned and is placed in the Public Domain.
   437  // This file is part of the mingw-w64 runtime package.
   438  // No warranty is given; refer to the file DISCLAIMER.PD within this package.
   439  
   440  // http://msdn.microsoft.com/en-us/library/ms175759%28v=VS.100%29.aspx
   441  // Templates won't work in C, will break if secure API is not enabled, disabled
   442  
   443  // https://blogs.msdn.com/b/sdl/archive/2010/02/16/vc-2010-and-memcpy.aspx?Redirected=true
   444  // fallback on default implementation if we can't know the size of the destination
   445  
   446  // Include _cygwin.h if we're building a Cygwin application.
   447  
   448  // Target specific macro replacement for type "long".  In the Windows API,
   449  //    the type long is always 32 bit, even if the target is 64 bit (LLP64).
   450  //    On 64 bit Cygwin, the type long is 64 bit (LP64).  So, to get the right
   451  //    sized definitions and declarations, all usage of type long in the Windows
   452  //    headers have to be replaced by the below defined macro __LONG32.
   453  
   454  // C/C++ specific language defines.
   455  
   456  // Note the extern. This is needed to work around GCC's
   457  // limitations in handling dllimport attribute.
   458  
   459  // Attribute `nonnull' was valid as of gcc 3.3.  We don't use GCC's
   460  //    variadiac macro facility, because variadic macros cause syntax
   461  //    errors with  --traditional-cpp.
   462  
   463  //  High byte is the major version, low byte is the minor.
   464  
   465  // Allow both 0x1400 and 0xE00 to identify UCRT
   466  
   467  // ===-------- vadefs.h ---------------------------------------------------===
   468  //
   469  // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
   470  // See https://llvm.org/LICENSE.txt for license information.
   471  // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
   472  //
   473  //===-----------------------------------------------------------------------===
   474  
   475  // Only include this if we are aiming for MSVC compatibility.
   476  // *
   477  // This file has no copyright assigned and is placed in the Public Domain.
   478  // This file is part of the mingw-w64 runtime package.
   479  // No warranty is given; refer to the file DISCLAIMER.PD within this package.
   480  
   481  // *
   482  // This file has no copyright assigned and is placed in the Public Domain.
   483  // This file is part of the mingw-w64 runtime package.
   484  // No warranty is given; refer to the file DISCLAIMER.PD within this package.
   485  
   486  // for backward compatibility
   487  
   488  type X__gnuc_va_list = X__builtin_va_list /* vadefs.h:24:29 */
   489  
   490  type Ssize_t = int64 /* corecrt.h:45:35 */
   491  
   492  type Rsize_t = Size_t /* corecrt.h:52:16 */
   493  
   494  type Intptr_t = int64 /* corecrt.h:62:35 */
   495  
   496  type Uintptr_t = uint64 /* corecrt.h:75:44 */
   497  
   498  type Wint_t = uint16   /* corecrt.h:106:24 */
   499  type Wctype_t = uint16 /* corecrt.h:107:24 */
   500  
   501  type Errno_t = int32 /* corecrt.h:113:13 */
   502  
   503  type X__time32_t = int32 /* corecrt.h:118:14 */
   504  
   505  type X__time64_t = int64 /* corecrt.h:123:35 */
   506  
   507  type Time_t = X__time64_t /* corecrt.h:138:20 */
   508  
   509  type Threadlocaleinfostruct = struct {
   510  	F_locale_pctype      uintptr
   511  	F_locale_mb_cur_max  int32
   512  	F_locale_lc_codepage uint32
   513  } /* corecrt.h:430:1 */
   514  
   515  type Pthreadlocinfo = uintptr /* corecrt.h:432:39 */
   516  type Pthreadmbcinfo = uintptr /* corecrt.h:433:36 */
   517  
   518  type Localeinfo_struct = struct {
   519  	Flocinfo Pthreadlocinfo
   520  	Fmbcinfo Pthreadmbcinfo
   521  } /* corecrt.h:436:9 */
   522  
   523  type X_locale_tstruct = Localeinfo_struct /* corecrt.h:439:3 */
   524  type X_locale_t = uintptr                 /* corecrt.h:439:19 */
   525  
   526  type TagLC_ID = struct {
   527  	FwLanguage uint16
   528  	FwCountry  uint16
   529  	FwCodePage uint16
   530  } /* corecrt.h:443:9 */
   531  
   532  type LC_ID = TagLC_ID  /* corecrt.h:447:3 */
   533  type LPLC_ID = uintptr /* corecrt.h:447:9 */
   534  
   535  type Threadlocinfo = Threadlocaleinfostruct /* corecrt.h:482:3 */
   536  
   537  // Posix thread extensions.
   538  
   539  // Extension defined as by report VC 10+ defines error-numbers.
   540  
   541  // Defined as WSAETIMEDOUT.
   542  
   543  // *
   544  // This file has no copyright assigned and is placed in the Public Domain.
   545  // This file is part of the mingw-w64 runtime package.
   546  // No warranty is given; refer to the file DISCLAIMER.PD within this package.
   547  
   548  // *
   549  // This file has no copyright assigned and is placed in the Public Domain.
   550  // This file is part of the mingw-w64 runtime package.
   551  // No warranty is given; refer to the file DISCLAIMER.PD within this package.
   552  
   553  type X_ino_t = uint16 /* types.h:43:24 */
   554  type Ino_t = uint16   /* types.h:45:24 */
   555  
   556  type X_dev_t = uint32 /* types.h:51:22 */
   557  type Dev_t = uint32   /* types.h:53:22 */
   558  
   559  type X_pid_t = int64 /* types.h:63:17 */
   560  
   561  type Pid_t = X_pid_t /* types.h:68:16 */
   562  
   563  type X_mode_t = uint16 /* types.h:74:24 */
   564  
   565  type Mode_t = X_mode_t /* types.h:77:17 */
   566  
   567  type X_off_t = int32 /* _mingw_off_t.h:5:16 */
   568  type Off32_t = int32 /* _mingw_off_t.h:7:16 */
   569  
   570  type X_off64_t = int64 /* _mingw_off_t.h:13:39 */
   571  type Off64_t = int64   /* _mingw_off_t.h:15:39 */
   572  
   573  type Off_t = Off64_t /* _mingw_off_t.h:24:17 */
   574  
   575  type Useconds_t = uint32 /* types.h:84:22 */
   576  
   577  type Timespec = struct {
   578  	Ftv_sec      Time_t
   579  	Ftv_nsec     int32
   580  	F__ccgo_pad1 [4]byte
   581  } /* types.h:89:1 */
   582  
   583  type Itimerspec = struct {
   584  	Fit_interval struct {
   585  		Ftv_sec      Time_t
   586  		Ftv_nsec     int32
   587  		F__ccgo_pad1 [4]byte
   588  	}
   589  	Fit_value struct {
   590  		Ftv_sec      Time_t
   591  		Ftv_nsec     int32
   592  		F__ccgo_pad1 [4]byte
   593  	}
   594  } /* types.h:94:1 */
   595  
   596  type X_sigset_t = uint64 /* types.h:104:28 */
   597  
   598  type X_PVFV = uintptr /* corecrt_startup.h:20:14 */
   599  type X_PIFV = uintptr /* corecrt_startup.h:21:13 */
   600  type X_PVFI = uintptr /* corecrt_startup.h:22:14 */
   601  
   602  type X_onexit_table_t1 = struct {
   603  	F_first uintptr
   604  	F_last  uintptr
   605  	F_end   uintptr
   606  } /* corecrt_startup.h:24:9 */
   607  
   608  type X_onexit_table_t = X_onexit_table_t1 /* corecrt_startup.h:28:3 */
   609  
   610  type X_onexit_t = uintptr /* corecrt_startup.h:30:13 */
   611  
   612  // Includes a definition of _pid_t and pid_t
   613  // *
   614  // This file has no copyright assigned and is placed in the Public Domain.
   615  // This file is part of the mingw-w64 runtime package.
   616  // No warranty is given; refer to the file DISCLAIMER.PD within this package.
   617  
   618  type X_beginthread_proc_type = uintptr   /* process.h:32:16 */
   619  type X_beginthreadex_proc_type = uintptr /* process.h:33:20 */
   620  
   621  type X_tls_callback_type = uintptr /* process.h:64:16 */
   622  
   623  //===---- limits.h - Standard header for integer sizes --------------------===* *
   624  //  Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
   625  //  See https://llvm.org/LICENSE.txt for license information.
   626  //  SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
   627  //
   628  // \*===----------------------------------------------------------------------===
   629  
   630  // The system's limits.h may, in turn, try to #include_next GCC's limits.h.
   631  //    Avert this #include_next madness.
   632  
   633  // System headers include a number of constants from POSIX in <limits.h>.
   634  //    Include it if we're hosted.
   635  
   636  // Many system headers try to "help us out" by defining these.  No really, we
   637  //    know how big each datatype is.
   638  
   639  // C90/99 5.2.4.2.1
   640  
   641  // C2x 5.2.4.2.1
   642  // FIXME: This is using the placeholder dates Clang produces for these macros
   643  //    in C2x mode; switch to the correct values once they've been published.
   644  
   645  // C99 5.2.4.2.1: Added long long.
   646  //    C++11 18.3.3.2: same contents as the Standard C Library header <limits.h>.
   647  //
   648  
   649  // LONG_LONG_MIN/LONG_LONG_MAX/ULONG_LONG_MAX are a GNU extension.  It's too bad
   650  //    that we don't have something like #pragma poison that could be used to
   651  //    deprecate a macro - the code should just use LLONG_MAX and friends.
   652  //
   653  
   654  // *
   655  // This file has no copyright assigned and is placed in the Public Domain.
   656  // This file is part of the mingw-w64 runtime package.
   657  // No warranty is given; refer to the file DISCLAIMER.PD within this package.
   658  
   659  // *
   660  // This file has no copyright assigned and is placed in the Public Domain.
   661  // This file is part of the mingw-w64 runtime package.
   662  // No warranty is given; refer to the file DISCLAIMER.PD within this package.
   663  
   664  //
   665  //    Copyright (c) 2013-2016  mingw-w64 project
   666  //
   667  //    Permission is hereby granted, free of charge, to any person obtaining a
   668  //    copy of this software and associated documentation files (the "Software"),
   669  //    to deal in the Software without restriction, including without limitation
   670  //    the rights to use, copy, modify, merge, publish, distribute, sublicense,
   671  //    and/or sell copies of the Software, and to permit persons to whom the
   672  //    Software is furnished to do so, subject to the following conditions:
   673  //
   674  //    The above copyright notice and this permission notice shall be included in
   675  //    all copies or substantial portions of the Software.
   676  //
   677  //    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
   678  //    IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
   679  //    FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
   680  //    AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
   681  //    LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
   682  //    FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
   683  //    DEALINGS IN THE SOFTWARE.
   684  
   685  // Windows has rudimentary signals support.
   686  
   687  type Sig_atomic_t = int32 /* signal.h:18:15 */
   688  
   689  type X__p_sig_fn_t = uintptr /* signal.h:48:16 */
   690  
   691  // *
   692  // This file has no copyright assigned and is placed in the Public Domain.
   693  // This file is part of the mingw-w64 runtime package.
   694  // No warranty is given; refer to the file DISCLAIMER.PD within this package.
   695  
   696  // *
   697  // This file has no copyright assigned and is placed in the Public Domain.
   698  // This file is part of the mingw-w64 runtime package.
   699  // No warranty is given; refer to the file DISCLAIMER.PD within this package.
   700  
   701  // Adding timespec definition.
   702  // *
   703  // This file has no copyright assigned and is placed in the Public Domain.
   704  // This file is part of the mingw-w64 runtime package.
   705  // No warranty is given; refer to the file DISCLAIMER.PD within this package.
   706  
   707  // *
   708  // This file has no copyright assigned and is placed in the Public Domain.
   709  // This file is part of the mingw-w64 runtime package.
   710  // No warranty is given; refer to the file DISCLAIMER.PD within this package.
   711  
   712  type X__timeb32 = struct {
   713  	Ftime        X__time32_t
   714  	Fmillitm     uint16
   715  	Ftimezone    int16
   716  	Fdstflag     int16
   717  	F__ccgo_pad1 [2]byte
   718  } /* timeb.h:53:3 */
   719  
   720  type Timeb = struct {
   721  	Ftime        Time_t
   722  	Fmillitm     uint16
   723  	Ftimezone    int16
   724  	Fdstflag     int16
   725  	F__ccgo_pad1 [2]byte
   726  } /* timeb.h:61:3 */
   727  
   728  type X__timeb64 = struct {
   729  	Ftime        X__time64_t
   730  	Fmillitm     uint16
   731  	Ftimezone    int16
   732  	Fdstflag     int16
   733  	F__ccgo_pad1 [2]byte
   734  } /* timeb.h:69:3 */
   735  
   736  type X_timespec32 = struct {
   737  	Ftv_sec  X__time32_t
   738  	Ftv_nsec int32
   739  } /* timeb.h:89:1 */
   740  
   741  type X_timespec64 = struct {
   742  	Ftv_sec      X__time64_t
   743  	Ftv_nsec     int32
   744  	F__ccgo_pad1 [4]byte
   745  } /* timeb.h:94:1 */
   746  
   747  type Clock_t = int32 /* time.h:63:16 */
   748  
   749  type Tm = struct {
   750  	Ftm_sec   int32
   751  	Ftm_min   int32
   752  	Ftm_hour  int32
   753  	Ftm_mday  int32
   754  	Ftm_mon   int32
   755  	Ftm_year  int32
   756  	Ftm_wday  int32
   757  	Ftm_yday  int32
   758  	Ftm_isdst int32
   759  } /* time.h:100:3 */
   760  
   761  var Xdaylight int32    /* time.h:275:22: */
   762  var Xtimezone int32    /* time.h:276:23: */
   763  var Xtzname [2]uintptr /* time.h:277:23: */
   764  
   765  // *
   766  // This file has no copyright assigned and is placed in the Public Domain.
   767  // This file is part of the mingw-w64 runtime package.
   768  // No warranty is given; refer to the file DISCLAIMER.PD within this package.
   769  
   770  type Timeval = struct {
   771  	Ftv_sec  int32
   772  	Ftv_usec int32
   773  } /* _timeval.h:10:1 */
   774  
   775  type Timezone = struct {
   776  	Ftz_minuteswest int32
   777  	Ftz_dsttime     int32
   778  } /* time.h:285:1 */
   779  
   780  // POSIX 2008 says clock_gettime and timespec are defined in time.h header,
   781  //    but other systems - like Linux, Solaris, etc - tend to declare such
   782  //    recent extensions only if the following guards are met.
   783  //
   784  //    Copyright (c) 2011-2016  mingw-w64 project
   785  //
   786  //    Permission is hereby granted, free of charge, to any person obtaining a
   787  //    copy of this software and associated documentation files (the "Software"),
   788  //    to deal in the Software without restriction, including without limitation
   789  //    the rights to use, copy, modify, merge, publish, distribute, sublicense,
   790  //    and/or sell copies of the Software, and to permit persons to whom the
   791  //    Software is furnished to do so, subject to the following conditions:
   792  //
   793  //    The above copyright notice and this permission notice shall be included in
   794  //    all copies or substantial portions of the Software.
   795  //
   796  //    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
   797  //    IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
   798  //    FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
   799  //    AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
   800  //    LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
   801  //    FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
   802  //    DEALINGS IN THE SOFTWARE.
   803  
   804  // *
   805  // This file has no copyright assigned and is placed in the Public Domain.
   806  // This file is part of the mingw-w64 runtime package.
   807  // No warranty is given; refer to the file DISCLAIMER.PD within this package.
   808  
   809  // Posix timers are supported
   810  
   811  // Monotonic clocks are available.
   812  
   813  // CPU-time clocks are available.
   814  
   815  // Clock support in threads are available.
   816  
   817  type Clockid_t = int32 /* pthread_time.h:49:13 */
   818  
   819  // maximum number of times a read lock may be obtained
   820  
   821  // No fork() in windows - so ignore this
   822  
   823  // unsupported stuff:
   824  
   825  type Pthread_once_t = int32          /* pthread.h:181:14 */
   826  type Pthread_mutexattr_t = uint32    /* pthread.h:182:18 */
   827  type Pthread_key_t = uint32          /* pthread.h:183:18 */
   828  type Pthread_barrierattr_t = uintptr /* pthread.h:184:14 */
   829  type Pthread_condattr_t = int32      /* pthread.h:185:13 */
   830  type Pthread_rwlockattr_t = int32    /* pthread.h:186:13 */
   831  
   832  //
   833  // struct _pthread_v;
   834  //
   835  // typedef struct pthread_t {
   836  //   struct _pthread_v *p;
   837  //   int x;
   838  // } pthread_t;
   839  
   840  type Pthread_t = Uintptr_t /* pthread.h:197:19 */
   841  
   842  type X_pthread_cleanup1 = struct {
   843  	Ffunc uintptr
   844  	Farg  uintptr
   845  	Fnext uintptr
   846  } /* pthread.h:199:9 */
   847  
   848  type X_pthread_cleanup = X_pthread_cleanup1 /* pthread.h:199:33 */
   849  
   850  // Note that if async cancelling is used, then there is a race here
   851  
   852  // Some POSIX realtime extensions, mostly stubbed
   853  
   854  type Sched_param = struct{ Fsched_priority int32 } /* pthread.h:226:1 */
   855  
   856  type Pthread_attr_t1 = struct {
   857  	Fp_state     uint32
   858  	F__ccgo_pad1 [4]byte
   859  	Fstack       uintptr
   860  	Fs_size      Size_t
   861  	Fparam       struct{ Fsched_priority int32 }
   862  	F__ccgo_pad2 [4]byte
   863  } /* pthread.h:238:9 */
   864  
   865  type Pthread_attr_t = Pthread_attr_t1 /* pthread.h:238:31 */
   866  
   867  // synchronization objects
   868  type Pthread_spinlock_t = Intptr_t /* pthread.h:255:18 */
   869  type Pthread_mutex_t = Intptr_t    /* pthread.h:256:18 */
   870  type Pthread_cond_t = Intptr_t     /* pthread.h:257:18 */
   871  type Pthread_rwlock_t = Intptr_t   /* pthread.h:258:18 */
   872  type Pthread_barrier_t = uintptr   /* pthread.h:259:14 */
   873  
   874  //
   875  //    Copyright (c) 2011-2016  mingw-w64 project
   876  //
   877  //    Permission is hereby granted, free of charge, to any person obtaining a
   878  //    copy of this software and associated documentation files (the "Software"),
   879  //    to deal in the Software without restriction, including without limitation
   880  //    the rights to use, copy, modify, merge, publish, distribute, sublicense,
   881  //    and/or sell copies of the Software, and to permit persons to whom the
   882  //    Software is furnished to do so, subject to the following conditions:
   883  //
   884  //    The above copyright notice and this permission notice shall be included in
   885  //    all copies or substantial portions of the Software.
   886  //
   887  //    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
   888  //    IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
   889  //    FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
   890  //    AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
   891  //    LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
   892  //    FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
   893  //    DEALINGS IN THE SOFTWARE.
   894  
   895  // Set defines described by the POSIX Threads Extension (1003.1c-1995)
   896  // _SC_THREADS
   897  //   Basic support for POSIX threads is available. The functions
   898  //
   899  //   pthread_atfork(),
   900  //   pthread_attr_destroy(),
   901  //   pthread_attr_getdetachstate(),
   902  //   pthread_attr_getschedparam(),
   903  //   pthread_attr_init(),
   904  //   pthread_attr_setdetachstate(),
   905  //   pthread_attr_setschedparam(),
   906  //   pthread_cancel(),
   907  //   pthread_cleanup_push(),
   908  //   pthread_cleanup_pop(),
   909  //   pthread_cond_broadcast(),
   910  //   pthread_cond_destroy(),
   911  //   pthread_cond_init(),
   912  //   pthread_cond_signal(),
   913  //   pthread_cond_timedwait(),
   914  //   pthread_cond_wait(),
   915  //   pthread_condattr_destroy(),
   916  //   pthread_condattr_init(),
   917  //   pthread_create(),
   918  //   pthread_detach(),
   919  //   pthread_equal(),
   920  //   pthread_exit(),
   921  //   pthread_getspecific(),
   922  //   pthread_join(,
   923  //   pthread_key_create(),
   924  //   pthread_key_delete(),
   925  //   pthread_mutex_destroy(),
   926  //   pthread_mutex_init(),
   927  //   pthread_mutex_lock(),
   928  //   pthread_mutex_trylock(),
   929  //   pthread_mutex_unlock(),
   930  //   pthread_mutexattr_destroy(),
   931  //   pthread_mutexattr_init(),
   932  //   pthread_once(),
   933  //   pthread_rwlock_destroy(),
   934  //   pthread_rwlock_init(),
   935  //   pthread_rwlock_rdlock(),
   936  //   pthread_rwlock_tryrdlock(),
   937  //   pthread_rwlock_trywrlock(),
   938  //   pthread_rwlock_unlock(),
   939  //   pthread_rwlock_wrlock(),
   940  //   pthread_rwlockattr_destroy(),
   941  //   pthread_rwlockattr_init(),
   942  //   pthread_self(),
   943  //   pthread_setcancelstate(),
   944  //   pthread_setcanceltype(),
   945  //   pthread_setspecific(),
   946  //   pthread_testcancel()
   947  //
   948  //   are present.
   949  
   950  // _SC_READER_WRITER_LOCKS
   951  //   This option implies the _POSIX_THREADS option. Conversely, under
   952  //   POSIX 1003.1-2001 the _POSIX_THREADS option implies this option.
   953  //
   954  //   The functions
   955  //   pthread_rwlock_destroy(),
   956  //   pthread_rwlock_init(),
   957  //   pthread_rwlock_rdlock(),
   958  //   pthread_rwlock_tryrdlock(),
   959  //   pthread_rwlock_trywrlock(),
   960  //   pthread_rwlock_unlock(),
   961  //   pthread_rwlock_wrlock(),
   962  //   pthread_rwlockattr_destroy(),
   963  //   pthread_rwlockattr_init()
   964  //
   965  //   are present.
   966  
   967  // _SC_SPIN_LOCKS
   968  //   This option implies the _POSIX_THREADS and _POSIX_THREAD_SAFE_FUNCTIONS
   969  //   options. The functions
   970  //
   971  //   pthread_spin_destroy(),
   972  //   pthread_spin_init(),
   973  //   pthread_spin_lock(),
   974  //   pthread_spin_trylock(),
   975  //   pthread_spin_unlock()
   976  //
   977  //   are present.
   978  
   979  // _SC_BARRIERS
   980  //   This option implies the _POSIX_THREADS and _POSIX_THREAD_SAFE_FUNCTIONS
   981  //   options. The functions
   982  //
   983  //   pthread_barrier_destroy(),
   984  //   pthread_barrier_init(),
   985  //   pthread_barrier_wait(),
   986  //   pthread_barrierattr_destroy(),
   987  //   pthread_barrierattr_init()
   988  //
   989  //   are present.
   990  
   991  // _SC_TIMEOUTS
   992  //   The functions
   993  //
   994  //   mq_timedreceive(), - not supported
   995  //   mq_timedsend(), - not supported
   996  //   posix_trace_timedgetnext_event(), - not supported
   997  //   pthread_mutex_timedlock(),
   998  //   pthread_rwlock_timedrdlock(),
   999  //   pthread_rwlock_timedwrlock(),
  1000  //   sem_timedwait(),
  1001  //
  1002  //   are present.
  1003  
  1004  // _SC_TIMERS - not supported
  1005  //   The functions
  1006  //
  1007  //   clock_getres(),
  1008  //   clock_gettime(),
  1009  //   clock_settime(),
  1010  //   nanosleep(),
  1011  //   timer_create(),
  1012  //   timer_delete(),
  1013  //   timer_gettime(),
  1014  //   timer_getoverrun(),
  1015  //   timer_settime()
  1016  //
  1017  //   are present.
  1018  // #undef _POSIX_TIMERS
  1019  
  1020  // _SC_CLOCK_SELECTION
  1021  //    This option implies the _POSIX_TIMERS option. The functions
  1022  //
  1023  //    pthread_condattr_getclock(),
  1024  //    pthread_condattr_setclock(),
  1025  //    clock_nanosleep()
  1026  //
  1027  //    are present.
  1028  
  1029  // _SC_SEMAPHORES
  1030  //   The include file <semaphore.h> is present. The functions
  1031  //
  1032  //   sem_close(),
  1033  //   sem_destroy(),
  1034  //   sem_getvalue(),
  1035  //   sem_init(),
  1036  //   sem_open(),
  1037  //   sem_post(),
  1038  //   sem_trywait(),
  1039  //   sem_unlink(),
  1040  //   sem_wait()
  1041  //
  1042  //   are present.
  1043  
  1044  // Wrap cancellation points.
  1045  
  1046  // We deal here with a gcc issue for posix threading on Windows.
  1047  //    We would need to change here gcc's gthr-posix.h header, but this
  1048  //    got rejected.  So we deal it within this header.
  1049  
  1050  var _ int8 /* gen.c:2:13: */